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
✝
|
i­n
❄
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: ∀x­0 ⌊−x⌋ = − ⌈x⌉
Wystarczy dowieść, że
∀n ∀x­0 ⌈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.