본문내용
from:',F,W,G,C]),
fail.
/* 위험 요소에 대한 규칙 */
unsafe(state(X,Y,Y,C)) :-
opp(X,Y).
unsafe(state(X,W,Y,Y)) :-
opp(X,Y).
/* 목록을 출력하는 규칙 */
writelist([]) :- nl.
writelist([H|T]) :-
print(H), tab(1), writelist(T).
opp(e,w).
opp(w,e).
/*스택을 출력하는 규칙 */
reverse_print_stack(S) :-
empty_stack(S).
reverse_print_stack(S) :-
stack(E, Rest, S),
reverse_print_stack(Rest),
write(E),
nl.
2.2.3 실행 결과
3. 결론
일단 두 실행 결과 'yes'를 반환함으로써, 해당 문제를 해결하였음을 알 수 있다.
하노이 탑 같은 경우, 위의 디스크를 옮기기 위한 아래 디스크의 이동 규칙과, 단일 디스크의 이동을 기록하는 규칙만을 적용하여, 간단하게 문제를 풀이하였고, FWGC의 경우는 이동 규칙에 따라 상태를 변경하다가, 허용되지 않는 상태일 경우 되돌아가는 방식으로 문제를 풀이하였다.
4. 참고문헌
http://www.aistudy.co.kr/program/prolog/visual_prolog_example.htm
George F. Luger, 2005, Artificial Intelligence : Structure and Strategies for Complex Problem Solving 5th E. , ADDISON WESLEY
fail.
/* 위험 요소에 대한 규칙 */
unsafe(state(X,Y,Y,C)) :-
opp(X,Y).
unsafe(state(X,W,Y,Y)) :-
opp(X,Y).
/* 목록을 출력하는 규칙 */
writelist([]) :- nl.
writelist([H|T]) :-
print(H), tab(1), writelist(T).
opp(e,w).
opp(w,e).
/*스택을 출력하는 규칙 */
reverse_print_stack(S) :-
empty_stack(S).
reverse_print_stack(S) :-
stack(E, Rest, S),
reverse_print_stack(Rest),
write(E),
nl.
2.2.3 실행 결과
3. 결론
일단 두 실행 결과 'yes'를 반환함으로써, 해당 문제를 해결하였음을 알 수 있다.
하노이 탑 같은 경우, 위의 디스크를 옮기기 위한 아래 디스크의 이동 규칙과, 단일 디스크의 이동을 기록하는 규칙만을 적용하여, 간단하게 문제를 풀이하였고, FWGC의 경우는 이동 규칙에 따라 상태를 변경하다가, 허용되지 않는 상태일 경우 되돌아가는 방식으로 문제를 풀이하였다.
4. 참고문헌
http://www.aistudy.co.kr/program/prolog/visual_prolog_example.htm
George F. Luger, 2005, Artificial Intelligence : Structure and Strategies for Complex Problem Solving 5th E. , ADDISON WESLEY