이산수학(4)

이성준·2023년 6월 27일
0

논리용 언어 Prolog

논리와 명제를 컴퓨터 프로그램을 통해 보다 빠르고 쉽게 구현할 수 있는 프로그래밍 언어

  • Prolog의 특성
    사실(fact), 규칙(rule), 질문(question)들로 프로그램이 구성됨
    사실과 규칙들을 데이터베이스로 구성하였으며, 프로그램 실행은 자료에 대한 질문의 응답형식임
    대화식 명령방식

  • Prolog 프로그램 구현 예
    Human(Socrates) - T
    Human(daesukim) - T
    Animal(Wurry) - T

animal(x): -human(x) == 인간은 동물이다 (x는 변수)
die(x): -animal(x) == 동물은 죽는다.

?-die(Socrates)
yes
?-die(x)
x = Socrates
X = daeskim
X = wurry

연습문제

1) 다음 추론의 유효/허위추론 여부 판단
~p->q, q->~p

  • 둘 다 참이어야 유효추론, 하나라도 거짓이면 허위추론
pq~p~p->qq->~p
TTFTF
TFFTT
FTTTT
FFTFT

p=T, q=T일때 q->~p가 F이므로 허위추론

2) 다음 추론의 유효/허위추론 여부 판단
p->q, (~r->q) -> (p->~r)

pqr~qp->~q~r~r->qp->~r
TFTTTFTF
FTTFTFTT
FTFFTTTT
FFTTTFTT

-> 첫번째 경우에 거짓이므로 허위추론에 해당함.

3) 아래 사실과 추론규칙을 근거로 질의에 답하시오.

사실)
길동은 철수의 아버지다. 혜정은 여성이다.
길동은 길수의 동생이다. 길수는 남성이다.
길동은 혜정이의 남편이다. 철수는 남성이다.

추론규칙)
X가 Y의 남편이면, Y는 X의 아내이다.
A가 B의 아버지이고, B가 남성이면 A의 아들이다.
X가 Y의 아들이고 Y가 Z의 동생이면, X는 Z의 조카다.
U가 W의 조카이고, W가 남성이면, W는 U의 삼촌이다.

질문.
누가 철수의 삼촌인가? -> 길수
= 길동이 철수의 아버지이므로 2번째 규칙에 따라 철수는 길동의 아들.
길동이 길수의 동생이고 길수가 남성이므로 3번째 규칙에 따라 철수는 길수의 조카.
철수가 길수의 조카이고 길수가 남성이므로 4번째 조건에 따라 길수는 철수의 삼촌.

혜정은 길동의 아내인가? -> T
= 길동이 혜정의 남편이므로 1번째 규칙에 따라 혜정이 길동의 아내.

0개의 댓글