Sunteți pe pagina 1din 11

Inducție matemat

Inducția matematică ("raționamentul prin recurență" sau "inducția completă") este o modalitate de
demonstrație utilizată în matematică pentru a stabili dacă o anumită propoziție este valabilă pentru toate
numerele naturale.

Inducţia matematică poate fi asemănată efectului căderii pieselor de domino.

Istoric
*Primul exerciţiu matematic care utiliza inducţia matematică apare оn 1575? Acesta demonstra că suma

primelor N numere naturale impare este egală cu N la puterea 2.

Primele semne de utilizare a acestei metode pot fi găsite în demonstrația lui Euclid care încearcă să arate că
numărul numerelor prime este infinit.

În cadrul matematicii indiene, găsim o metodă similară la matematicianul Bhaskara, așa-numita metodă
"chakravala".

În jurul anului 1000 d.Hr., regăsim, la matematicianul persan Al-Karaji (c.953 - c.1029), aplicarea metodei
inducției la determinarea coeficienților binomiali (la ceea ce mai târziu avea să se numească binomul lui
Newton), la studiul triunghiului lui Pascal.

Matematicianul islamic Ibn al-Haytham (965 - 1039) aplică această metodă la calculul unor puteri
integrale.

Musulmanul Al-Maghribī al-Samaw'al (c.1130 - c.1180) utilizează inducția, într-o formă asemănătoare
celei moderne, ducând mai departe studiile lui Al-Karaji privind triunghiul lui Pascal.

Prima expunere cu adevărat riguroasă a principiului inducției apare la matemaicianul italian Francesco
Maurolico (1494 - 1575). Acesta, în lucrarea Arithmeticorum libri duo (1575), demonstrează că suma
primelor n numere impare este n².

Principiul inducției complete a fost descoperit și de Jakob Bernoulli (1713), Pascal (1653) și Fermat.

Descriere
Demonstrația prin inducție că propoziția pentru orice se compune din doi pași:

1. Cazul inițial: demonstrarea faptului că propoziția este valabilă pentru .


2. Pasul de inducție: Se dovedește că, pentru orice natural, implică .

Exemple
Exemplul 1

Să demonstrăm formula utilizată pentru suma primelor n numere naturale:

 Inițializare:

pentru     avem:   .

Formula este verificată în cazul inițial.

 Iterare:

Trebuie să arătăm că, dacă formula este valabilă pentru , atunci este valabilă și pentru  
.

Să presupunem formula valabilă pentru  :

Adăugând la ambii membri , obținem:

Calculând, obținem:

Astfel am arătat că:

Exemplul 2

Să calculăm suma primelor numere impare:


.

Ajungem la presupunerea: Suma primelor numere impare, de la 1 până la este ,   adică:

Pentru a dovedi acest lucru prin metoda inducției complate, trebuie să demonstrăm că:

1.

2. Dacă , atunci .

Primul punct e simplu de dovedit. Pentru cel de-al doilea folosim identitățile:

Suport teoretic pentru principiul inducţiei matematice

Exercițiul 1

Un exemplu simplu ar fi problema următoare:

Demonstraţi că:  pentru orice n - număr natural nenul.

Vom rezolva acestă problemă fără a apela la principiul lui Gauss.

Rezolvarea este prezentată în continuare:

Vom demonstra problema dată folosind metoda inducţiei matematice. Astfel, vom verifica cele 2 etape:

- etapa de verificare: luăm n-minim, adică .


Avem - propoziţie adevărată. Deci etapa de verificare a fost realizată.

- etapa de demonstraţie: trebuie să demonstrăm că dacă  este adevărată, atunci este


adevărată.

Avem:

Astfel avem demonstrată propoziţia .

Deci și etapa de demonstrație a fost finalizată.

Folosind metoda inducţiei matematice am demonstrat că:   


pentru orice n - număr natural nenul.

Exercițiul 2

De asemenea, mai putem da ca și exemplu problema următoare:

Să se demonstreze că pentru orice , n - număr natural, avem:

Demonstrație:

Notăm cu egalitatea de mai sus, pentru numărul n.

Vom demonstra problema folosind metoda inducției matematice. Deci, vom verifica cele două etape:

- etapa de verificare:

Alegem n-minim, adică . Astfel, egalitatea dată devine . Deci este adevărată.
Astfel,  etapa de verificare este demonstrată.

- etapa de demonstrație:

Demonstrăm că dacă este adevărată, atunci este adevărată.


Scăzând membru cu membru egalităţile de mai sus (prima egalitate dintr-a doua ), obţinem egalitatea:

Dar aceasta este evident adevărată.

Astfel, cum este adevărată şi propoziţia de mai sus este şi aceasta adevărată, atunci şi este
adevărată.

Aşadar, etapa de demonstraţie a fost realizată.

Conform metodei inducţiei matematice avem:

pentru orice , n - număr


natural.

Exercițiul 3

Majoritatea problemelor care se rezolvă prin metoda inducţiei matematice nu ne indică formula generală ce
trebuie demonstrată. În acele cazuri, trebuie sa verificăm ceea ce ni se dă pentru câteva valori particulare,
iar apoi să observăm formula generală. O astfel de problemă este următoarea:

Să se calculeze suma: pentru orice n - număr natural .

Demonstraţie:

Notăm suma de mai sus cu   . Ca să obţinem expresia generală, vom verifica mai întâi câteva cazuri
particulare, adică şi obţinem:

Observând sumele de mai sus constatăm că .

Astfel că am ajuns la etapa în care am intuit o expresie generală, şi vom încerca să o demonstrăm prin
metoda inducţiei matematice.

Lăsăm restul rezolvării problemei ca şi exerciţiu în care să aplicaţi raţionamentul inducţiei matematice.
Numere Fibonacci si Triunghiul Pascal
In cartea sa, Liber Abaci (Cartea sensul Abacus sau Cartea de calcul),
problema este prezentata aritmetica practica: O pereche de iepuri
este pus intr-o zona limitata. Aceasta pereche de iepuri
produce o alta pereche in fiecare luna. In cazul in care
iepurii nu mor, intrebarea este:? Cate perechi de iepuri
de acolo ar fi sa raspunda la aceasta carte este secventa de numere:
1 1 2 3 5 8 13 21 34 55 .....
Seria de numere a fost numit "numere Fibonacci", de Edouard Lucas
(1842-1899).

Lucas a inventat numeroase aplicatii semnificative de these.The sirul lui Fibonacci este o secventa recursiv
in cazul in care primele doua valori sunt 1 si fiecare termen succesiv este obtinut prin adaugarea impreuna
cei doi termeni anteriori. Definitia din seria Fibonacci este:

F (n +1) = F (n-1) + F (n), daca n> 1 si F (0) = 0, F (1) = 1

Prin adaugarea de numere diagonala din Triunghiul Pascal sirul lui Fibonacci pot fi obtinute:

1 1
1 1 1
1 2 1 2
1 3 3 1 3
1 4 6 4 1 5
1 5 10 10 5 1 8
1 6 15 20 15 6 1 13
1 7 21 35 35 21 7 1 21
..... ..... ..... ..... ..... ..... ..... ..... ..... ..... ..... .....

Acesta poate fi pressumed in cazul in care in calatoriile sale Fibonacci indeplinite in cazul in care aceasta
secventa "randuri" in dubla Pascal `s Triangle sunt rezumate:

1 1
1 1 2
1 1 1 3
1 1 2 1 5
1 1 3 2 1 8
1 1 4 3 3 1 13
1 1 5 4 6 3 1 21
.... .... .... .... .... .... .... .... .... .... ....

De dragul ludica intre numere si in zona permiteti-ne subliniem sa faca legatura intre triunghiul aritmetic si
numerele Fibonacci. Triunghiul Pascal este prezentata dupa cum urmeaza, precum si numerele in randuri
sunt rezumate:

1 1
1 1
1 1 2
1 2 3
1 3 1 5
1 4 3 8
1 5 6 1 13
.... .... .... .... .... .... .... .... .... .... ....

Knott R. gasit numerele lui Fibonacci apar ca sume de "randuri" in Triunghiul Pascal `s. Prin desen Pascal
`s Triunghiul cu toate randurile mutat de 1 loc, avem un acord mai clare, care prezinta numere Fibonacci ca
sumele de coloane:

0 1 2 3 4 5 6 7 8 9
0 1
1 1 1
2 1 2 1
3 1 3 3 1
4 1 4 6 4 1
5 1 5 10 10 5
6 1 6 15 20
7 1 7 21
8 1 8
9 1
1 1 2 3 5 8 13 21 34 55

Aici este forma alternativa de Pascal `s Triangle, cu dublu randuri re-aliniate ca coloane si sumele de
coloane noi sunt numerele Fibonacci:

0 1 2 3 4 5 6 7 8 9
0 1
1 1
2 1 1
3 1 1
4 1 2 1
5 1 2 1
6 1 3 3 1
7 1 3 3 1
8 1 4 6 4 1
9 1 4 6 4 1
1 2 3 5 8 . . . . .

Exista o legatura reciproca intre numerele lui Fibonacci si triunghiul aritmetic. Exista, de asemenea,
numeroase relatii recursive pentru numerele Fibonacci:

F (n +1) = 1 * F (n) + 1 * F (n-1)


F (n +2) = 1 * F (n) + 2 * F (n-1) + 1 * F (n-2)
F (n +3) = 1 * F (n) + 3 * F (n-1) + 3 * F (n-2) + 1 * F (n-3)
F (n +4) = 1 * F (n) + 4 * F (n-1) + 6 * F (n-2) + 4 * F (n-3) + 1 * F (n-4)
F (n +5) = 1 * F (n) + 5 * F (n-1) + 10 * F (n-2) + 10 * F (n-3) + 5 * F (n-4) + 1 * F (n-5)
F (n +6) = 1 * F (n) + 6 * F (n-1) + 15 * F (n-2) + 20 * F (n-3) + 15 * F (n-4) + 6 * F (n-5) + 1 * F (n-6)
.... .... .... .... .... .... .... .... .... .... .... .... .... .... ....

Este evident ca structura de Triunghiul Pascal `s este construit in aceste relatii recursiva, ceea ce indica cu
siguranta sa faca legatura existenta intre numarul de Pascal` s Triunghiul si numere Fibonacci.

Matematicianul francez Edouard Lucas gasit o serie similare:

1, 3, 4, 7, 11, 18,29,47...

Regula Fibonacci de adaugare a cele mai recente doua pentru a obtine urmatoarea este tinut, dar aici vom
porni de la 2 si 1 (in aceasta ordine) in loc de 0 si 1 pentru numere (ordinara) Fibonacci:

L (n +1) = L (n-1) + L (n), daca n> 1 si L (0) = 2, L (1) = 1

Sa ne subliniaza legatura intre triunghiul aritmetic si numere Lucas. Triunghiul Pascal este prezentata dupa
cum urmeaza, precum si numerele in randuri sunt rezumate:

1 1
1 1 1 3
1 1 1 1 4
1 1 1 2 1 1 7
1 1 1 3 2 2 1 11
1 1 1 4 3 3 3 1 1 18
1 1 1 5 4 4 6 3 3 1 29
.... .... .... .... .... .... .... .... .... .... ....

De asemenea, exista o forma alternativa de Pascal `s Triangle, cu dublu randuri re-aliniate ca coloane si
sumele de coloane noi sunt numerele Lucas:

0 1 2 3 4 5 6 7 8 9
0 1
1 1 1
2 1 1
3 1 2 1
4 1 2 1
5 1 3 3 1
6 1 3 3 1
7 1 4 6 4 1
8 1 4 6 4
9 1 5 10 10 5
. 1 3 4 7 11 . . . .

Aici este aratata este o conexiune reciproca intre numerele de Lucas si triunghiul aritmetic:

L (n +1) = 1 * L (n) + 1 * L (n-1)


L (n +2) = 1 * L (n) + 2 * L (n-1) + 1 * L (n-2)
L (n +3) = 1 * L (n) + 3 * L (n-1) + 3 * L (n-2) + 1 * L (n-3)
L (n +4) = 1 * L (n) + 4 * L (n-1) + 6 * L (n-2) + 4 * L (n-3) + 1 * L (n-4)
L (n +5) = 1 * L (n) + 5 * L (n-1) + 10 * L (n-2) + 10 * L (n-3) + 5 * L (n-4) + 1 * L (n-5)
L (n +6) = 1 * L (n) + 6 * L (n-1) + 15 * L (n-2) + 20 * L (n-3) + 15 * L (n-4) + 6 * L (n-5) + 1 * L (n-6)
.... .... .... .... .... .... .... .... .... .... .... .... .... .... ....
http://science.webhostinggeeks.com/fibo-milanovic-rm

Ханойские башни

2.2. Ханойская башня

Игра "Ханойская башня" состоит в следующем. Есть три стержня. Hа


первый из них надета пирамидка из N колец (большие кольца снизу,
меньшие сверху). Требуется переместить кольца на другой стержень.
Разрешается перекладывать кольца со стержня на стержень, но класть
большее кольцо поверх меньшего нельзя. Составить программу,
указывающую требуемые действия.

Hапишем рекурсивную процедуру перемещения M верхних колец с A-го


стержня на B-ый в предположении, что остальные кольца больше по
размеру и лежат на стержнях без движения:

procedure Move(M,A,B:integer);
var C:integer;
begin
if M=1 then begin writeln ('сделать ход ',A,'->',B) end
else
begin
C:=6-A-B; {C - третий стержень: сумма номеров равна 6}
Move(M-1,A,C);
Move(1,A,B);
Move(M-1,C,B)
end
end;

Сначала переносится пирамидка из M-1 колец на третий стержень C. После


этого M-ое кольцо освобождается, и его можно перенести на B. Остается
перенести пирамиду из N-1 кольца с C на B. Чем это проще первоначальной
задачи? Тем, что количество колец стало на единицу меньше. Теперь
основную программу можно записать в несколько строк:

program Hanoi;
var N:integer;
procedure Move(M,A,B:integer);
.............
begin
write('N=');readln(N);
Move(N,1,2)
end.

Если вы владеете основами компьютерной графики, можете попробовать


"нарисовать" каждый ход на экране.

Таким образом, ОСHОВHАЯ ИДЕЯ любого рекурсивного решения - свести


задачу к точно такой же, но с меньшим значением параметра. При этом
какое-то минимальное значение параметра (например, 1 или 0) должно
давать решение без рекурсивного вызова - иначе программа "зациклится"
(последовательность рекурсивных вызовов будет бесконечной). Это
напоминает метод математической индукции в математике. В некоторых
задачах удобно наоборот, увеличивать значение параметра при рекурсивном
вызове. Тогда, естественно, "безрекурсивное" решение должно
предусматриваться для некоторого максимального значения параметра.
Попробуем использовать эту идею для перебора комбинаторных объектов.

  2.3. Последовательности (рекурсивный алгоритм)

Задача та же, что в пункте 1.1. Опишем рекурсивную процедуру Generate(k),


предъявляющую все последовательности длины N из чисел 1,...,M, у
которых фиксировано начало X[1],X[2],...,X[k]. Понятно, что при k=N мы
имеем тривиальное решение: есть только одна такая последовательность -
это она сама. При k<N будем сводить задачу к k+1:

procedure Generate(k:byte);
var i,j:byte;
begin
if k=N then
begin for i:=1 to N do write(X[i]);writeln end
else
for j:=1 to M do
begin X[k+1]:=j; Generate(k+1) end
end;

Основная программа теперь выглядит очень просто:

program SequencesRecursion;
type Sequence=array [byte] of byte;
var M,N:byte;
X:Sequence;
procedure Generate(k:byte);
............
begin
write('M,N=');readln(M,N);
Generate(0)
end.

  2.4. Перестановки (рекурсивный алгоритм)

Задача та же, что в пункте 1.2. Опишем рекурсивную процедуру Generate(k),


предъявляющую все перестановки чисел 1,...,N, у которых фиксировано
начало X[1],X[2],...,X[k]. После выхода из процедуры массив X будут иметь
то же значение, что перед входом (это существенно!). Понятно, что при k=N
мы снова имеем только тривиальное решение - саму перестановку. При k<N
будем сводить задачу к k+1:

procedure Generate(k:byte);
var i,j:byte;
procedure Swap(var a,b:byte);
var c:byte;
begin c:=a;a:=b;b:=c end;
begin
if k=N then
begin for i:=1 to N do write(X[i]);writeln end
else
for j:=k+1 to N do
begin
Swap(X[k+1],X[j]);
Generate(k+1);
Swap(X[k+1],X[j])
end
end;

Основная программа:
program PerestanovkiRecursion;
type Pere=array [byte] of byte;
var N,i,j:byte;
X:Pere;
procedure Generate(k:byte);
...............
begin
write('N=');readln(N);
for i:=1 to N do X[i]:=i;
Generate(0)
end.

Чтобы до конца разобраться в этой непростой программе, советуем


выполнить ее на бумаге при N=3. Обратите внимание, что порядок вывода
перестановок не будет лексикографическим!

S-ar putea să vă placă și