Cuprins
- 1. INTRODUCERE 2
- 2. APLICATII 3
- 2.1 SIRUL LUI FIBONACCI 3
- 2.2 MINIM, MAXIM, CMMDC 4
- 2.3 TURNURILE DIN HANOI 5
- 2.4 OPERATII CU LISTE 6
- 2.5 CEI 4 SPECIALISTI 9
- 2.6 TESTUL LUI EINSTEIN 11
- 2.7 CONJECTURA LUI GOLDBACH 13
- 2.8 TABEL DE ADEVAR 14
- 2.9 PUZZLE ARITMETIC 16
- 3. CONCLUZII 19
Extras din proiect
1. INTRODUCERE
"AI este disciplina, parte a informaticii, care proiectează sisteme artificiale cu comportament inteligent – adică sisteme ce manifestă proprietăţi pe care în mod obişnuit le asociem cu existenţa inteligenţei în comportamentul uman - înţelegerea limbajului, învăţare, raţionament, rezolvarea problemelor"
(A. Barr and E. A. Feigenbaum, 1981)
Inteligenta artificiala reprezinta stiinta si ingineria construirii de masini inteligente, mai specific programe inteligente. Aceasta se poate referi la simularea inteligentei umane, dar nu neaparat. Pe de-o parte pot exista masini (A.I.) care invata prin observare de la oameni, iar pe de alta parte exista varianta studierii direct problemelor, nu a oamenilor sau animalelor. Cercetatorii sunt liberi sa foloseasca metode care nu sunt observate la oameni sau care implica o putere de calcul mai mare decat cea detinuta de oameni.
Ideea crearii unei “masini copil” a aparut in jurul anilor 1940, iar multa vreme se credea a fi ceva foarte greu, chiar irealizabil, dar recent aceasta idee nu mai este de domeniul science-fiction-ului, existand deja roboti care invata din experienta, la fel ca un copil.
Aplicabilitatea inteligentei artificiale este una destul de vasta, pornind de la jocuri pe calculator pana la sisteme expert, care sunt in stare sa rezolve problem la un nivel de inginer expert in domeniu (ex: MYCIN – 1974, ce diagnostica mai bine decat studentii si medicii practicanti infectiile bacteriale sugerand chiar si un tratament).
Prolog (Programare in Logica) a fost inventat la inceputul anilor 1970 de catre Alain Colmerauer (Franta) si Robert Kowalski (Marea Britanie) si face parte din limbajele de programare declarative. Spre deosebire de limbajele procedurale, in care este descrisa procedura spre rezolvarea unei probleme (pas cu pas), in limbajele declarative este descrisa situatia, rationamentele logice care duc la rezolvarea unei probleme.
2. APLICATII
1) Sirul lui Fibonacci
Să se scrie un program Prolog care sa afiseze al n-lea număr din sirul Fibonacci.
Formula de recurentă a sirului lui Fibonacci este: , unde n>2, iar
=1 si =1. Multimea termenilor sirului este {1, 1, 2, 3, 5, 8, 13, 21, }.
COD:
fib(1,1). % x1=1
fib(2,1).
fib(N,F) :-
N>2, N1 is N-1, fib(N1,F1), N2 is N-2, fib(N2,F2), F is F1 + F2.
(fisier: 1.pl)
2) Minimul, maximul, c.m.m.d.c. a 2 numere si maximul si minimul elementelor
unei liste
COD:
min(A,B,A) :- A<B, !.
min(A,B,B).
max(A,B,A) :- A>B,!.
max(A,B,B).
min([X],X).
min([X|L],Z) :- min(L,Y), min(X,Y,Z).
max([X],X).
max([X|L],Z) :- max(L,Y), max(X,Y,Z).
cmmdc(A,A,A).
cmmdc(A,1,1).
cmmdc(1,B,1).
cmmdc(A,B,D) :- A>B, Y is A-B, cmmdc(Y,B,D).
cmmdc(A,B,D) :- A<B, Y is B-A, cmmdc(A,Y,D).
Preview document
Conținut arhivă zip
- Inteligenta Artificiala.doc