Documente Academic
Documente Profesional
Documente Cultură
A. Căutare neinformată
1
2. În lăţime, adică sunt parcurse toate stările pe un nivel şi dacă nu s-a găsit soluţia se
trece la nivelul următor.
Pentru rezolvarea acestui puzzle o maşină fără gândire logică umană ar trebui să
mute numerele, efectuând toate mutările posibile dintr-o anumită stare (producţii), să
verifice stările obţinute şi dacă nu s-a găsit starea ţintă, să mai aplice câte o producţie pe
stările noi. În cazul nostru pe primul nivel (nivelul 0) ar fi trei producţii posibile : 2, 5 şi
6. Cele trei noduri obţinute, pe nivelul 1 cu 3 stări, la rândul lor nefiind stări ţintă, vor fi
supuse unor noi producţii rezultând alt nivel (2) cu 5 stări ş.a.m.d.. până când pe un nivel
2
oarecare (5) se obţine soluţia. Parcurgerea în acest exemplu s-a efectuat în lăţime. După
găsirea soluţiei se reconstituie acele producţii (se evidenţiază acele ramuri) care au
condus la rezultat.
Evident, metoda poate fi îmbunătăţită cu anumite condiţii “de bun simţ” cum ar fi:
Mută 5 în jos
Mută 3 la dreapta
Mută 2 în sus
Mută 5 la stânga
Mută 6 în sus
Primele trei nivele se pot observa pe figura următoare. Urmăriţi producţiile enunţate mai
sus şi verificaţi corectitudinea rezultatului (obs. ramura din stânga).
3
Exerciţiu: desenaţi arborele de căutare pentru următoarea stare iniţială:
B. Căutare euristică
Vom îmbunătăţi metoda noastră prin introducerea unor elemente care imită intuiţia
umană. Vom spune că acolo unde oamenii aplică reguli logice, sistemele artificiale aplică
reguli euristice. Vom identifica acele caracteristici pe care le iau în considerare oamenii
atunci când aleg calea. Oamenii tind să aibă în vedere ţinta şi tind spre opţiunea care le
aduce mai aproape de aceasta, gândind înainte. Pentru a aplica o asemenea metodă
trebuie să învăţăm sistemul să poată măsura care din stări care din producţii este mai
aproape de ţintă. O asemenea măsură se numeşte euristică.
Pentru jocul nostru de puzzle o asemenea euristică ar putea consta în “evaluarea
costurilor”. Prin acesta vom înţelege în acest caz (şi numai în acest caz, pentru alte
probleme vom stabili alte criterii) suma mutărilor necesare, dacă presupunem că la un
4
moment dat avem un singur număr pe suprafaţa de joc, pentru ca acesta să ajungă în
poziţia lui finală. Astfel, o cifră aflată într-o poziţie adiacentă poziţiei finale va fi la
distanţa 1, iar o cifră aflată lângă poziţia finală, dar pe diagonală va avea distanţa=2 (1
verticală + 1 orizontală). Fie de exemplu starea următoare:
Pentru această stare costul proiectat este de 7 (2,5,8 la distanţa 1; 3,6 la distanţa 2
=> 3x1+2x2=7)
Să aplicăm această euristică în modul următor: pornind de la starea iniţială
efectuăm producţiile posibile şi pentru stările obţinute vom calcula costurile. Vom
continua producţiile pe acea ramură care are costul de producţie minim (care promite cel
mai mult). Dacă după o nouă producţie obţinem stări cu costuri mai mari decât costurile
unuia din stările iniţiale, vom reveni la starea cu costul mai mic indiferent dacă acesta
este pe o ramură mai spre rădăcină şi care la un moment dat a fost abandonat, după cum
se poate observa şi în exemplul următor unde am plecat pe prima ramură (din stânga) cu
cost (4), dar pentru că am obţinut o stare cu cost mai mare (5) am revenit pe cealaltă
ramură cu cost (4) (dreapta).
5
Exerciţiu: Să se traseze graful stărilor folosind căutarea euristică pentru
următoarele stări iniţiale:
a)
1 2 3
4 8
7 6 5
b)
1 2 3
5 7 6
4 8