INDUKCJA MATEMATYCZNA - fc.put.poznan.plfc.put.poznan.pl/materials/181-indukcja.pdf · Matematyka...
Transcript of INDUKCJA MATEMATYCZNA - fc.put.poznan.plfc.put.poznan.pl/materials/181-indukcja.pdf · Matematyka...
INDUKCJA MATEMATYCZNA
MATEMATYKA DYSKRETNA (2014/2015)
dr hab. inż. Małgorzata Sterna
www.cs.put.poznan.pl/msterna/
FUNKCJA SILNIA
dla n 0, funkcja silnia zdefiniowana jest następująco:
O! = 1
n! = (n)·(n-1)·(n-2)·...·(3)·(2)·(1), dla n 1
definicja rekurencyjna funkcji silnia:
O! = 1
n! = n·(n-1)!, dla n 1
Małgorzata Sterna Matematyka Dyskretna
2
WSPÓŁCZYNNIK DWUMIANOWY
współczynnik dwumianowy
symbol Newtona
n po k
Małgorzata Sterna Matematyka Dyskretna
3
n)yx(
występuje we wzorze na n-tą potęgę dwumianu (x+y)n:
k
n
)!kn(!k
!n
1)...2k)(1k(k
)1kn)...(2n)(1n(n
)yx(...)yx()yx(
n
0k
knkyxk
n
n
3)yx(
3
0k
k3kyxk
3 030yx0
3
131yx
1
3
232yx
2
3
333yx
3
3
3y2xy3 yx3 2 3x
WSPÓŁCZYNNIK DWUMIANOWY
współczynnik dwumianowy („n po k”) określa liczbę
k-elementowych podzbiorów zbioru n-elementowego (kn):
© Małgorzata Sterna Matematyka Dyskretna
4
k...21
)1kn(...)1n(n
!k)!kn(
!n
k
n
Podstawowe tożsamości:
kn
n
k
nreguła symetrii
1k
1n
k
1n
k
nreguła dodawania
k
0s sk
n
s
m
k
nmtożsamość Cauchy’ego
1k
1nn
k
nk reguła pochłaniania
n
0k
knkn yxk
n)yx(
dla x=y=1
nn
0k
2k
n
n
0k
nknk )11(11k
n
WSPÓŁCZYNNIK DWUMIANOWY
Współczynnik dwumianowy występujący we wzorze na n-tą
potęgę dwumianu (x+y):
© Małgorzata Sterna Matematyka Dyskretna
5
określa liczność zbioru potęgowego
(x+y)0 = 1x0y0
(x+y)1 = 1x1y0 + 1x0y1
(x+y)2 = 1x2y0 + 2x1y1 + 1x0y2
(x+y)3 = 1x3y0 + 3x2y1 + 3x1y2 + 1x0y3
(x+y)4 = 1x4y0+ 4x3y1 + 6x2y2 + 4x1y3 + 1x0y4
k
1n
1k
1n
k
n
współczynniki
n-tego wiersza:
n
n
0
n
1n
n
1
n
. . .
TRÓJKĄT PASCALA
obliczanie wartości współczynnika Newtona w oparciu o regułę
dodawania
© Małgorzata Sterna Matematyka Dyskretna
6
(x+y)5 = x5y0+ x4y1+ x3y2 + x2y3 + x1y4 + x0y5
1 5 10 10 5 1
WSPÓŁCZYNNIK WIELOMIANOWY
współczynnik dwumianowy to przykład
współczynnika wielomianowego
Małgorzata Sterna Matematyka Dyskretna
7
r21 k,...,k,k
n
r
1r1
3
21
2
1
1 k
k...kn...
k
kkn
k
kn
k
n
!k...!k!k
!n
r21
występującego w rozwinięciu wielomianu
nr21 )x...xx(
nk...kk0k,...,k,k
r21r21
r21
r21
rk2k1k
x...xxk,...,k,k
n
dla n=k1+k2, k1=k
k
n
k,k
n
21
INDUKCJA MATEMATYCZNA
Indukcja matematyczna, to technika dowodzenia twierdzeń
oparta na specyficznych własnościach liczb całkowitych,
w szczególności na zasadzie dobrego uporządkowania.
Małgorzata Sterna Matematyka Dyskretna
8
ZASADA DOBREGO UPORZĄDKOWANIA
Każdy niepusty podzbiór zbioru liczb całkowitych dodatnich Z+,
zawiera element najmniejszy.
czyli
Zbiór Z+ jest dobrze uporządkowany.
Własność ta oznacz, że
Z+ = {xZ: x > 0} Z+ = {xZ: x 1}
(analogiczną własność posiada każdy podzbiór zbioru liczb
całkowitych, np. zbiór liczb naturalnych N = {xZ: x 0}).
Zbiory np. liczb wymiernych lub rzeczywistych dodatnich
Q+={xQ: x > 0},
R+={xR: x > 0}
nie są dobrze uporządkowane.
Małgorzata Sterna Matematyka Dyskretna
9
ZASADA SKOŃCZONEJ INDUKCJI MATEMATYCZNEJ (PIERWSZA ZASADA INDUKCJI MATEMATYCZNEJ)
Niech S(n) oznacza pewne zdanie otwarte, w którym występuje
zmienna n reprezentująca dodatnią liczbę całkowitą, nZ+.
Jeśli
(1) S(1) jest prawdziwe
i
(2) dla dowolnego kZ+,
S(k+1) jest prawdziwe, jeśli S(k) jest prawdziwe,
to
S(n) jest prawdziwe dla wszystkich nZ+.
)n(S)1k(S)k(S)1(SZnZk
Małgorzata Sterna Matematyka Dyskretna
10
ZASADA SKOŃCZONEJ INDUKCJI MATEMATYCZNEJ
W zasadzie skończonej indukcji matematycznej
S(1), to warunek początkowy,
założenie o prawdziwości S(k) dla dowolnego kZ+,
to hipoteza indukcyjna,
.
Małgorzata Sterna Matematyka Dyskretna
)1k(S)k(S1k
Zasada indukcji matematycznej mówi, że
prawdziwość warunku początkowego
i kroku indukcyjnego
dowodzi prawdziwości hipotezy indukcyjnej.
)n(S)1k(S)k(S)1(SZnZk
,to krok indukcyjny.
11
ZASADA SKOŃCZONEJ INDUKCJI MATEMATYCZNEJ
warunek początkowy może być podany dla dowolnego elementu
n0Z+, który uznamy za pierwszy w procesie indukcyjnym
wówczas zasada przyjmuje postać:
Jeśli
(1) S(n0) jest prawdziwe dla pewnego n0Z+
i
(2) dla dowolnego kn0, kZ+,
S(k+1) jest prawdziwe, jeśli S(k) jest prawdziwe,
to
S(n) jest prawdziwe dla wszystkich nn0, nZ+.
Małgorzata Sterna Matematyka Dyskretna
)n(S)1k(S)k(S)n(S00 nnnk
0
12
DOWÓD INDUKCYJNY
Dowód oparty o zasadę indukcji matematycznej wymaga:
sformułowania hipotezy indukcyjnej – S(k),
dowiedzenia prawdziwości warunku początkowego S(n0),
dowiedzenia prawdziwości kroku indukcyjnego
(wykazując prawdziwość kroku indukcyjnego, nie dowodzi się
prawdziwości zdania S(k+1), ale prawdziwość implikacji
S(k)S(k+1)).
Dowód oparty o zasadę indukcji matematycznej, to pośrednie
dowiedzenie nieskończenie wielu twierdzeń (dla n0=1):
S(1), S(1)S(2), S(2)S(3), S(3)S(4), ....
)n(S)1k(S)k(S)n(S00 nnnk
0
Małgorzata Sterna Matematyka Dyskretna
13
DOWÓD INDUKCYJNY - PRZYKŁAD
Udowodnij, że:
Dowód
2
)2k)(1k(i
2
)1k(ki
1k
1i
k
1iZk
2
)1n(ni:)n(S
n
1iZn
1i :)1(S,1n dla1
1i
)1k(k...21i1k
1i
2
)1n(nn...321i
n
1iZn
sformułowanie hipotezy indukcyjnej:
wykazanie prawdziwości warunku początkowego S(1), n=1:
krok indukcyjny - wykazanie prawdziwości implikacji S(k)S(k+1):
2
)11(1
2
)1n(n
)1k(ik
1i
)1k(2
)1k(k
2
)1k(2)1k(k
2
)2k)(1k(
z założenia o
prawdziwości S(k)
c.b.d.u.
Małgorzata Sterna Matematyka Dyskretna
2
2
14
DOWÓD SKOŃCZONEJ ZASADY INDUKCJI MATEMATYCZNEJ
niech F będzie zbiorem postaci: F={tZ+: S(t) jest fałszywe}
niech F
Dowód przez sprowadzenie do sprzeczności:
z zasady dobrego uporządkowania wynika, że F zawiera element minimalny s,
sF
z założenia, S(n) spełnia warunek (1), więc S(1) jest zdaniem prawdziwym,
tym samym 1F i s1, czyli s > 1
ponieważ s > 1, to s-1 > 0 i s-1Z+
ponieważ s jest minimalnym elementem w F, to s-1F,
to S(s-1) jest zdaniem prawdziwym
z założenia, S(n) spełnia warunek (2),
czyli prawdziwość S(s-1) pociąga za sobą prawdziwość S((s-1)+1),
czyli S(s) jest zdaniem prawdziwym i sF
otrzymana sprzeczność wynika z założenia, że F,
tym samym wykazano, że F= i S(n) jest spełnione dla wszystkich nZ+
)1k(S)k(S)1(SZk
Założenia:
niech S(n) będzie pewnym zdaniem spełniającym warunki (1) i (2) czyli:
c.b.d.u.
Małgorzata Sterna Matematyka Dyskretna
15
ZASTOSOWANIE ZASADY INDUKCJI MATEMATYCZNEJ
Zasada indukcji matematycznej wykorzystywana jest w
rozumowaniu indukcyjnym, czyli w procesie formułowania faktów
ogólnych w oparciu o zbiór obserwacji.
Analiza przypadków, wynikania poszczególnych przypadków
jeden z drugiego, pozwala odgadnąć wzory ogólne i sugeruje
sposób przeprowadzenia kroku indukcyjnego w procesie ich
dowodzenia.
Małgorzata Sterna Matematyka Dyskretna
16
PRZYKŁAD
Dany jest ciąg liczb x0, x1, x2, ... zdefiniowany jako
x0=a
xn+1=2xn+b
dla a,b,nN. Czy można wyrazić xn jako funkcję parametru n?
n=0, x0 =a
n=1, x1 =2(a) + b
n=2, x2 =2(2a+b) +b
n=3, x3 =2(4a+3b) +b
n=4, x4 =2(8a+7b) +b
...
= 1 a + 0 b
= 2 a + 1 b
= 4 a + 3 b
= 8 a + 7 b
=16 a +15 b
...
= 20a + (20-1)b
= 21a + (21-1)b
= 22a + (22-1)b
= 23a + (23-1)b
= 24a + (24-1)b
xn= 2na +(2n-1)b
= 1 a + (1-1)b
= 2 a + (2-1)b
= 4 a + (4-1)b
= 8 a + (8-1)b
=16 a+ (16-1)b
...
Małgorzata Sterna Matematyka Dyskretna
17
PRZYKŁAD
Zaobserwowaną zależność można udowodnić korzystając z zasady
indukcji matematycznej.
Założenia: x0=a dla aN
xn+1=2xn+b dla b,nN
Hipoteza indukcyjna: S(n): xn=2na+(2n-1)b dla każdego nN
Wykazanie prawdziwości warunku początkowego dla n=0, S(0):
S(0): x0 = 20a+(20-1)b =
= 1·a + 0·b =
= a
Krok indukcyjny - wykazanie prawdziwości S(k)S(k+1) dla dowolnego k,
czyli:
Małgorzata Sterna Matematyka Dyskretna
18
b)12(a2xb)12(a2x 1k1k1k
kkk
Nk
S(k+1): xk+1 = 2xk + b =
= 2(2ka+(2k-1)b) + b =
= 2·2ka+2·(2k-1)b + b =
= 2k+1a+(2k+1-2+1)b =
= 2k+1a+(2k+1-1)b
ZASADA SILNEJ INDUKCJI MATEMATYCZNEJ (DRUGA ZASADA INDUKCJI MATEMATYCZNEJ)
Niech S(n) oznacza pewne zdanie otwarte, w którym występuje zmienna n reprezentująca dodatnią liczbę całkowitą, nZ+.
Niech n0, n1Z+, n0n1.
Jeśli
(1) S(n0), S(n0+1), ..., S(n1-1), S(n1) są prawdziwe
i
(2) dla dowolnego kZ+, kn1 S(k+1) jest prawdziwe,
jeśli S(n0), S(n0+1), ..., S(k-1), S(k) są prawdziwe,
to
S(n) jest prawdziwe dla wszystkich nZ+, nn0.
)n(S)1k(S)k(S...)1n(S)n(S
)n(S...)1n(S)n(S
01
nn00nk
100
Małgorzata Sterna Matematyka Dyskretna
19
ZASADA SILNEJ INDUKCJI MATEMATYCZNEJ
Podobnie jak w pierwszej zasadzie indukcji matematycznej:
(1) określa warunek początkowy
(2) krok indukcyjny
założenie o prawdziwości S(n0)S(n0+1)... S(k-1)S(k) dla kZ+ to
hipoteza indukcyjna.
Małgorzata Sterna Matematyka Dyskretna
20
)n(S)1k(S)k(S...)1n(S)n(S
)n(S...)1n(S)n(S
01
nn00nk
100
(1)
(2)
ZASADA SILNEJ INDUKCJI MATEMATYCZNEJ
Zasadę silnej indukcji matematycznej stosuje się:
jeśli prawdziwość analizowanego zdania wynika z prawdziwości pewnych zdań poprzedzających (a nie wyłącznie z prawdziwości zdania bezpośrednio poprzedzającego),
jeśli krok indukcyjny nie jest prawdziwy dla pewnych początkowych wartości k (prawdziwość zdań S(k) dla tych wartości musi być sprawdzona niezależnie w ramach dowodzenia warunku początkowego),
w analizie definicji rekurencyjnych, w których pewne wyrazy określone są za pomocą wyrazów innych niż bezpośrednio poprzedzający.
Małgorzata Sterna Matematyka Dyskretna
21
)n(S)1k(S)k(S...)1n(S)n(S
)n(S...)1n(S)n(S
01
nn00nk
100
PRZYKŁAD Dany jest ciąg liczb x0, x1, x2, ... zdefiniowany następująco:
x0=1, x1=2, x2=3, xn=xn-1+xn-2 +xn-3 dla nN, n3.
Twierdzenie: S(n): xn3n, dla dowolnego nN
Dowód
Dowodzimy warunek początkowy wykazując, że zdania S(0), S(1), S(2) są prawdziwe (n0=0, n1=2):
S(0): x0 =1 30 =1
S(1): x1 =2 31 =3
S(2): x2 =3 32 =9
W kroku indukcyjnym zakładamy prawdziwość zdań
S(0), S(1), ..., S(k-2), S(k-1), S(k) dla kN, k2,
aby wykazać prawdziwość S(k+1):
S(k+1): xk+1 = xk + xk-1+ xk-2
3k + 3k-1 + 3k-2 3k + 3k + 3k = 3(3k) = 3k+1
Krok indukcyjny wymagał założenia prawdziwości 3 zdań poprzedzających,
tzn. [S(k-2) S(k-1) S(k)]S(k+1)
Małgorzata Sterna Matematyka Dyskretna
22
ZASADA INDUKCJI MATEMATYCZNEJ
Pierwsza zasada (skończonej) indukcji matematycznej
Małgorzata Sterna Matematyka Dyskretna
23
)n(S)1k(S)k(S...)1n(S)n(S
)n(S...)1n(S)n(S
01
nn00nk
100
)n(S)1k(S)k(S)n(S00 nnnk
0
i druga zasada (silnej) indukcji matematycznej
są równoważne, tzn. jeśli zaakceptujemy jedną z nich, to druga też jest poprawna.
2 1 Jeśli założymy prawdziwość wszystkich przypadków poprzedzających S(k+1),
tzn. S(n0), S(n0+1), ..., S(k-1), S(k),
to założyliśmy również prawdziwość przypadku bezpośrednio
poprzedzającego - S(k).
1 2 Dowód prawdziwości S’(n)=S(n0)S(n0+1)... S(n) w pierwszej
zasadzie indukcji
jest równoważny dowodowi S(n) w drugiej zasadzie.
POPRAWNOŚĆ DOWODU INDUKCYJNEGO
Poprawny dowód indukcyjny twierdzenia składa się z:
dowodu warunku początkowego,
dowodu kroku indukcyjnego.
Prawdziwość kroku indukcyjnego
)1k(S)k(SZk
nie wystarcza do udowodnienia analizowanego twierdzenia.
Konieczne jest wykazanie prawdziwości warunku początkowego
S(n0), od którego proces indukcyjny może się rozpocząć.
Małgorzata Sterna Matematyka Dyskretna
24
PRZYKŁAD Udowodnij, że dla dowolnego nZ+, liczba n2+5n+1 jest liczbą parzystą,
czyli udowodnij, że dla nZ+ istnieje rN takie, że n2+5n+1=2r.
Dowód kroku indukcyjnego S(k)S(k+1):
S(k): dla kZ+ istnieje pN takie, że k2+5k+1=2p
S(k+1): dla (k+1)Z+ istnieje p’N takie, że (k+1)2+5(k+1)+1=2p’
S(k+1): (k+1)2 + 5(k+1) + 1
Krok indukcyjny jest prawdziwy.
Dowód warunku początkowego:
n=1: n2+5n+1 = 1+5+1 = 7 S(1) jest fałszywe
n=2: n2+5n+1 = 4+10+1 = 15 S(2) jest fałszywe
n=3: n2+5n+1 = 9+15+1 = 25 S(3) jest fałszywe
. . .
Nie istnieje żadna wartość nZ+, dla którego dowodzona własność zachodzi pomimo,
że krok indukcyjny jest prawdziwy.
Twierdzenie jest fałszywe!
= k2 + 2k +1 +5k +5 +1 = (k2+5k+1) + (2k+6) = = 2p + 2(k+3) = 2(p+k+3) = 2p’
Małgorzata Sterna Matematyka Dyskretna
25
WERYFIKACJA POPRAWNOŚCI PROGRAMÓW
Weryfikacja poprawności programu, to sprawdzenie czy program
rzeczywiście realizuje zadanie, które przed nim postawiono.
Weryfikacji poprawności nie można przeprowadzać wyłącznie poprzez
testowanie programu dla różnych danych wejściowych.
Program powinien być poprawny niezależnie od danych wejściowych.
Małgorzata Sterna Matematyka Dyskretna
26
PRZYKŁAD Twierdzenie:
Następujący fragment programu oblicza wartość x(yn) dla zadanych
wartości parametrów, x,yR, nN:
while n0 do
begin
x:=xy;
n:=n-1;
end;
Answer:=x;
start
ustaw początkowe wartości
x,yR i nN
n0
x:=xy;
n:=n-1;
tak
Answer:=x
nie
Małgorzata Sterna Matematyka Dyskretna
27
SFORMUŁOWANIE
TWIERDZENIA
S(n): jeśli dla dowolnych x,yR, nN,
program rozpoczyna wykonywanie pętli „while” z wartością n,
to po ominięciu pętli (dla n=0)
lub n-krotnym wykonaniu 2 instrukcji (dla n>0)
zmienna Answer przyjmuje wartość x(yn).
Dowód prawdziwości S(n) oparty będzie o pierwszą zasadę indukcji matematycznej.
Małgorzata Sterna Matematyka Dyskretna
28
while n0 do
begin
x:=xy;
n:=n-1;
end;
Answer:=x;
start
ustaw początkowe wartości
x,yR i nN
n0
Answer:=x x:=xy;
n:=n-1;
tak
nie
start
ustaw
początkowe
wartości
x,yR i nN
n0
Answer:=x
x:=xy;
n:=n-1;
tak
nie
WARUNEK POCZĄTKOWY S(0)
Małgorzata Sterna Matematyka Dyskretna
29
S(n): jeśli dla dowolnych x,yR, nN, program rozpoczyna
wykonywanie pętli „while” z wartością n, to po ominięciu pętli
(dla n=0) lub n-krotnym wykonaniu 2 instrukcji (dla n>0)
zmienna Answer przyjmuje wartość x(yn).
Warunek początkowy S(0) jest prawdziwy.
i kończy się z wartością
Answer = x
Answer:=x
podąża gałęzią „nie”
n0
nie
= x(1)
=x(y0)
=x(yn) dla n=0
Program rozpoczyna pętle „while” z wartością n=0,
ustaw
początkowe
wartości
x,yR i nN
start
start
ustaw
początkowe
wartości
x,yR i nN
n0
Answer:=x
x:=xy;
n:=n-1;
tak
nie Program rozpoczyna więc pętlę z n’=k, x’ i y, czyli zgodnie z
hipotezą indukcyjną S(k) kończy obliczenia z wartością:
Answer = x’(yk)
= (xy)(yk)
= x(yk+1)
czyli krok indukcyjny S(k)S(k+1) jest prawdziwy dla
dowolnego kN i x,yR
po ich ukończeniu nastąpi powrót na początek pętli
z wartościami: x’ = xy
n’ = n-1=(k+1)-1 = k
x:=xy;
n:=n-1;
Instrukcje pętli zostaną więc wykonane co najmniej raz,
n0
tak
ustaw
początkowe
wartości
x,yR i nN
start
dla n =k+1 pętla „while” nie może być pominięta, gdyż n=k+1 1 0.
DOWÓD KROKU INDUKCYJNEGO S(k)S(k+1)
Małgorzata Sterna Matematyka Dyskretna
30
S(n): jeśli dla dowolnych x,yR, nN, program rozpoczyna
wykonywanie pętli „while” z wartością n, to po ominięciu pętli
(dla n=0) lub n-krotnym wykonaniu 2 instrukcji (dla n>0)
zmienna Answer przyjmuje wartość x(yn).
while n0 do
begin
x:=xy;
n:=n-1;
end;
Answer:=x;
prawdziwość warunku początkowego S(0) i kroku indukcyjnego S(k)S(k+1)
dla dowolnych kN i x,yR dowodzi prawdziwości twierdzenia S(n) dla
dowolnych kN i x,yR
Następujący fragment programu oblicza wartość x(yn) dla zadanych wartości
parametrów, x,yR, nN:
c.b.d.u.
POPRAWNOŚĆ PROGRAMU
Małgorzata Sterna Matematyka Dyskretna
31
S(n): jeśli dla dowolnych x,yR, nN, program rozpoczyna
wykonywanie pętli „while” z wartością n, to po ominięciu pętli
(dla n=0) lub n-krotnym wykonaniu 2 instrukcji (dla n>0)
zmienna Answer przyjmuje wartość x(yn).
NIEZMIENNIKI PĘTLI
Zdanie p jest niezmiennikiem pętli postaci
dopóki g,
wykonuj S
gdy spełnia następujący warunek:
„jeśli zdania p i g są prawdziwe, zanim zostaną wykonane kroki S, to zdanie p będzie prawdziwe po wykonaniu S”.
while n0 do
begin
x:=xy;
n:=n-1;
end;
Answer:=x;
treść pętli S
wykonanie treści pętli, to
przebieg pętli lub iteracja
Zdanie S(n):
„Jeśli dla dowolnych x,yR, nN, program rozpoczyna wykonywanie pętli „while” z
wartością n, to po ominięciu pętli (dla n=0) lub n-krotnym wykonaniu 2 instrukcji (dla
n>0) zmienna Answer przyjmuje wartość x(yn).”
jest niezmiennikiem analizowanej pętli „while”.
warunek dozoru pętli g
Małgorzata Sterna Matematyka Dyskretna
32
TWIERDZENIE O NIEZMIENNIKACH PĘTLI
Przypuśćmy, że p jest niezmiennikiem pętli „dopóki g, wykonuj S” oraz,
że zdanie p jest prawdziwe, kiedykolwiek wchodzimy w pętle.
Wtedy zdanie p jest prawdziwe po każdej iteracji pętli.
Jeśli pętla się kończy, to zdanie p jest nadal prawdziwe,
a zdanie g jest fałszywe.
Niezmienniki pętli mogą być używane do:
projektowania algorytmów (określają cel do wykonania),
dowodzenia poprawności algorytmów.
Konstrukcja niezmiennika pętli jest przeważnie zadaniem trudnym. Wybrane zdanie S(n) może:
nie być niezmiennikiem algorytmu, gdy metoda nie realizuje postawionego zadania,
spełniać warunki narzucone na niezmiennik, ale metoda realizuje błędnie postawione zadanie.
Małgorzata Sterna Matematyka Dyskretna
33