Bazele inteligenței artificiale

Previzualizare laborator:

Extras din laborator:

Laboratorul numarul 1

Introducere în Limbajul Prolog

Cuvantul PROLOG vine de la PROgraming in LOGic. Prologul este un limbaj

declarativ, aceasta însemnând ca un program nu descrie cum se calculeaza o solutie, ci

consta din o multime de fapte si legaturi logice (reguli) care descriu relatiile pe care se

bazeaza aplicatia de rezolvat. În Prolog, pentru obtinerea unei solutii, utilizatorul pune

mai degraba o întrebare decât sa ruleze programul. Când se pune o întrebare, sistemul

cauta în baza de fapte si reguli pentru a gasi, prin deductie logica, raspunsul.

Cum lansam Prologul?

Pentru dezvoltarea programelor, vom folosi implementarea SWI-PROLOG.

Lansarea acestuia se face apasând butonul Start si efectuând selectiile Programs -> SWI

Prolog -> SWI Prolog. Pe ecran va apare fereastra aplicatiei si prompterul ? care arata ca

programul asteapta comenzi.

Comenzi uzuale

? – pwd.

Afiseaza directorul curent.

?-ls.

Afiseaza fisierele din directorul curent.

?-cd(’cale’).

Schimba directorul curent.

Exemplu:

?-cd(’c:/windows’).

Directorul curent devine c:windows.

?-halt.

Aceasta comanda încheie sesiunea de lucru curenta în SWI-Prolog.

Important: fiecare enunt în Prolog se termina cu caracterul punct (.).

Pentru a se afisa informatii cu privire la o comanda, apelam

?-help(nume_comanda).

Exemplu:

?-help(halt).

Faptele

Faptele reprezinta cea mai simpla forma de predicat din Prolog. Sintaxa pentru

fapte este urmatoarea:

nume_relatie(arg1, arg2, …, argN).

unde

nume_relatie este numele relatiei (al predicatului)

arg1, arg2, … - argumentele

N reprezinta aritatea predicatului nume_relatie.

Bineînteles, orice fapt se incheie cu punct (.). Un predicat de aritate 0 se poate

defini simplu: nume_predicat.

2

Exemplu de fapt:

frate(dan, maria).

’frate’ reprezinta numele relatiei, iar dan si maria reprezinta argumentele care fac

parte din aceasta relatie. Important de observat este ca atât numele relatiei, cât si

constantele ’dan’ si ’maria’ sunt scrise începând cu litera mica.

Exemplu

Sa presupunem ca ave m relatiile existente dintr-o familie si vrem sa punem

întrebari de genul ”este marian înrudit cu …” sau ”spuneti care sunt toate surorile lui

marian” s.a.m.d.

Ca argumente vom avea oameni, iar proprietatile pe care vrem sa le definim vor fi

tata, mama, frate, sora, …. Alegem trei predicate de baza, barbat, femeie si parinte si în

functie de ele vom descrie relatiile dintr-o familie.

Presupunem ca avem ca exemplu urmatoarea familie:

Andrei

Cristi Elena

Ana

Adriana Marius Ovidiu

George

În Prolog, reprezentam aceasta sub forma de fapte astfel:

barbat(andrei).

barbat(cristi).

barbat(marius).

barbat(ovidiu).

barbat(george).

femeie(adriana).

femeie(elena).

femeie(ana).

parinte(andrei, cristi).

parinte(andrei, elena).

parinte(cristi, adriana).

parinte(cristi, marius).

parinte(cristi, ovidiu).

parinte(elena, ana).

parinte(ana, george).

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Laborator 1.pdf
  • Laborator 10.pdf
  • Laborator 2.pdf
  • Laborator 3.pdf
  • Laborator 4.pdf
  • Laborator 5.pdf
  • Laborator 6.pdf
  • Laborator 7.pdf
  • Laborator 8.pdf
  • Laborator 9.pdf
Alte informații:
Tipuri fișiere:
pdf
Nota:
8/10 (1 voturi)
Nr fișiere:
10 fisiere
Pagini (total):
39 pagini
Imagini extrase:
39 imagini
Nr cuvinte:
9 413 cuvinte
Nr caractere:
54 795 caractere
Marime:
320.22KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Laborator
Domeniu:
Calculatoare
Predat:
la facultate
Materie:
Calculatoare
Sus!