final_state([k(2,2),k(1,3),k(2,3),k(3,3),k(3,2),k(3,1),k(2,1),k(1,1),k(1,2)]).
evalute([Move|Moves],State,MVs,OrderedMVs):value(Move,Value),
insert(c(Move,Value),MVs,MVs1),
evalute(Moves,State,MVs1,OrderedMVs).
evalute([],State,MVs,MVs).
insert(c(M,V),[],[c(M,V)]).
insert(c(M,V),[c(M1,V1)|MVs],[c(M,V),c(M1,V1)|MVs]):V<=V1.
insert(c(M,V),[c(M1,V1)|MVs],[c(M1,V1)|MVs1]):V>V1, insert(c(M,V),MVs,MVs1).
start1(State, Move):sp(State,Moves),
evalute(Moves,State,[],MVs),
memb(c(Move,Value),MVs).
start(State,History,[]):final_state(State).
start(State,History,[Move|Moves]):start1(State,Move),
not (member(Move,History)),
start(Move,[Move|History],Moves).
goal
%1 start([k(2,2),k(1,3),k(3,2),k(2,3),k(3,3),k(3,1),k(2,1),k(1,1),k(1,2)],[],R),
%2 start([k(2,1),k(1,2),k(1,3),k(3,3),k(3,2),k(3,1),k(2,2),k(1,1),k(2,3)], [],R),
%3 start([k(3,2),k(1,2),k(1,3),k(2,3),k(2,1),k(3,3),k(3,1),k(1,1),k(2,2)], [],R),
openwrite(fi,"res.txt"),
writedevice(fi),
%1 presh([[k(2,2),k(1,3),k(3,2),k(2,3),k(3,3),k(3,1),k(2,1),k(1,1),k(1,2)]]),
%2 presh([[k(2,1),k(1,2),k(1,3),k(3,3),k(3,2),k(3,1),k(2,2),k(1,1),k(2,3)]]),
%3 presh([[k(3,2),k(1,2),k(1,3),k(2,3),k(2,1),k(3,3),k(3,1),k(1,1),k(2,2)]]),
presh(R),
closefile(fi).
Результаты:
1)
4 шага:
------------- ------------- ------------- ------------- ------------| 1 | 3 | 4 | | 1 | 3 | 4 | | 1 | 3 | | | 1 | | 3 | | 1 | 2 | 3 |
------------- ------------- ------------- ------------- -------------
| 8 | | 2 | | 8 | 2 | | | 8 | 2 | 4 | | 8 | 2 | 4 | | 8 | | 4 |
------------- -------------- ------------- ------------- ------------| 7 | 6 | 5 | | 7 | 6 | 5 | | 7 | 6 | 5 | | 7 | 6 | 5 | | 7 | 6 | 5 |
------------- ------------- ------------- ------------- ------------2)
5 шагов:
------------- ------------- ------------- ------------- ------------- ------------| 2 | 8 | 3 | | 2 | 8 | 3 | | 2 | | 3 | | | 2 | 3 | | 1 | 2 | 3 | | 1 | 2 | 3 |
------------- ------------- ------------- ------------- ------------- ------------| 1 | 6 | 4 | | 1 | | 4 | | 1 | 8 | 4 | | 1 | 8 | 4 | | | 8 | 4 | | 8 | | 4 |
------------- ------------- ------------- ------------- ------------- ------------| 7 | | 5 | | 7 | 6 | 5 | | 7 | 6 | 5 | | 7 | 6 | 5 | | 7 | 6 | 5 | | 7 | 6 | 5 |
------------- ------------- ------------- ------------- ------------- ------------3)
9 шагов:
------------- ------------- ------------- ------------- ------------- ------------| 2 | 3 | 5 | | 2 | 3 | | | 2 | | 3 | | | 2 | 3 | | 1 | 2 | 3 | | 1 | 2 | 3 |
------------- ------------- ------------- ------------- ------------- ------------| 1 | 8 | | | 1 | 8 | 5 | | 1 | 8 | 5 | | 1 | 8 | 5 | | | 8 | 5 | | 8 | | 5 |
------------- ------------- ------------- ------------- ------------- ------------| 7 | 4 | 6 | | 7 | 4 | 6 | | 7 | 4 | 6 | | 7 | 3 | 6 | | 7 | 4 | 6 | | 7 | 4 | 6 |
------------- ------------- ------------- ------------- ------------- ------------------------- ------------- ------------- -------------
| 1 | 2 | 3 | | 1 | 2 | 3 | | 1 | 2 | 3 | | 1 | 2 | 3 |
------------- ------------- ------------- -------------
| 8 | 4 | 5 | | 8 | 4 | 5 | | 8 | 4 | | | 8 | | 4 |
------------- -------------- ------------- -------------
| 7 | | 6 | | 7 | 6 | | | 7 | 6 | 5 | | 7 | 6 | 5 |
------------- ------------- ------------- -------------
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.