Sunteți pe pagina 1din 4

Ministerul Educaiei al Republicii Moldova

Facultatea Calculatoare Informatic i Microelectronic


Catedra Informatica Aplicat

Lucrare de Laborator Nr.5


Sisteme de inteligen artificial

Chiinau 2012

3.5. Presupunem avem urmtoarea baz de cunotin:


parinte(ana,ion).
parinte(ana,crina).
parinte(ana,elena).
parinte(andrei,crina).
parinte(alex,ene).
parinte(alex,ion).
parinte(eugen,ana).

Care vor fi rspunsurile prolog la interogrile de mai jos. Explicaile.


findall(X,parinte(ana,X),List).
findall(X,parinte(X,ion),List).
findall(X,rarinte(X,Y),List).
bagof(X,parinte(X,Y),List).
setof(X,Y^parinte(X,Y),List).

Fig. 1
n fig. 1 este rezultatul scopului findall(X,parinte(ana,X),List) la afiare este arat
copii parintelui Ana care se observ din primele trei scopuri

Fig. 2
n fig 2 este reprezentat prinii lui ion care este indicat ca parametru in scopul printe.

Fig. 3
n fig.3 este afiat lista a prinilor. Numele Ana apare de 3 ori din motiv c are trei copii.

Fig. 4
n fig 4 ne afieaz lista prinilor care corespunde listei copiilor care este ordont.

Fig. 5
n figura 5 la execuia programului ne afieaz lista ordonat a prinilor. Lista afiat este
dinstinct.
Concluzie :
n aceasta lucrare de laborator am folosit niste funcii predefinite pentru procesarea
listelor. Funcia findall ntoarce toate variantele posibile ale condiiei, iar funcia bagof ntoarce
aceast list ordonat att a copiilor ct i a prinilor. Funcia setof ntoarce o list ordonat a
condiiei.

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