2024. 6. 20. 12:54ㆍinformation/AI
초기에 AI는 모든 문제를 '탐색'으로 해결할려고 했습니다.
그 예로는 GPS(general problem solver)로 인공지능 초창기의 대표적인 성과 중 하나로
탐색으로 해결하는 시스템입니다.
이와 같은 시스템은 매우 제한된 영역에서만 작동하였습니다.
하지만 실질적인 문제를 해결하는데 한계가 있었고 연구자들은
제한된 문제에 역량을 집중시켜야 겠다는 것을 깨닫고 나오게 된 시스템이
전문가 시스템입니다.
전문가 시스템은 기존의 절차적 코드(우리가 쓰는 프로그램 코드)가 아니라,
'규칙'으로 표현되는 '지식'을 통해 '추론'함으로써 복잡한 문제를 해결하도록 설계되었습니다.
전문가 시스템은 인공지능 소프트웨어의 최초의 성공적인 형태라고 할 수 있습니다.
위의 보시는 자료와 같이 전문가 시스템은 지식베이스, 추론엔진, 사용자 인터페이스로 구성되어 있으며
지식베이스는 사실 및 규칙으로 구성되고 언제든지 외부에서 지식이 추가될수는 있지만 절대 스스로 추가하지는 못하고
인간이 추가해야합니다.
추론엔진은 지식베이스와는 독립적인 모듈로써 주어진 문제의 해결을 위해 어떤 사실들과 규칙들을 적용할 지 결정하는
모듈입니다.
사용자 인터페이스는 상호작용을 지원하는 형태입니다.
그렇다면 전문가시스템에 규칙이 필요하다 하였는데
규칙은 어떻게 표현될까요?
규칙은 지식을 표현하는 방법 중 하나로
지식을 표현하는 방법에 비해서 상대적으로 이해하고 작성하기 쉬운 형태라고 할 수 있습니다.
이처럼 if then형태를 사용하고 and,or 조건과 수학 연산자 또한 활용할 수 있습니다.
그렇다면 규칙을 활용해야하는 추론엔진은 어떻게 구성되어 있을까요?
위와 같은 과정을 통해서 사실이 도출됩니다.
이처럼 추론에는 두가지 방법이 있습니다.
이처럼 알려진 사실로부터 새로운 사실을 추가하는 것(점화)을 순방향추론이라고 합니다.
자연스러운 추론 방식이지만, 우리의 목표와 직접적으로는 상관이 없는 수많은 규칙들을 점화하게 되는 단점이 있습니다.
위와 같은 추론방식은 역방향 추론입니다.목표에서 시작하여 사실 데이터가 이러한 목표를 지원하는지 확인하는 방법입니다.
점화되는 규칙의 수 측면에서는 순방향추론보다 더 효율적이라고 할 수 있습니다.
그렇다면 동일한 사실에 대해 서로 상반된 결론을 내리는 규칙이 있다면 어떻게 해야할까?
이러한 과정을 충돌(conflict)이라고 합니다.
일반적으로 3가지와 같은 충돌 해법이 있습니다.
1. 각 규칙에 우선순위를 부여하고 가장 높은 우선순위를 가진 규칙을 점화하는 방법
2. 가장 특수한 규칙을 먼저 점화하는 방법
3. 단기 기억장치에 가장 최근에 입력된 데이터를 사용하여 규칙을 점화하는 방법
그렇다면 전문가 시스템의 장점 및 단점에는 어떤 것이 있을까요?
if then을 사용하는 규칙은 인간 전문가의 지식을 표현하는 자연스러운 방법입니다.
전문가 시스템에는 지식베이스와 추론엔진이 분리되기 때문에 다른 영역에도 쉽게 적용할 수 있습니다.
하지만, 탐색이 비효율적이고 규칙이 많아지게 되면 유지보수하는 것이 어려워 집니다.
그렇다면 지식을 표현하는 방법에는 규칙밖에 없을까요?
아닙니다. 술어논리, 의미망, 프레임도 규칙을 표현할 수 있습니다.
이렇게 방향 그래프를 이용해서 개념 간의 관계를 표현할 수 있습니다.
특정 객체와 속성을 묶어서 하나로 조직화하는 방법인 프레임이 있습니다.
지식의 첨가와 삭제가 용이하고 비교적 단순하지만 복잡한 구조를 표현하기에는 어려운 술어 논리가 있습니다.
'information > AI' 카테고리의 다른 글
[딥러닝] (0) | 2024.06.26 |
---|---|
[머신러닝] (0) | 2024.06.26 |
[유전자 알고리즘] (0) | 2024.06.20 |
[퍼지논리] (0) | 2024.06.20 |