프롤로그(prolog)란 프로그래밍 언어가 있다는대 엄청 신기한... 인공지능 개발에 쓰인다는대 간단할 로직들만 입력해주면 알아서 답을 찾아내는!
언어는 간단히 fact,rule,query로 이루어지는대
parent(A,B) %A는 B의 부모이다, fact
female(B) %B는 여자이다,fact
daughter(Y,X) :- parent(X,Y), female(Y) %X가 Y의 부모이고 Y가 여자일때 Y는 X의 딸이다, rule
그리고 이렇게 물어보면
?-daughter(B,A) %B가 A의 딸이냐?, query
그럼 답이 yes라고 나온단다....신기신기
아마 이 언어면 음... fact 조건과 rule이 모자란다면 쉽게 에러가 날수도 있겠지만...어쨌든 C처럼 복잡하게 안짜도 되고 확실히 편한거 같다.
아 참 그리고 rule에서 "_"가 나올수도 있다던대 아무거나를 뜻한단다, 얘를 들어서
mother(X) :- parent(X,_) , female(X) %즉 X가 엄마인 조건은 X가 누군가의 부모고 X가 여자이다.
우리 교수님이 "_"는 "i don't care"를 뜻한다던대....아이 돈 케에에에에에~ 아이 돈 케에에에에에~ 가 생각나는 난 머지?ㅋ
그리고 list는 cons명령어로 쓸수 있다.
cons(X, cons(Y, cons(Z, ... cons(x, cons(y, cons(z, nil)))...)))
이 리스트는 X,Y,Z,...,x,y,z이렇게 흘러가겠지...마지막에 nil은 그냥 끝을 의미하는 변수
그럼 오늘은 여기까지~!
댓글 없음:
댓글 쓰기