Lucrare de laborator
9, 10
Inteligenta artificiala
PROLOG
A elaborat:
A verificat: _______________
Chisinau 2012
Inteligena artificial. Lucrare de laborator Nr.9.
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
domains
s=symbol
ls=s*
predicates
problema
pioni(ls)
stare(ls,ls)
clauses
problema:-pioni([a,a,a,o,n,n,n]).
pioni([n,n,n,o,a,a,a]):write("[n,n,n,o,a,a,a]\n").
pioni(L):-stare(L,Rez),pioni(Rez),write(Rez,"\n").
stare([o,n|T],[n,o|T]).
stare([o,a,n|T],[n,a,o|T]).
stare([a,o|T],[o,a|T]).
stare([a,n,o|T],[o,n,a|T]).
stare([H|T],Rez):-stare(T,Rez1),Rez=[H|Rez1].