Sunteți pe pagina 1din 6

Ministerul Educaţiei al Republicii Moldova

Universitatea Tehnică a Moldovei


Facultatea Calculatoare, Informatică şi Microelectronică

Raport
Lucrarea de laborator nr. 1
PLIA
Tema: Introducere în limbajul Prolog. Mecanisme de control al procesului de
backtracking.

A efectuat: St. gr. Ti-123


A verificat: Lazu Victoria

Chişinău 2015
Scopul lucrării
 Însuşirea principiilor fundamentale de programare a limbajului Prolog
 Se va citi breviarul teoretic. Se atrage atenția asupra faptului că toate cunoștințele
din această lucrare vor fi necesare și la efectuarea celorlalte lucrări.
 Se vor studia exemplele propuse, încercând găsirea altor posibilități de soluționare a
acestora. Se vor utiliza și alte scopuri(interogări) pentru a testa definițiile
predicatelor introduse.
 Se va elabora un arbore genealogic şi o bază de cunoştinţe Prolog care ar descrie
relaţiile existente în familia dumneavoastră proprie care ar permite cercetarea
acestor relaţii prin utilizarea scopurilor externe. Arborele genealogic elaborat trebuie
să conţină cel puţin trei niveluri. Pentru cercetarea relaţiilor existente în familie se
vor utiliza nu mai puţin de şase scopuri.
 Însușirea noțiunilor privind mecanismele specifice limbajului Prolog pentru
controlul procesului de backtracking: cut și fail
 Citiţi breviarul teoretic. Se atrage atenţia asupra faptului că toate cunoştinţele din
această lucrare vor fi necesare şi la efectuarea celorlalte lucrări.
 Lansaţi la executare programul elaborat în lucrarea 1 şi cercetaţi schimbările
semanticii procedurale:
o prin schimbarea ordinii propoziţiilor – fapte;
o prin schimbarea ordinii propoziţiilor - reguli; (două variante)
o prin schimbarea subscopurilor în reguli; (două variante)
o trageţi concluzii.
 Rezolvaţi următoarele probleme propuse şi urmăriţi execuţia lor corectă.
o Elaboraţi şi testaţi un program pentru determinarea unei valori minime din
două numere (X şi Y), fără utilizarea predicatului cut.
o Elaboraţi şi testaţi un program pentru determinarea unei valori minime din
două numere (X şi Y), utilizând predicatul cut roşu şi cut verde.
o Care vor fi răspunsurile programului
▪ р( 1).
▪ р( 2) :- !.
▪ р( 3).
◦ Efectuaţi o analiză comparativă între utilizarea predicatelor cut în spaţiul bazei de
cunoştinţe şi spaţiul scopurilor pentru întrebările formulate în lista de scopuri ce urmează:
▪ р( X).
▪ р( X), p(Y).
▪ р( X), !, p(Y).
◦ Doi copii pot juca un meci într-un turneu de tenis dacă au aceeaşi vârstă. Fie
următorii copii şi vârstele lor: copil(peter,9). copil(paul,10). copil(chris,9).
copil(susan,9). Definiţi un predicat din care rezultă toate perechile de copii care pot juca
un meci într-un turneu de tenis.
 Introduceţi schimbările corespunzătoare în programul din punctul 2., utilizând cut
verde cel puţin în două reguli din baza de cunoştinţe.
 Introduceţi schimbările corespunzătoare în programul din punctul 2., utilizând cut
roşu în reguli din baza de cunoştinţe. Trageţi concluzii.
 Prezentaţi darea de seamă.
Boris Lidia Gheorghe Elizaveta

Oxana IonC Elena Vladimi Tatian IonI


r a

Selena Gherghe IonG NicolaieG Stefan Mirce


Junior a
Baza de cunoștințe și scopurile arborelui genialogic
%lab 1
femeie(elizaveta).
femeie(lidia).
femeie(elena).
femeie(oxana).
femeie(tatiana).
femeie(selena).

barbat(gheorghe).
barbat(boris).
barbat(vladimir).
barbat(ionI).
barbat(ionC).
barbat(gheorgheJunior).
barbat(ionG).
barbat(nicolai).
barbat(stefan).
barbat(mircea).

parinti(boris,lidia,ionC).
parinti(boris,lidia,elena).
parinti(gheorghe,elizaveta,vladimir).
parinti(gheorghe,elizaveta,tatiana).
parinti(ionC,oxana,selena).
parinti(vladimir,elena,gheorgheJunior).
parinti(vladimir,elena,ionG).
parinti(vladimir,elena,nicolai).
parinti(ionI,tatiana,stefan).
parinti(ionI,tatiana,mircea).

tata(X,Z):-parinti(X,_,Z),barbat(X).
mama(Y,Z):-parinti(_,Y,Z),femeie(Y).
bunel(X,Z):-parinti(X,_,Y),(parinti(Y,_,Z);parinti(_,Y,Z)).
bunica(X,Z):-parinti(_,X,Y),(parinti(Y,_,Z);parinti(_,Y,Z)).
parinte(X,Y):-parinti(X,_,Y);parinti(_,X,Y).
frate(X,Y):-parinti(Z,W,X),parinti(Z,W,Y),barbat(X),not(X=Y).
sora(X,Y):-parinti(Z,W,X),parinti(Z,W,Y),femeie(X),not(X=Y).
matusa(X,Y):-parinte(Z,Y),(frate(X,Z);sora(X,Z)),femeie(X).
unchi(X,Y):-parinte(Z,Y),(frate(X,Z);sora(X,Z)),barbat(X).
verisori(X,Y):-parinte(Z,X),parinte(W,Y),(frate(Z,W);sora(Z,W)),not(X=Y).
parinti2(X,Y):-parinti(X, Y, _),!.
pereche(Barbat, Femeie):-parinti(Barbat,Femeie,_),barbat(Barbat),femeie(Femeie).
nora(Parinte, Nora):-femeie(Nora),parinte(Parinte, Sot),barbat(Sot),pereche(Sot, Nora).
ginere(Parinte, Ginere):- barbat(Ginere),parinte(Parinte, Sotie),femeie(Sotie),pereche(Ginere, Sotie).
Baze de cunostinte de calcularea minim si a celor copii care pot sa mearga in turneu.

%lab 2
%calculeaza min fara cut
min(X, Y) :- X =< Y, write(X).
min(X, Y) :- X > Y,write(Y).

%calculez minim cu cut verde


min1(X, Y) :- X =< Y,write("X="),write(X),!.
min1(X, Y) :- X > Y,write("Y="),write(Y).

%calculez minim cu cut rosu


min2(X, Y) :- X =< Y, write(X),!.
min2(X, Y) :- write(Y).

copil(peter,9).
copil(paul,10).
copil(chris,9).
copil(susan,9).

turneu(Copil1, Copil2) :- copil(Copil1, Virsta), copil(Copil2, Virsta),


not(Copil1 = Copil2), !.
Concluzii

Prolog este un limbaj potrivit pentru a putea modela un sistem inteligent artificial.
Mecanismul de backtracking al limbajului Prolog este foarte simplu dar, cum este
organizat acesta poate efectua un șir de operații/algoritmi. În urma creerei acestui laborator
am înțeles mai bine crearea programelor in prolog și crearea unui program inteligent.

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

  • Algoritmul de Criptografie DSA
    Algoritmul de Criptografie DSA
    Document2 pagini
    Algoritmul de Criptografie DSA
    DumitruGuba
    Încă nu există evaluări
  • Instr CET08
    Instr CET08
    Document4 pagini
    Instr CET08
    Oleg Botnaru
    Încă nu există evaluări
  • Tema: Algoritmul de Criptografie RSA: Functionare
    Tema: Algoritmul de Criptografie RSA: Functionare
    Document2 pagini
    Tema: Algoritmul de Criptografie RSA: Functionare
    Ion Popescu
    Încă nu există evaluări
  • Lab 2
    Lab 2
    Document2 pagini
    Lab 2
    Ion Popescu
    Încă nu există evaluări
  • Laboratorul nr.1
    Laboratorul nr.1
    Document1 pagină
    Laboratorul nr.1
    Ion Popescu
    Încă nu există evaluări
  • Plia 7
    Plia 7
    Document53 pagini
    Plia 7
    Ion Popescu
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document8 pagini
    Lab 3
    Ion Popescu
    Încă nu există evaluări
  • Exemplu Raport
    Exemplu Raport
    Document27 pagini
    Exemplu Raport
    Fil Gorea
    Încă nu există evaluări
  • Plia 4 141
    Plia 4 141
    Document55 pagini
    Plia 4 141
    Ion Popescu
    Încă nu există evaluări
  • Lab1 Pam
    Lab1 Pam
    Document9 pagini
    Lab1 Pam
    Ion Popescu
    100% (2)
  • Plia 4 141
    Plia 4 141
    Document55 pagini
    Plia 4 141
    Ion Popescu
    Încă nu există evaluări
  • Cuprins
    Cuprins
    Document3 pagini
    Cuprins
    Ion Popescu
    Încă nu există evaluări
  • Plia 4 141
    Plia 4 141
    Document55 pagini
    Plia 4 141
    Ion Popescu
    Încă nu există evaluări
  • Plia 4 14
    Plia 4 14
    Document34 pagini
    Plia 4 14
    Ion Popescu
    Încă nu există evaluări
  • Plia 4 14
    Plia 4 14
    Document34 pagini
    Plia 4 14
    Ion Popescu
    Încă nu există evaluări
  • Plia 3 15
    Plia 3 15
    Document37 pagini
    Plia 3 15
    Ion Popescu
    Încă nu există evaluări
  • Plia 4 14
    Plia 4 14
    Document34 pagini
    Plia 4 14
    Ion Popescu
    Încă nu există evaluări
  • Exemplu
    Exemplu
    Document1 pagină
    Exemplu
    Ion Popescu
    Încă nu există evaluări
  • Algoritmul de Criptografie DSA
    Algoritmul de Criptografie DSA
    Document2 pagini
    Algoritmul de Criptografie DSA
    DumitruGuba
    Încă nu există evaluări
  • Plia 1 15
    Plia 1 15
    Document53 pagini
    Plia 1 15
    Ion Popescu
    Încă nu există evaluări
  • SI Lab 1 Zubcov Olga
    SI Lab 1 Zubcov Olga
    Document17 pagini
    SI Lab 1 Zubcov Olga
    Ion Popescu
    Încă nu există evaluări
  • Else Fcim Utm MD PDF
    Else Fcim Utm MD PDF
    Document2 pagini
    Else Fcim Utm MD PDF
    Ion Popescu
    Încă nu există evaluări
  • Functionare
    Functionare
    Document4 pagini
    Functionare
    Ion Popescu
    Încă nu există evaluări
  • Plia 2 15
    Plia 2 15
    Document40 pagini
    Plia 2 15
    Ion Popescu
    Încă nu există evaluări
  • HGJHB
    HGJHB
    Document19 pagini
    HGJHB
    Ion Popescu
    Încă nu există evaluări
  • Indrumar TAP
    Indrumar TAP
    Document120 pagini
    Indrumar TAP
    Ion Popescu
    Încă nu există evaluări
  • Rapot IOC
    Rapot IOC
    Document5 pagini
    Rapot IOC
    Ion Popescu
    Încă nu există evaluări
  • Laboratorul nr.1
    Laboratorul nr.1
    Document1 pagină
    Laboratorul nr.1
    Ion Popescu
    Încă nu există evaluări
  • Ciclu Prelegeri TVPP
    Ciclu Prelegeri TVPP
    Document100 pagini
    Ciclu Prelegeri TVPP
    Mihai Coșleț
    Încă nu există evaluări