Sunteți pe pagina 1din 7

Lista lucrrilor de laborator la disciplina Inteligena Artificial.

Lucrare de laborator Nr.6. Automate finite. S se scrie un program Prolog care realizeaz automatul finit ce recunoate cuvintele de forma: 1. 2. 3. 4. 5. 6. 7. 8. 9. a( abc ) c ,
n

n0 n1, m0

( ab ) n (cd ) m ,
a n bd m , ab n cd m e ,

n0, m1 n1, m1 n0, m0

( abc ) n d ( ef ) m ,
a nb mc k e ,
n m a( abc ) ( de ) ,

n0, m0, k0 n0, m0, n+m1 n1, m1

( abc ) n ( ab ) m ,
a nb m ,

n0, m0, n+m1 n0, m0, k0, n+m1 n2, m1, n par, m impar n0, m0

10. a n b m c k , 11.

( ab ) n ( cd ) m ,

12. a( bc ) n d ( de ) m , 13. a n b m ( cd ) k , 14. 15.

n0, m0, k1 n0, m0 n1, m1 n0, m1, k1 n0, m0, n+m1

( abc ) n de m ,

( abcd ) n ( ef ) m ,

16. a n ( bc ) m ( cd ) k , 17. ( bc ) n ( ab ) m d , 18. a n b m c k , 19. a n ( bc ) m ( de ) k , 20.

n1, m2, k3, n impar, m par, k se divide la 3 n1, m1, k1, m impar n0, m0, n+m1
1

( abc ) n ( bcd ) m e ,

Lucrare de laborator Nr.7. Distribuirea numerelor. Probleme combinatorice. 1. S se distribuie numerele de la 1 la n n trei cutii A, B, C, astfel ca s se satisfac urmtoarele condiii: - dac numrul i este ntr-o cutie, atunci numrul k=2*i (kn), nu poate fi cu el n aceeai cutie; - dac numerele i i j sunt ntr-o cutie, atunci k=i+j (kn), nu poate fi n aceeai cutie cu ultimii. S se scrie un program Prolog ce ar gsi soluia problemei, lund n cretere valoarea lui n. 2. S se divizeze o mulime numeric n dou submulimi, astfel, nct suma elementelor din fiecare submulime s fie aceeai. 3. S se distribuie numerele de la 1 la n n trei cutii A, B, C, astfel ca s se satisfac urmtoarele condiii: - dac numrul i este ntr-o cutie, atunci numrul k=2*i+1 (kn), nu poate fi cu el n aceeai cutie; - dac numerele i i j sunt ntr-o cutie, atunci k=i+j-1 (kn), nu poate fi n aceeai cutie cu ultimii. S se scrie un program Prolog ce ar gsi soluia problemei, lund n cretere valoarea lui n. 4. S se distribuie numerele de la 1 la n n trei cutii A, B, C, astfel ca s se satisfac urmtoarele condiii: - numerele pare pot fi incluse numai n cutiile A i C; - numerele impare pot fi incluse numai n cutiile B i C; - dac numerele i i j sunt ntr-o cutie, atunci k=i+j (kn), nu poate fi n aceeai cutie cu ultimii. S se scrie un program Prolog ce ar gsi soluia problemei, lund n cretere valoarea lui n. 5. S se distribuie numerele de la 1 la n n trei cutii A, B, C, astfel ca s se satisfac urmtoarele condiii: - n cutia A pot fi incluse numai numere pare; - n cutia B pot fi incluse numai numere impare; - dac numrul i este ntr-o cutie, atunci numrul k=2*i (kn), nu poate fi cu el n aceeai cutie. S se scrie un program Prolog ce ar gsi soluia problemei, lund n cretere valoarea lui n. 6. S se distribuie numerele de la 1 la n n trei cutii A, B, C, astfel ca s se satisfac urmtoarele condiii: - dac numrul i este ntr-o cutie, atunci numrul k=n-i (k<n), nu poate fi cu el n aceeai cutie; - dac numerele i i j sunt ntr-o cutie, atunci k=(i+j)/2 (kn), nu poate fi n aceeai cutie cu ultimii.
2

7. Copiii familiei Bright. n familia Bright sunt cinci copii. La vrstele de 4, 5, 6, 7 i 8 ani Rose i fraii si i-au demonstrat talentele n domenii diferite. Unul din ei cnt bine la pian. S se determine vrsta i talentul fiecrui copil, innd cont c 1. Becca are 4 ani i nu strlucete n matematici. 2. Un magician al calculatorului e cu un an mai mare dect Stu. 3. Violonistul are 7 ani. 4. Iona nu are 8 ani. 5. La 5 ani ai si Rob e un copil mai mic dect cel ce strlucete n litere. 8. Patru elevi Mihai, Anatol, Alexandru i Petru studiaz cte o limb strin. Doi biei studiaz limba german, unul engleza i unul franceza. Se tie c Mihai i Anatol studiaz limbi strine diferite, la fel Mihai cu Alexandru, Petru cu Alexandru, Petru cu Mihai, Anatol cu Alexandru. Mihai nu studiaz limba englez. Determinai ce limb studiaz fiecare biat. 9. Alina, Corina, Irina, Marina i Sabina s-au aezat la teatru pe locurile de la 1 la 5. Alina nu are locul 5, iar Corina nu are locul 1. Irina ede ntre prietene. Sabina nu ede lng Irina, iar Irina nu ede lng Corina. Locul Marinei are un numr mai mare dect cel al Corinei. Cine ede pe locul 5? 10. S se distribuie numerele de la 1 la n n trei cutii A, B, C, astfel ca s se satisfac urmtoarele condiii: - dac numrul i este ntr-o cutie, atunci numrul k=2*i (kn), nu poate fi cu el n aceeai cutie; - dac numerele i i j sunt ntr-o cutie, atunci k=i+j (kn), nu poate fi n aceeai cutie cu ultimii. S se scrie un program Prolog ce ar gsi soluia problemei, lund n cretere valoarea lui n. Lucrare de laborator Nr.8. Jocul Chibriturile. 1. S se realizeze n Prolog jocul Chibriturile. Pe mas sunt aezate 23 chibrituri. Sunt doi juctori i fiecare din ei pe rnd trebuie s ia de pe mas cteva chibrituri. Fiecare juctor are dreptul s ia 1, 2, sau 3 chibrituri. Juctorul care va lua ultimul chibrit va pierde jocul. S se scrie programul care utilizeaz strategia optimal de joc. 2. S se realizeze n Prolog jocul Chibriturile. Pe mas sunt aezate 23 chibrituri. Sunt doi juctori i fiecare din ei pe rnd trebuie s ia de pe mas cteva chibrituri. Fiecare juctor are dreptul s ia 1, 2, sau 3 chibrituri. Juctorul care va lua penultimul chibrit va pierde jocul. S se scrie programul care utilizeaz strategia optimal de joc.
3

Lucrare de laborator Nr.9. 1. Pionii. Pe o tabl orizontal cu 7 ptrate iniial sunt aliniai trei pioni albi i trei pioni negri cu un ptrat liber ntre ei: A A A N N N

S se gseasc consecutivitatea de transformri a configuraiei iniiale pentru a ajunge la configuraia final n care pionii albi sunt n dreapta, iar cei negri n stnga desprii de un ptrat liber: N N N A A A

utiliznd urmtoarele patru reguli: - un pion negru poate fi deplasat cu un ptrat spre stnga, dac ptratul e liber, de exemplu A N A N N A A N A N N A - un pion negru poate sri peste un pion adiacent alb spre stnga, dac ptratul e liber, de exemplu A N A N N A A N N A N A - un pion alb poate fi deplasat cu un ptrat spre dreapta, dac ptratul e liber, de exemplu A N A N N A A N A N N A - un pion alb poate sri peste un pion adiacent negru spre dreapta, dac ptratul e liber, de exemplu A A N N N A A N A N N A

Lucrare de laborator Nr.10. Bidoanele cu ap. 1. Fie date dou bidoane unul de 7 litri i unul de 5 litri. Iniial ambele sunt dearte. S se gseasc o secven de aciuni care las 4 litri de ap n bidonul de 7 litri (volumul de ap rmas n bidonul mic nu conteaz). Aciunile posibile care pot modifica starea bidoanelor sunt: - un bidon poate fi umplut dintr-o surs extern; - un bidon poate fi golit ntr-un recipient; - apa poate fi turnat dintr-un bidon n altul, pn cnd primul e gol sau al doilea e plin.
4

2. Fie date trei bidoane unul de 8 litri, unul de 5 litri i unul de 3 litri. Iniial cel de 8 litri este plin, iar celelalte (de 5 litri i de 3 litri) sunt dearte. S se gseasc o secven de aciuni care las cte 4 litri de ap n bidonul de 8 litri i n bidonul de 5 litri. Aciunile posibile care pot modifica starea bidoanelor sunt: apa poate fi turnat dintr-un bidon n altul, pn cnd primul se golete sau al doilea se umple. 3. Fie date trei bidoane unul de 12 litri, unul de 7 litri i unul de 5 litri. Iniial cel de 12 litri este plin, iar celelalte (de 7 litri i de 5 litri) sunt dearte. S se gseasc o secven de aciuni care las cte 6 litri de ap n bidoanele de 12 litri i de 7 litri. Aciunile posibile care pot modifica starea bidoanelor sunt: apa poate fi turnat dintr-un bidon n altul, pn cnd primul se golete sau al doilea se umple. 4. Fie date trei bidoane unul de 10 litri, unul de 7 litri i unul de 3 litri. Iniial cel de 10 litri este plin, iar celelalte (de 7 litri i de 3 litri) sunt dearte. S se gseasc o secven de aciuni care las cte 5 litri de ap n bidoanele de 10 litri i de 7 litri. Aciunile posibile care pot modifica starea bidoanelor sunt: apa poate fi turnat dintr-un bidon n altul, pn cnd primul se golete sau al doilea se umple. 5. Fie date trei bidoane unul de 16 litri, unul de 8 litri i unul de 5 litri. Iniial n cel de 16 litri sunt exact 14 litri de ap, iar celelalte (de 8 litri i de 5 litri) sunt dearte. S se gseasc o secven de aciuni care las cte 7 litri de ap n bidoanele de 16 litri i de 8 litri. Aciunile posibile care pot modifica starea bidoanelor sunt: apa poate fi turnat dintr-un bidon n altul, pn cnd primul se golete sau al doilea se umple. 6. Fie date trei bidoane unul de 7 litri, unul de 6 litri i unul de 3 litri. Iniial n cel de 7 litri sunt 6 litri de ap, n cel de 6 litri sunt 4 litri de ap, cellalt de 3 litri este deert. S se gseasc o secven de aciuni care las cte 5 litri de ap n bidoanele de 7 litri i de 6 litri. Aciunile posibile care pot modifica starea bidoanelor sunt: apa poate fi turnat dintr-un bidon n altul, pn cnd primul se golete sau al doilea se umple. 7. Fie date trei bidoane unul de 14 litri, unul de 8 litri i unul de 5 litri. Iniial cel de 14 litri este plin, iar celelalte (de 8 litri i de 5 litri) sunt dearte. S se gseasc o secven de aciuni care las cte 7 litri de ap n bidoanele de 14 litri i de 8 litri. Aciunile posibile care pot modifica starea bidoanelor sunt: apa poate fi turnat dintr-un bidon n altul, pn cnd primul se golete sau al doilea se umple.

Lucrarea de laborator Nr.11. Gramatici. 1. Fie dat gramatica <Number> <A><B> <A> 01 <A> 0<A>1 <B> 2 <B> 2<B> ce genereaz numere de forma 0n1n2m . S se scrie un program Prolog ce ar recunoate astfel de iruri de simboluri. 2. Fie dat gramatica G= (VN, VT, P, S); VN={ S }, VT={a, b, c } , P= { 1. S a2S 2. S bc } ce genereaz cuvinte de forma: L(G)= { a2nbc, n>=0 }. S se scrie un program Prolog ce ar recunoate astfel de cuvinte. 3. Fie dat gramatica G= (VN, VT, P, S); VN={ S, H }, VT={ b, c, d, e }, P= { 1. S bbSe 2. S H 3. H cHdd 4. H cd } Limbajul generat de aceast gramatic este: L(G)= { b2ncmd2m-1en , m>=1, n>=0 }. S se scrie un program Prolog ce ar recunoate astfel de cuvinte. 4. Fie dat gramatica G= (VN, VT, P, S); VN={ S, A, B }, VT={ a, b, c }, P= { 1. S AB 4. B cB 2. A aAb 5. B c } 3. A ab Limbajul generat de aceast gramatic este: L(G)= { aibicj , i 1, j 1 }. S se scrie un program Prolog ce ar recunoate astfel de cuvinte. 5. Fie dat gramatica G= (VN, VT, P, S); VN={ S }, VT={ a }, P= { 1. S aSa 2. S a } Limbajul generat de aceast gramatic este: L(G)= { a2n-1, n 1 }. S se scrie un program Prolog ce ar recunoate astfel de cuvinte. 6. Fie dat gramatica G= (VN, VT, P, S); VN={ S }, VT={ a }, P= { 1. S aSa 2. S aa } Limbajul generat de aceast gramatic este: L(G)= { a2i, i 1 }. S se scrie un program Prolog ce ar recunoate astfel de cuvinte.
6

7. Fie dat gramatica G= (VN, VT, P, S); VN={ S }, VT={ a }, P= { 1. S aaS 2. S a } Limbajul generat de aceast gramatic este: L(G)= { a2i-1, i 1 }. S se scrie un program Prolog ce ar recunoate astfel de cuvinte. 8. Fie dat gramatica G= (VN, VT, P, S); VN={ S }, VT={ a }, P= { 1. S aaS 2. S aa } Limbajul generat de aceast gramatic este: L(G)= { a2j, j 1 }. S se scrie un program Prolog ce ar recunoate astfel de cuvinte. 9. Fie dat gramatica G= (VN, VT, P, S); VN={ S }, VT={ a }, P= { 1. S Saa 2. S a } Limbajul generat de aceast gramatic este: L(G)= { a2j-1, j 1 }. S se scrie un program Prolog ce ar recunoate astfel de cuvinte. 10. Fie dat gramatica G= (VN, VT, P, S); VN={ S }, VT={ a }, P= { 1. S Saa 2. S aa } Limbajul generat de aceast gramatic este: L(G)= { a2n, n 1 }. S se scrie un program Prolog ce ar recunoate astfel de cuvinte. 11. Fie dat gramatica G= (VN, VT, P, S); VN={ S }, VT={ x, y }, P= { 1. S xSy 2. S xy } Limbajul generat de aceast gramatic este: L(G)= { xnyn, n 1 }. S se scrie un program Prolog ce ar recunoate astfel de cuvinte. 12. Fie dat gramatica G= (VN, VT, P, S); VN={ S, P, Q }, VT={ a, b, c, d, e, f }, P= { 1. S aP 4. Q dQ 2. P bP 5. Q e } 3. P cQ Limbajul generat de aceast gramatic este: L(G)= { abncdme, n 0, m 0 }. S se scrie un program Prolog ce ar recunoate astfel de cuvinte.

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