Sunteți pe pagina 1din 8

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. , n0
2. , n1, m0
3. , n0, m1
4. , n1, m1
5. , n0, m0
6. , n0, m0, k0
7. , n0, m0, n+m1
8. , n1, m1
9. , n0, m0, n+m1
10. , n0, m0, k0, n+m1
11. , n2, m1, n par, m impar
12. , n0, m0
13. , n0, m0, k1
14. , n0, m0
15. , n1, m1
16. , n0, m1, k1
17. , n0, m0, n+m1
18. , n1, m2, k3, n impar, m par, k se divide la 3
19. , n1, m1, k1, m impar
20. , n0, m0, n+m1
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.
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.

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.

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 0n 1n 2m .
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 a2 S
2. S bc }
ce genereaz cuvinte de forma: L(G)= { a2n bc, 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)= { b2n cmd2m-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 },


6

P= { 1. S AB
2. A aAb
3. A ab
4. B cB
5. B c }

Limbajul generat de aceast gramatic este: L(G)= { ai bicj , 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.

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)= { xn yn, 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
2. P bP
3 . P cQ
4 . Q dQ
5 . Q e }

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