Sunteți pe pagina 1din 12

Inteligen Artificial

1
Modulul 1.

STRATEGII DE CUTARE

n acest modul: Strategia de cutare pe nivel Aplicaia 1 Aplicaia 2 Strategia de cutare n adncime Aplicaia 3 Alte strategii de cutare Teme Bibliogra ie

I. A.

!"A"

#odulul 1" Strategii de cutare

Strategia de cutare pe nivel n spaiul strilor


Strategia de cutare pe nivel $n lime% breadth-first search& este o strategie de cutare nein ormat" Strategia de cutare pe nivel ncepe e'pandarea cu nodul rdcin% apoi e'pandea( toate nodurile generate de rdcin )i continu similar e'pandarea cu toi succesorii acestora etc" !mplementarea strategiei de cutare pe nivel se reali(ea( particulari(nd strategia general de cutare prin implementarea listei *+,-T!.+A sub orm de coad" Algoritm 1. iniializeaz listele FRONTIERA {Si} i TERITORIU {} 2. dac FRONTIERA={} atunci ntoa !e INSU""ES #$n% e&ist sol%ie$# '. eli(in ) i(%l no* S *in FRONTIERA i inse eaz+l n TERITORIU ,. e&)an*eaz no*%l S ,.1. -ene eaz toi s%!!eso ii *i e!i S. ai no*%l%i S ,.2. pentru /ie!a e s%!!eso S. 011.1n2 al l%i S execut ,.2.1. sta3ilete le-t% a S. 4 S ,.2.2. dac S. este sta e /inal atunci i. sol%ia este 0S.5 S5 ...5 Si2 -ene ate n ii. ntoa !e SU""ES #$ a /ost -sit sol%ia $# ,.2.'. dac S. 6 toate st ile ante io sol%ia )a ial !% ent atunci inse eaz S. n FRONTIERA5 la s/7 it 8. repet *e la )as%l 2 sfrit n ca(ul n care soluia e'ist% algoritmul ntoarce soluia cale de lungime minim" Caracteristici /utarea pe nivel este complet" /utarea pe nivel este optimal" /omple'itatea strategiei este e'ponenial"

!"A"

#odulul 1" Strategii de cutare

Aplicaia 1 PROBLE
Enun

A CO !S"#O!A$OR%L%!

0n comis1voia2or trebuie s vi(ite(e n ora)e conectate% ast el nct% plecnd din ora)ul i s treac prin toate ora)ele o singur dat )i s se ntoarc n ora)ul i" &atele de intrare n repre(int numrul de ora)e ce trebuie parcurse" m repre(int numrul de drumuri $un drum une)te dou ora)e&" An
' n

repre(int

matricea

drumurilor%

unde

nu e'ist drumntrei )i 2 3 dac a$i% 2& = " dac e'ist drumntrei )i 2 1

si repre(int ora)ul de plecare"

Strile pro'lemei Starea iniial si drumul parcurs de comis1voia2or Starea (inal

Operator Se olose)te un operator de adugare la con iguraia curent a unui ora) care nu a ost de2a vi(itat )i care este vecin cu ultimul ora) al con iguraiei curente"

Ar'orele de cutare 4entru 5arta ora)elor din igura 1"1 )i ora)ul de plecare 2% o parte a arborelui de cutare este cel din igura 1"2"
*igura 1"1" 67arta8 ora)elor

!"A"

#odulul 1" Strategii de cutare

*igura 1"2" Arborele de cutare

E)ecuia aplicaiei1 Situaia n care algoritmul ntoarce succes

*igura 1"3" 0n set de date de intrare

*igura 1"9" :ate de ie)ire

/odul surs pre(entat a ost e'ecutat n Borland /;; or <indo=s% >ersion 3"1

!"A"

#odulul 1" Strategii de cutare

Situaia n care algoritmul ntoarce insucces

*igura 1"?" 0n set de date de intrare

*igura 1"@" 67arta8 ora)elor pentru datele de intrare din igura 1"?

*igura 1"A" :ate de ie)ire

!"A"

#odulul 1" Strategii de cutare

!"A"

#odulul 1" Strategii de cutare

Aplicaia * + pu,,le -mo,aicul de + numere.


Enun 4e o tabl 3'3 se a l B plcue numerotate de la 1 la B )i o locaie liber" , plcu adiacent spaiului liber poate aluneca n acel spaiu" ,biectivul este atingerea unei con iguraii inale $date& a plcuelor" Strile pro'lemei Starea iniial si 1 repre(int con iguraia iniial a tableiC este o matrice de dimensiune 3'3 n care sunt introduse valori de la 3 la B% unde 3 repre(int spaiul liber" sf 1 repre(int con iguraia inal a tableiC este o matrice de dimensiune 3'3 n care sunt introduse valori de la 3 la B% unde 3 repre(int spaiul liber"

Starea (inal

Operator Se olose)te un operator mut de tipul 6mut plcua n spaiul liber8 )i care are un parametru ce repre(int direcia de mutare $11sus% 21stnga% 31 2os% 91dreapta&"

*igura 1"B" Aplicarea operatorului

1 9 A

2 ? B

3 3 @

1 9 A

2 3 B

3 ? @

1 9 A

2 ? B

3 @ 3

E)ecuia aplicaiei* Situaia n care algoritmul ntoarce succes

*igura 1"D" Starea iniial

1 9 A
2

2 3 B

3 ? @

/odul surs pre(entat a ost e'ecutat n Borland /;;% >ersion 3"1

!"A"

#odulul 1" Strategii de cutare

*igura 1"13" Starea inal

1 9 A

2 ? B

3 @ 3

*igura 1"11" Arborele de cutare

*igura 1"12" :ate de ie)ire SU""ES9 Sol%tia este: stan-a5 s%s.

Situaia n care algoritmul ntoarce insucces

*igura 1"13" Starea iniial

1 9 B

2 ? A

3 @ 3

!"A"

#odulul 1" Strategii de cutare

*igura 1"19" Starea inal

1 9 A

2 ? B

3 @ 3

*igura 1"1?" :ate de ie)ire INSU""ES9 N% a( a.%ns la sta ea /inala.

Strategia de cutare n ad/ncime limitat n spaiul strilor


Strategia de cutare n adncime limitat $depth-first search& este o strategie de cutare nein ormat" Strategia e'pandea( ntotdeauna ultimul nod adugat arborelui $a lat pe nivelul cel mai adnc&" /utarea revine pe nivelele anterioare numai atunci cnd s1a blocat $a aprut un nod care nu e nodul scop )i care nu poate i e'pandat sau s1a a2uns la adncimea ma'im impus&" !mplementarea strategiei de cutare pe nivel se reali(ea( particulari(nd strategia general de cutare prin implementarea listei *+,-T!.+A sub orm de stiv" Algoritm 1. iniializeaz listele FRONTIERA {Si} i TERITORIU {} 2. dac FRONTIERA={} atunci ntoa !e INSU""ES #$n% e&ist sol%ie$# '. eli(in ) i(%l no* S *in FRONTIERA i inse eaz+l n TERITORIU ,. *a!a a*an!i(e0S2 = ;(a& at%n!i ,. e&)an*eaz no*%l S ,.1. -ene eaz toi s%!!eso ii *i e!i S. ai no*%l%i S ,.2. pentru /ie!a e s%!!eso S. 011.1n2 al l%i S execut ,.2.1. sta3ilete le-t% a S. 4 S ,.2.2. dac S. este sta e /inal atunci i. sol%ia este 0S.5 S5 ...5 Si2 -ene ate n ii. ntoa !e SU""ES #$ a /ost -sit sol%ia $# ,.2.'. dac S. 6 toate st ile ante io sol%ia )a ial !% ent atunci inse eaz S. n FRONTIERA5 la in!e)%t e)eta *e la )as%l 2

!"A"
8. repet *e la )as%l 2 sfrit

#odulul 1" Strategii de cutare

:e(avanta2ul cutrii este posibilitatea blocrii ntr1o cale gre)it aleas" Caracteristici /utarea nu este complet" /utarea nu este optimal" /omple'itatea timp este e'ponenial% iar comple'itatea spaiu este polinomial"

Aplicaia 0 PROBLE A CO !S"#O!A$OR%L%!


Situaia n care algoritmul ntoarce succes

4entru 5arta ora)elor din igura 1"1@% ora)ul de plecare 2 )i adncimea limitat ?% o parte a arborelui de cutare este cel din igura 1"1A"
*igura 1"1@" 67arta8 ora)elor

*igura 1"1A" Arborele de cutare

13

!"A"

#odulul 1" Strategii de cutare

*igura 1"1B" :ate de ie)ire SU""ES9 Sol%tia este: 2 8 , ' 1 2.

Situaia n care algoritmul ntoarce insucces

4entru 5arta ora)elor din igura 1"1@% ora)ul de plecare 2 )i adncimea limitat 3 sau pentru 5arta ora)elor din igura 1"1D% ora)ul de plecare 2 )i adncimea limitat A"
*igura 1"1D" 67arta8 ora)elor

*igura 1"23" :ate de ie)ire INSU""ES9 N% s+a -asit %n * %(.

Alte strategii de cutare


strategia de cutare cu nivel iterativC strategia de cutare de cost uni ormC strategia de cutare bidirecionalC strategia de cutare best-firstC algoritmul AEC algoritmul A,E"

11

!"A"

#odulul 1" Strategii de cutare

1eme 1" S se re(olve problema B1pu((le olosind strategia de cutare n adncime" 2" 4roblema celor B regine" S se plase(e B regine pe o tabl de )a5 a"" acestea s nu se atace reciproc" , regin atac orice po(iie a lat pe acela)i rnd% coloan sau diagonal" Starea iniial prespune c nici o regin nu este plasat pe tabl" 4roblema se va re(olva olosind strategia de cutare n adncime" 3" S se re(olve problema celor B regine olosind strategia de cutare pe nivel" 9" 4roblema misionarilor )i canibalilor" 3 misionari )i 3 canibali se a l pe unul dintre malurile unui ru% mpreun cu o barc ce poate trasporta la un moment dat unul sau doi oameni" Se cere s se gseasc o modalitate de a1i transporta pe toi pe cellalt mal% r a permite la vreun transport ca numrul de canibali dintr1un loc s dep)easc numrul de misionari" /on iguraia se d prin numrul de misionari )i de canibali de pe primul mal )i de pe al doilea mal F cea iniial este $3%3%3%3&% iar cea inal $3%3%3%3&" 4roblema se va re(olva olosind strategia de cutare pe nivel" ?" S se re(olve problema misionarilor )i canibalilor olosind strategia de cutare n adncime" @" 4roblema colorrii 5rilor" *iind dat o 5art cu n ri% se cere o posibilitate de colorare a 5rii utili(nd cel mult 9 culori% a"" dou ri cu rontier comun s ie colorate di erit" /on iguraia iniial este ormat din valoarea 1% ceea ce nseamn c ara 1 va i colorat cu culoarea 1" /on iguraia inal va i un )ir de n numere repre(entnd culorile olosite pentru cele n ri" 4roblema se va re(olva olosind strategia de cutare pe nivel" A" S se re(olve problema colorrii 5rilor olosind strategia de cutare n adncime" B" 4roblema labirintului" Se d un labirint de dimensiuni m ' n" *iecare element al matricii labirintului repre(int o camer a acestuia $camerele a late pe margine au sau nu ie)ire din labirint&" ntr1una din camere% avnd coordonatele $x%y&% cunoscute% se gse)te un om" S se oloseasc startegia de cutare pe nivel pentru a gsi cel puin o ie)ire din labirint" D" S se re(olve problema labirintului olosind strategia de cutare n adncime" 13"4roblema navigrii unui robot pentru livrarea po)tei" Se d un careu B ' B repre(entnd un palier al unei instituii% n care un robot a lat la o po(iie iniial dat va naviga pentru a livra po)ta la cteva locaii% de asemenea cunoscute" #i)crile sale se e ectuea( la stnga% dreapta% sus )i 2os" S se gseasc o rut prin care robotul livrea( po)ta la toate locaiile preci(ate )i se ntoarce la po(iia iniial" Se va olosi strategia de cutare pe nivel" 11"S se re(olve problema navigrii robotului olosind strategia de cutare n adncime" Bi'liogra(ie :umitrescu% :"% Inteligen artificial% Gito" 0niv" HBabe)1BolIaiH% 1DD?C Jeorgescu% !"% Inteligen artificial% .d" Academiei% 1DBAC #alita% #"% Bazele matematice ale Inteligenei Artificiale% .d"Te5nic% 1DBBC ,prea% #"% -icoar% ."S"% Inteligen artificial% .d" 0niversitii din 4loie)ti% 233?C +ic5% ."% Artificial Intelligence% #c"Jra= 7ill% 1DBDC <inston% 4"% Inteligen artificial% .d"Te5nic% 1DB3"

12

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