본문 바로가기
  • AI와 함께 세상을 아름답게
인공지능(AI)이란? - 기초 개념 및 이론

인공지능(AI) 시스템의 지식 표현과 추론 (2)

by neo-Lee 2023. 5. 16.

2023.05.15 - [인공지능(AI; Artificial Intelligence)] - 인공지능(AI) 시스템의 지식 표현과 추론 (1)

1.3 생성규칙(production rule)과 생성시스템(production system

    생성 시스템(Production System)에서는 if-then 형식으로 개념의 관계를 나타내는 생성 규칙(Productiion Rule)을 이용하여 지식을 표현합니다. 생성규칙은 다음과 같은 형식의 규칙표현입니다

 

    if(조건부)  then(결론부)

 

    조건부에는 이 규칙을 적용하기 위한 조건을 기술합니다. 그리고 결론부에는 조건부의 조건이 만족할 수 있는 규칙이 적용된 경우의 상태 변화나 규칙의 적용에 따라 나타나는 동작을 기술한다. 여기에서 생성규칙의 조건부가 충족되어 규칙이 적용되는 것을 '규칙을 수행(fire)한다'라고 합니다.

 

아래 도표는 생성 규칙에 따른 지식표현의 예입니다.

 

if(반도체 메모리, 휘발성)  then(RAM) (1)
if(반도체 메모리, 비휘발성)  then(ROM) (2)
if(RAM, 리프레시)  then(DRAM) (3)
if(RAM, 고속)  then(SRAM) (4)
if(ROM, 재기록 불가)  then(마스크 ROM) (5)
if(ROM, 전기적으로 재기록 가능, 소용량) (6)
if(ROM, 전기적으로 재기록 가능, 대용량) (7)

* (도표) 생성 규칙의 기술 예

 

    도표에서는 반도체 메모리의 분류 지식을 생성 규칙에 따라 기술하고 있습니다. 예를 들면 규칙(1)에서는 "반도체 메모리이고 휘발성인 것은 RAM입니다"라는 지식을 표현합니다. 마찬가지로 규칙(7)에서는 "ROM에서 전기적으로 재기록이 가능하고 대용량인 것은 플래시 메모리입니다"라는 지식을 표현합니다.

 

    여기에서 생성 규칙을 이용한 추론 방법을 살펴봅니다. 첫째는, 주어진 조건을 이용한 규칙을 반복적으로 수행하게 하여 결론을 도출하는 방법, 즉, 조건부에서 결론부로 추론을 진행하는 방법을 '전향 추론(forward reasoning)'이라고 합니다. 생성규칙에서는 거꾸로 결론부에서 조건부로 추론을 진행할 수도 있습니다. 이 방법을 '후향 추론(backward reasoning)'이라고 합니다. 후향 추론은 가정이 맞는지의 여부에 관한 증명을 도출하는 추론 형식입니다.

 

1.4  술어를 이용한 지식표현

    술어(predicate)는 논리학의 개념으로 어떤 구체적인 예시를 주면 진위를 결정할 수 있는 기술을 말합니다. 인공지능의 세계에서는 술어(predicate)를 이용하여 지식 표현을 하기도 합니다. 다음과 같은 술어를 예로 들어 보겠습니다.

 

    computer(X)

 

    이 술어는 인수 (X)가 컴퓨터인지를  판단합니다. 

 

    예를 들어 'computer(노트북)' , 즉 (X)에 (노트북)이라고 주어지면 그 식은 진실(true, T)입니다.

    예를 들어 'computer(인간)', 이라고 주어지면, 그 식은 거짓(false, F)입니다.

 

    아래 그림은  술어를 사용한 지식표현의 예입니다. 

extension(C++언어, C 언어) (1)

extension(C 언어, B 언어)  (2)


extension(PASCAL 언어, ALGOL 언어)  (3)

extension(MODULA-2 언어, PASCAL 언어)  (4)

ancestor(Z,X):-extension(Y,Z), externsion(X, Y)  (5)

        *술어를 이용한 지식 표현의 예

 

    위 그림에서 (5)를 예를 들면,  extension(X, Y)라는 술어를 통해 'X는 Y를 확장한 것이다'라는 지식을 표현합니다. 또한 ancestor(Z, X)라는 술어로서 'extension(Y, Z)이고 또 extention(X, Y)라면 Z는 Y의 선조이다'라는 지식을 표현하는 것입니다. 이것을 Z를 확장한 것이 Y이고 또 Z를 확장한 것이 X이기 때문에 역으로 Z는 X의 선조에 해당한다는 의미입니다. 여기에서 ' :- '라는 기호를 사용해서 술어의 조합에 따른 규칙을 기술하고 있습니다. ':-'라는 기호의 오른쪽에 전제를 기술하고, 결론은 왼쪽에 기술합니다. 이 방법은 앞서 소개한 적이 있는 프로그래밍 언어 프롤로그의 문법에 기반한 방법입니다.

    위 그림의 예를 들어 지식을 이용하여 추론하는 예를 들어 보겠습니다. extension(C 언어, X) (이것은 X에 해당하는 것이 무엇인지를 묻는 표현입니다). 즉, 질문의 의미는 'C언어는 무엇을 확장한 언어입니까?'입니다. 이에 대한 답이 그림의 지식 속에 포함되어 있기 때문에 추론을 할 필요가 없이 답은 'X = B 언어'입니다.

 

(다음 편에도 계속하여 '지식 표현과 추론'을 공부합니다.)

 

2023.05.15 - [인공지능(AI; Artificial Intelligence)] - 인공지능(AI) 시스템의 지식 표현과 추론 (1)

728x90

댓글