본문 바로가기
Development/인공지능

지식표현 - 논리, 의미망, 프레임, 규칙

by 메정 2020. 4. 22.

- 지식은 인공지능에서의 핵심!

- 지식표현 연구는 지식을 체계적으로 조직, 저장, 효율적으로 이용하도록 하는 방법의 연구

- 문제 영역이나 문제해결의 효율성을 위해 -> 적절한 지식 표현 방법을 선택해야 함.

**지식 표현의 종류

1. 논리
2. 의미망
3. 프레임
4. 규칙
5.객체지향 표현기법


1. 논리(logic)

- 수학, 논리학에서 사용되는 명제논리(~는 ~다) or 서술논리(wff) 사용. 
  //wff(well-formed formular:정형공식)

- 장점 : 수학적인 근거를 바탕으로 논리개념을 자연스럽게 표현.
          지식의 정형화 영역에 적합. (증명/규칙적이게)
           지식의 첨가, 삭제가 용이하고 단순

- 단점 : 절차적, 결정적 표현이 어렵.  (A야 B해라!)    //~는 어떻다. 이런건 잘하지만, 명령은 못해. 
           사실의 구성법칙이 부족 -> 실세계의 복잡한 구조를 표현하기 어렵  (명제를 실세계 전체를 표현하는 건 어렵잖아 ㅇㅇ)

 * 비교흡수 부정(Resolution Refutation) == 논리융합 반박

   - 기존 명제(부모절)로부터 새 명제를 증명하는 것. 어떻게? 비교흡수를 통해.

   - 1) 비교흡수 : 두 개의 부모절에서 c와 ~c를 없애고 나머지 절들의 논리합을 취해 -> 비교흡수절 생성.
        // 비교흡수는 sound하지만 complete하지 않음. (증명 가능하지만 모든 명제를 증명할 순 없음)

   - 2) 비교흡수 부정 :  논리합으로만 된 정형공식
                               정형공식 집합 s에 특정 정형공식 x가 논리적으로 따름을 증명하기 위한 연산
                              기존의 참인 것으로 구성된 집합 S에 증명하고자하는 사실 X의 부정을 집어넣어 비교흡수를 진행 -> 모순(nil)이 발생하면 종결. //원래 명제가 참임을 증명.

정형공식절 -> 비교흡수절로 만드는 방법
  1. -> 제거. ex) A -> B = ~A합B
  2. ~ 영역 축소(드모르간 법칙 적용) ex) ~(a합b) = ~a교~b
  3. 한정기호(모든, 어떤)에 대한 고유한 변수를 갖도록 변수화
  4. 존재한정기호(어떤~) 제거하기 위해 skolem함수로 표현.
      ex) 모든 y에 대하여 어떤 x가 존재하면 p(x,y)가 성립한다.  y가 무엇이냐에 따라 x가 결정 == x는 y에 종속됨. == p( g(y), y )
  5. 모든전체한정기호를 정형공식 맨 앞으로 내기
  6. 정형공식을 논리곱 정규형으로 변환   ex) x합(x교x) = (x합x)교(x합x)
  7. 전체한정기호를 모두 생략
  8. 논리곱 생략 교집합 -> , 로 변환
  9. 각 절에 같은 변수명 없도록 조정.
//각 정형공식은 독립적인 논리합 형태로 바뀜. 비교흡수부정? 하기 편한 형태로 

 * 답의 유도   

   - 항진명제(항상 참인 명제)를 데려와 비교흡수를 진행하면? 항상 참. y? 비교흡수를 진행 //비교흡수절은 논리합으로 이루어짐. 

   - 기초집합 s에 논리적으로 따르는 (어떤)w(x)가 구체적으로 무엇인가를 유도하는 것임. 

   - 유도과정 :

      1. 비교 흡수 부정 과정에 의한 트리를 생성 
      2. 목표절의 skolem함수의 변수는 새로운 이름으로 대치 (단일화 진행)
      3. 부정된 목표절과 원래절을 논리합하여 기초절에 추가 -> 항진명제가 되어 -> 기초 절에 항상 참인 절을 추가해도 무관
      4. 1)의 트리를 바탕으로 수정된 증명 트리 생성
      5. 수정된 증명 트리의 남은 절이 뿌리노드의 절이 됨.


2. 의미망

- 지식, 인간의 기억, 실세계 -> 망 구조로 표현

- 노드에는 객체, 개념, 사건 등을 표현

- 링크에는 노드들간의 관계를 묘사 

- 장점 : 매우 복잡한 개념, 인과 관계 표현에 용이 //그림 개념이므로 표현 쉬움

- 단점 : 지식량이 커지면 복잡해짐(노드 수가 증가하면) -> 조작이 어렵

지식표현 : 이재규 외


3. 프레임

- 의미망의 한 종류. 객체(프레임)와 그 속성(슬롯)의 구조적 기술.

- 프레임 객체 구조 내에 슬롯이라는 속성 묘사에 중점.

- 데이터와 프로시저를 하나의 구조로 묶는다. 

- 프레임들을 계층적으로 구성된다.

- 슬롯은 객체의 속성과 속성값을 채우는 값이다.
//디폴트값, 프레임 포인터, 규칙, 프로시저. 프로세저는 슬롯 값 요구, 변경, 제거될 때 자동으로 작동되는 데몬. (슬롯의 값에 프로시저가 올 수 있음)

- 패싯은 슬롯 값을 다양하게 줄 수 있는 키. 수식어.

- 프레임 표현 <프레임이름>-<슬롯이름>-<패싯이름>-<값>

- 장점 : 지식 표현이 일반적, 자연스럽. (계층구조로 표현이 가능하므로) 강력함

- 단점 : 복잡 -> 지식 작성이 어렵

// 복잡하여 지식 작성이 어려운 것은 symbolic AI가 갖는 근복적 문제이기도 함. 기초적 접근법. 시간에 따라 접근을 하지 못해.


4. 규칙

- 결정이나 결론이 요구되는 영역에 유용

- 사실집합과 규칙집합으로 구분, 규칙의 가정부분이 사실 집합의 일부와 부합될 때 규칙의 결론부분이 실행.

- 장점 : 모듈화 됨. 독립적으로 추가, 삭제, 변경이 용이함.
          특정 표현 방법에 따라 구조를 달리할 수 있음.
          결정, 결론이 요구되는 영역에 적합.

- 단점 : 모듈화되어 있어 규칙이 실행되기 위해 사실집합이 모두 참인지 뒤져야 함. (문제풀이에 많은 경비 소요), 제어가 복잡.

5. 객체지향 개념

댓글