인공지능

술어 논리

코코팡 2021. 10. 16. 15:53

술어 논리

술어 논리는 명제의 내용을 다루기 위해서 변수, 함수 등을 도입해 이들의 값에 따라 T,F이 결정 되도록 명제 논리를 확장한 논리이다. 

여기서 술어는 문장이 있을 때 "주어+서술어" 서술어에 해당하며 대상의 속성이나 대상 간의 관계를 기술하는 기호로 T,F값을 부여하는 명제의 기본형식이다.

EX)

 

술어 논리에는 변수의 범위를 고려한 표현을 쓰는데 첫번째는 존재 한정사(∃) 전칭 한정사(∀) 사용한다. 이 표현법을 활용하면  

 

 

 

 

 

 

술어 논리에서 함수는 주어진 인자에 대해서 일반적인 값을 반환을 해주고 그 반환한 값을 술어나 다른 함수의 인자로 사용한다.

술어 논리에서 은 함수의 인자가 될 수 있는 것이며 항이 될 수 있는 것은 개체상수,변수,함수이다.

 

술어 논리식에 대한 정형식

 

여기까지는 명제논리도 나오는 내용이지만

이 내용은 술어 논리에만 나온다.

EX)

1번째 부터 해석을 하자면 모든 말은 모든 개보다 빠르다

2.번째 토끼보다 빠른 그레이 하운드가 존재한다

3. 헤리는 말이다

4. 랄프는 토끼이다

5. 모든 그레이하운드는 개이다.

6.X가Y보다 빠르고 Y가 Z보다 빠르면 X는 Z보다 빠르다.

 

술어 논리의 종류

1.일차 술어논리: 술어기호의 인자로 사용될 수 있는 객체나 대상 만을 변수화할 수 있고, 이들 변수에만 전칭 한정사와 존재 한정사를 쓸 수 있도록 한 술어논리

EX)

2. 고차 술어논리: 함수나 술어기호도 변수화할 수 있고, 이들 변수에 대해서도 전칭 한정사와 존재 한정사를 쓸 수 있음.

EX)

 

술어 논리를 이용한 지식 표현

 

이렇게 a~d의 문장이 있을 때 이를 술어 논리로 표현을 할 수있다. 

 

술어 논리식의 CNF로의 변환 과정

1. 전칭 한정사와 존재 한정사를 논리식의 맨 앞으로 끌어내는 변환이다.

 

2. 전칭 한정사에 결합된 변수는 임의의 값이 허용이 된다.

전칭 한정사로만 결합이 된 변수는 이미 그 변수 자체로 전칭 한정사의 의미를 내포하기에 전칭 한정사를 없애고 X라는 임의의 변수만으로 사용가능하다.

 

 

 

 

3. 존재 한정사에 결합된 변수: 대응되는 술어 기호를 T로 만드는 값을 변수에 대응시킨다.

전칭 한정사와 똑같이 제거를 해준다면 Y를 존재 한정사가 아닌 전칭 한정사로 인식을 하기에 존재 한정의 의미가 사라지므로 변수로 남기면 안된다.

 

그러면 이것을 상수또는 함수로는 남길 수 있지만 특정한 상황에 따라 상수로도 남길 수 없는 상황이 존재한다.

 

 

이런 경우 X에따라 Y가 달라질 수 있으므로 Y를 단순 상수로 바꾸면 의미 전달이 되지않는다.

그래서 이럴때는 함수로 치환을 해줘야한다.

이때 쓰이는 함수가 스콜렘 함수라 한다.

 

 

 

 

 

 

스콜렘 함수S(X) : 존재 한정사에 결합된 변수를 해당 술어의 전칭 한정사에 결합된 다른 변수들의 새로운 함수로 대체한다.

 

단일화 과정

술어 논리에 논리융합을 적용할 떄 대응되는 리터럴이 같아지도록 변수의 값을 맞춰주는 과정이다.

EX)

위의 그림은 논리융합 과정에 리터럴의 변수의 값이 같지않아 X를 Jim으로 대체하면 Hate가 도출이 되는 것이다

위의 그림에서도 전칭 한정사만으로 이루워져 있기에 제거할 수 있고 이를 제거 한뒤에 논리합절로 바꿔준 뒤 변수x의 값을 소크라테스로 대체가능하다.

 

'인공지능' 카테고리의 다른 글

확률기반 불확실성 표현  (0) 2021.10.17
논리 추론  (0) 2021.10.15
명제 논리  (0) 2021.10.14
지식표현과 추론  (0) 2021.10.13
인공지능 최적화  (0) 2021.10.11