- 방향 그래프를 이용하여 개념 간의 관계를 나타냄
- 그래프 = 노드 + 간선
- 노드: 사물(objects),개념(concepts) 등을 표현
- 간선(edge): 사물이나 개념 사이의 관계
- is-a(isa): ..의 일종이다
- has: ..을 가지고 있다
- inst-of: ..은 하나의 예이다
- a kind of(ako): 어떤 부류를 나타내는 개념의 한 종류 (상속받을 수 있음!)
- has-part : 한 객체를 구성하는 구성품을 나타내는 관계
- 장점: 매우 복잡한 개념이나 인과 관계 잘 표현 가능
- 단점: 지식의 양이 커지면 너무 복잡해져서 조작이 어려움
- 의미망을 위한 표준 지침x -> 시스템에 따라 의미망의 형태가 다를 수 있음
- 사용한 이유: 규칙을 이용한 지식 표현 방법은 융통성이 적고 구조화되어 있지 않기 떄문에, 어느 시스템의 구조를 모형화하거나 특정 지식을 표현하기에 매우 불편하며 부적합한 면이 있기 때문...-> 시맨틱 네트를 사용하면 노드(객체, 개념, 사건들)를 표현 가능 (추가자료 참고[1]!)
- 1970s Marvin Minsky가 제안한 지식 표현 방법 (의미망에서 파생)
- 특정 객체와 그 속성을 묶어서 하나로 조직화하는 방법(
구조화
) - 개념, 객체, 상황들을 기술하는데 유리 - 프레임 = 객체의 속성 + 객체의 값
- 프레임과 객체지향 프로그래밍
- 프레임이란 용어로 객체 나타냄
- 객체의 필드 = 프레임의 슬롯
- 프레임의 슬롯은 값 뿐만 아니라 프로시저도 가짐. (슬롯에 붙은 프로시저가 바로 객체의 메소드)
- 프레임의 장점
- 개념을 구조화 가능
- 지식의 재사용성 높음
- 지식의 일관성 유지 가능
- 인공지능에서 많이 사용하는 논리: 1차 술어 논리, 명제 논리
- 장점
- 수학적인 근거를 바탕으로 논리 개념을 자연스레 표현 가능
- 지식의 정형화 영역에 적합. (정리 증명 기법 사용 가능)
- 지식의 첨가, 삭제 용이하고 비교적 단순
- 단점
- 절차적인 지식 표현 어려움
- 사실의 구성 법칙이 부족하므로 실세계의 복잡한 구조를 표현하기 어려움
- 기호논리학에서 명제는 참이거나 또는 거짓을 판별할 수 있는 문장
- 논리 연산자 사용 가능 (NOT, AND, OR 등) -> 복합 명제를 만들 수 있음
- E = C -> D
- A -> B (동치: ~AUB)
- 추론(inference)란 우리가 가지고 있는 지식과 우리가 이미 알고 있는 사실로부터 새로운 사실을 유추하여 내는 것
- 모더스 포넌스(Modus Ponens)
- 부정 논법(Modus Tollens)
규칙 A -> B 사실 NOT B --------- 결론 NOT A
- 삼단논법(syllogism)
규칙 A -> B 사실 B -> C ---------- 결론 A -> C
- B 가 False면 ~A는 True일수밖에 없음
- B가 True면 C는 True일수밖에 없음
- 명제 논리에서 하나의 명제가 나누어질 수 없음 -> 전체 명제가 참/거짓이냐만을 말할 수 있음
- 술어 논리에서는 하나의 명제가 객체와 술어로 나누어짐
- 변수와 한정자 사용 가능
- ex> blue(신호등) is-a(x,bird)
- 명제보다 훨씬 구체적으로 지식 표현 가능
명제논리: Kim has a house 술어논리: HAS(Kim, house) // 명제논리: The orange is yellow 술어논리: YELLOW(orange)
- 객체: 상수 기호로 나타냄
- 관계: 술어 기호로 나타냄
- 변수 ex> x가 인간이라면 => HUMAN(x)로 표현 (x가 인간이라면 저 술어 논리식은 참이 됨)
- 한정자: 변수의 범위를 서술하는 기호
- 전칭 한정사(universal quantifier) ∀('모든')
- 존재 한정사(existential quantifier) ∃('적어도 하나는 존재')
- 추가자료 참고
- 논리융합(resolution)
- WFF