Notacja matematyczna — operatory wiążące zmienne n i = n 1 + n 2
Transkrypt
Notacja matematyczna — operatory wiążące zmienne n i = n 1 + n 2
Wykład 7, str. 1 Notacja matematyczna — operatory wiążące zmienne 5 X n i=1 i = n n n n n + + + + 1 2 3 4 5 Zmienna i występuje po lewej stronie równości, a po prawej nie. Czy wartość wyrażenia zależy od wartości zmiennej i? • jeśli NIE, to po co jest napisana? • jeśli TAK, to jak te dwie strony mogą być równe? Odpowiedź: • wartość wyrażenia nie zależy od wartości zmiennej związanej, wyP stępującej pod ; to nie jest „prawdziwa” zmienna; np. można jej 5 5 X n X n bezkarnie zmienić nazwę: = ; i j i=1 j=1 • zmienna n jest zmienną „prawdziwą”, wolną; od niej zależy wartość 5 5 X n1 X n2 6= . wyrażenia: i i i=1 i=1 Wykład 7, str. 2 Notacja matematyczna — operatory wiążące zmienne Zmienne stojące pod znakiem 100 X j=1 n X j i=1 i ! · n X P są związane; pozostałe zmienne są wolne. (k · j + i) i=1 zakres pierwszej zakres drugiej zakres trzeciej P P P i, k, n ! ·i i zmienna związana pierwszą j zmienna związana pierwszą j zmienna związana trzecią zmienne wolne P P P Wykład 7, str. 3 Notacja matematyczna — operatory wiążące zmienne Kwantyfikatory wiążą zmienne: ∃k n = k−1 X ( 2i − 1 ) i=0 ! n jest kwadratem l-by całkow. ⇐⇒ „Zbiór takich . . . , że . . . ” wiąże zmienne: „Pawie oczko”: n c ∈ C ∃n∈Nr{0} |c − n1 | = — 1 n suma okręgów o = [ n∈Nr{0} ■ n c ∈ C |c − n1 | = 1 n o „indeksowana suma zbiorów” również wiąże zmienne Wykład 7, str. 4 Notacja matematyczna — operatory wiążące zmienne W matematyce występuje wiele operatorów wiążących zmienne (oprócz wyżej wymienionych jeszcze np. całka. . . ). W informatyce też występują mechanizmy wiązania zmiennych. Np. • parametry funkcji, np. n: • zmienne lokalne funkcji, np. s: są związane. int suma (int n ) { // sumuje liczby calkowite // od 0 do n : int s , i; s = 0; for (i=0; i< n ; i++) s = s+i; return s ; } Parametry i zmienne lokalne funkcji nie są widoczne od zewnątrz i można im zmieniać nazwy bez zmiany znaczenia funkcji. Proszę nigdy nie mylić prawdziwej zmiennej wolnej z niewidoczną zmienną związaną. Wykład 7, str. 5 Notacja matematyczna — indukcja ✒ ✻ Żeby się upewnić, że wszystkie klocki się przewrócą, trzeba sprawdzić: • pierwszy klocek się przewróci; • są tak ustawione, że dla każdego n, jeśli n-ty się przewróci, to (n + 1)-szy się przewróci. Przykład: Udowodnić, że 2n n + 1 Przyp. bazowy n = 0: 20 = 1 = 0 + 1 ? Krok indukcyjny n → n + 1: 2n n + 1 ⇒ 2n+1 (n + 1) + 1 2n+1 = 2 · 2n 2 · (n + 1) = 2n + 2 n + 2 = (n + 1) + 1 Wykład 7, str. 6 Notacja matematyczna — indukcja Zasada indukcji matematycznej: P (n) — własność liczby naturalnej n (zasada indukcji:) P (0) ∀n P (n) ⇒ P (n + 1) ∀n P (n) Wykład 7, str. 7 Notacja matematyczna — indukcja Przykład: Udowodnić, że n X i = i=1 Przyp. bazowy n = 0: 0 X n(n + 1) 2 i = 0 = i=1 0(0 + 1) 2 Krok indukcyjny n → n + 1: n X X n(n + 1) ? n+1 (n + 1)(n + 2) i = i = ⇒ 2 2 i=1 i=1 n+1 X n X ! n(n + 1) + (n + 1) 2 i=1 n(n + 1) (n + 1)2 n(n + 1) + (n + 1)2 = + = 2 2 2 (n + 1)(n + 2) = 2 i = i=1 i + (n + 1) = Wykład 7, str. 8 Indukcja a poprawność programów ❄ s←0 j←1 i←0 ✲ ❄ ✞ i<n ✝ | in ❄ s ← s+j ❄ j ← j+2 ❄ i ← i+1 ❄ ☎ ✆ Przykład: M W punkcie po wykonaniu k obrotów pętli mamy i = k ∧ j = 2k + 1 ∧ s = k 2 Przyp. bazowy k = 0: po 0 obrotach, czyli zaraz po inicjalizacji, mamy i = 0 ∧ j = 1 = 2 · 0 + 1 ∧ s = 0 = 02 Krok indukcyjny k → k + 1: zał. że po k obrotach mamy i = k ∧ j = 2k + 1 ∧ s = k 2 trzeba dowieść, że po k + 1 obrotach, nowe wartości zmiennych programu i’, j’ i s’ będą spełniać i’ = k + 1 ∧ j’ = 2(k + 1) + 1 ∧ s’ = (k + 1)2 czyli i’ = k + 1 ∧ j’ = 2k + 3 ∧ s’ = k 2 + (2k + 1) Wykład 7, str. 9 Indukcja w logice filozoficznej Wnioskowanie dedukcyjne: CODZIENNIE WSCHODZI SŁOŃCE ✠ ❘ ❄ 28 XI 2015 wzeszło Słońce 12 XII 2015 wzeszło Słońce 5 XII 2015 wzeszło Słońce Wnioskowanie indukcyjne: CODZIENNIE WSCHODZI SŁOŃCE ✒ ✻ 28 XI 2015 wzeszło Słońce ■ 12 XII 2015 wzeszło Słońce 5 XII 2015 wzeszło Słońce Wykład 7, str. 10 Indukcja w logice filozoficznej Rozumowanie indukcyjne: wyciąganie wniosków ogólnych ze szczególnych przypadków; np. wyprowadzanie praw natury z pojedynczych eksperymentów. Żeby indukcja była poprawną metodą wnioskowania, potrzebne są dodatkowe założenia. Klasyczna indukcja matematyczna jest poprawną metodą wnioskowania o własnościach liczb naturalnych; już dla liczb całkowitych zawodzi. Ale to nie znaczy, że w twierdzeniach dowodzonych przez indukcję mogą występować wyłącznie liczby naturalne. Tylko nie można po nich prowadzić indukcji. Wykład 7, str. 11 Indukcja Przykład: ∀x0 ⌊−x⌋ = − ⌈x⌉ Wystarczy dowieść, że ∀n ∀x0 ⌈x⌉ = n ⇐⇒ ⌊−x⌋ = −n Przyp. bazowy n = 0 : ⌈x⌉ = 0 ⇐⇒ x = 0 ⇐⇒ ⌊−x⌋ = −0 = 0 Krok indukcyjny Skorzystamy z tego, że ⌊x + 1⌋ = ⌊x⌋ + 1 oraz ⌈x + 1⌉ = ⌈x⌉ + 1 n→n+1: ⌈x⌉ = n + 1 ⇐⇒ ⌈x⌉ − 1 = n ⇐⇒ ⌈x − 1⌉ = n ⇐⇒ ⌊−(x − 1)⌋ = −n ⇐⇒ ⌊−x + 1⌋ = −n ⇐⇒ ⌊−x⌋ + 1 = −n ⇐⇒ ⌊−x⌋ = −n − 1 ⇐⇒ ⌊−x⌋ = −(n + 1) Wykład 7, str. 12 Jeszcze trochę filozofii Czy pojęcie nieskończoności ma sens? W świecie fizycznym wszystko jest skończone; np. średnica widzialnego Wszechświata: długość Plancka: liczba dług. Plancka w średnicy Wszechświata liczba objętości Plancka w objętości Wszechświata < 1027 m > 10−35 m < 1062 < (1062 )3 = 10186 To bardzo dużo, ale daleko do nieskończoności. Możemy zwiększać tą liczbę, ale zawsze pozostanie skończona. Potrzebujemy więc nieskończoności potencjalnej czyli „niewyczerpalności” zbiorów liczb; nie potrzebujemy nieskończoności aktualnej, czyli zbiorów naprawdę nieskończonych. W komputerze wszystko jest skończone. Jednak często łatwiej jest rozumować o zbiorach nieskończonych niż o skończonych. Na ogół wystarczy nam nieskończoność potencjalna, niewiększa niż przeliczalna.