200 likes | 1.07k Views
생성시스템과 추론 (Production system & Reasoning) 최 윤 정. 인공지능시스템 (Artificial Intelligence). 생성시스템. 생성시스템 (production system) 은 규칙 또는 생성규칙 (production rule) 를 바탕으로 지식을 표현하고 , 새로운 지식 ( 사실 ) 을 생성해 내는 시스템 또는 에이전트 . ( 1) 생성규칙들의 모임인 생성 메모리 (production memory)
E N D
생성시스템과추론(Production system & Reasoning) 최 윤 정 인공지능시스템(Artificial Intelligence)
생성시스템 • 생성시스템(production system)은 규칙 또는 생성규칙(production rule)를 바탕으로 지식을 표현하고, 새로운 지식(사실)을 생성해 내는 시스템 또는 에이전트. • (1) 생성규칙들의 모임인 생성 메모리(production memory) • (2) 현재의 상태를 나타내는 버퍼(buffer)와 비슷한 데이터 구조로서의 작업 메모리(working memory 또는 context) • (3) 시스템의 운영을 관장하는 인터프리터(interpreter) • 생성규칙 • “If this condition hold, then this action is appropriate” 와 같은 조건과 이 조건의 만족 시 수행되는 행동(결론)의 쌍 • Execute와 fire • 조건부가만족된 규칙의 결론 execute될 수 있다. • Fire : 인터프리터에 의해 execute가 수행되는 것. • 작업 메모리 : 심볼(symbol)들의 단순한 리스트 • Context List(CL)라고한다.
동물농장 : 규칙표현 • 특징들로부터 동물의 이름을 알아내자 : identifier • 생성규칙 : 규칙 1 ~ 4는 포유동물(mammal)과 조류(bird)를 구분하기 위한 것. • 규칙 P1. IF the animal has hair THEN it is a mammal • 규칙 P2. IF the animal gives milk THEN it is a mammal • 규칙 P3. IF the animal has feathers THEN it is a bird • 규칙 P4. IF the animal flies AND it lays egg THEN it is a bird
동물농장 : 규칙표현 • 육식동물(carnivore)인가를 규정하기 위해 다음 2개의 규칙이 필요하다. • 규칙 P5. IF the animal is a mammal AND it eats meat THEN it is a carnivore • 규칙 P6. IF the animal is a mammal AND it has pointed teeth AND it has claws AND its eyes point forward THEN it is a carnivore • 유제류(ungulate)는 발굽(hoof)이 있는 동물이다. • 규칙 P7. IF the animal is a mammal AND it has hoofs THEN it is an ungulate • 유제류의 다른 특징은 되새김(cud)을 하는 것이다. • 규칙 P8. IF the animal is a mammal AND it chew cud THEN it is an ungulate AND it is even-toed
동물농장 : 규칙표현 • 육식류에는 다음의 두 가지 동물이 있다. : cheetah, tiger • 규칙 P9. IF the animal is a carnivore AND it has a tawny color AND it has dark spots THEN it is a cheetah • 규칙 P10. IF the animal is a carnivore AND it has a tawny color AND it has black stripes THEN it is a tiger • 유제류에서는 다음의 두 가지 동물이 있다.: Giraffe, Zebra • 규칙 P11. IF the animal is an ungulate AND it has long legs AND it has a long neck AND it has a tawny color AND it has dark spots THEN it is a giraffe • 규칙 P12. IF the animal is an ungulate AND it has a white color AND it has black stripes THEN it is a zebra
동물농장 : 규칙표현 • 다음은 P13, P14, P15는 조류에 관한 것이다. : Ostrich, penguin, Albatross • 규칙 P13. IF the animal is a bird AND it does not fly AND it has long legs AND it has a long neck AND it is black and white THEN it is a ostrich • 규칙 P14. IF the animal is a bird AND it does not fly AND it swims AND it is black and white THEN it is a penguin • 규칙 P15. IF the animal is a bird AND it is a good flyer THEN it is an albatross • 어떤 동물들은 서로 같은 특징을 지니고 있다. • 얼룩말과 호랑이는 검은 띠. 호랑이와 치타와 기린은 황갈색 • 기린과 타조는 긴다리와 긴 목 • 타조와 펭귄은 검은색과 하얀색
동물농장 : 추론의 실행 예 • 추론과정 • 1. 관측된 동물은 황갈색과 검은 점(dark spot)을 지닌다. • 규칙 P9와 P11의 조건부 중 일부가 만족되지만 더 만족되어야 할 부분이 있으므로 수행할 수 없다. • 2. 새끼를 돌보는 도중 동물은 되새김을 하였다. • 분명히 동물은 젖(milk)을 주는데, 이 때 규칙 P2를 수행시켜 포유류임을 알아낸다. • 3. 동물이 포유류이고 되새김을 한다. • P8에 의하여 유제류이며, 발가락이 둘 또는 넷(even-toed)이라고 생각된다. • 4. 동물은 긴 다리와 긴 목을 갖고 있다. • 따라서 P11이 수행되고, 결론은 기린임을 알게 된다. 추론회로(규칙들의 연결상태)
추론(Inference) • 이미 알고 있는 사실로부터 새로운 사실을 추리해 내는 것. • Vs. 데이터마이닝의정의는? 대량의 정보로부터 기존에는 알려져 있지 않은, not trivial한 정보를 알아내는 기법이자 과정. • 추론 능력 : 인공지능시스템이 기존의 시스템과 구별되는 다른 점 • 연역법(deduction) : 규칙 If A then B + 사실 A B를 얻는 것 • 유도법(abduction) : ‘IF A THEN B’+ 결론‘B’ 사실 ‘A’를 얻어내는 것. • 귀납법(induction) : 관측된 사실로부터 새로운 법칙을 만들어낸다. • 적용 시스템에서는 목표에 따라 더 구체화시키고 완전성을 부여하여 구현되어야 한다. • 진위여부의 검증 • 확률 및 확신도 함수의 사용
연역법(deduction) • 논리, 의미망및 프레임에서의 추론방식 • 규칙 IF A Then B 와 참으로 주어진 fact ‘A’로부터 B라는 사실을 알아내는 과정 • 이와 같이 얻은 새로운 사실은, 원래 주어져 있는 것들이 모두 참(true)라면 항상 참이므로 • 연역법에 의한 추론은 항상 옳다. • 추론의 완전성(soundness)
유도법 • 임의의 규칙 IF A THEN B 그리고 ‘B’ 가 주어졌을 때 • ‘A’를 얻어내는 것으로 항상 옳은 결과가 얻어지지는 않는다. • 규칙: IF someone is a mother THEN someone is a woman, • Sue is a woman • 여기서 얻어낼 수 있는 ‘Sue is a mother’가 꼭 옳다고 볼 수는 없다. • 유도법은일종의 추측법이므로 옳은 경우가 있으나 모든 경우에 대해서 완전성을 부여할 수는 없으나 가끔 이용되기도 한다. • 유사추론 (plausible inference) : 그럴 듯해 보이는 추론
귀납법(induction) • 관측된 사실로부터 새로운 법칙을 만들어 내는 것으로, • IF something is a sparrow THEN it can fly. • IF something is a dove THEN it can fly. • …. • ….. • ….. • ‘IF something is bird THEN it can fly’를 얻어낸다. • 이 역시 항상 옳은 추론은 아니지만 학습(learning)과 관계된다. • Case-based Reasoning • Memory-based Reasoning
추론의방향 • 조건vs.결론, 적용하는 방향에 따라. • 전방향vs. 후방향 • 전방향추론 • 주어진상황/사실이 존재하는가?(matching) • 만족하는 규칙을 수행하여 결론을 도출해 간다. • 규칙의 개수가 적을 때는 문제가 없으나 규칙의 개수가 많을 때는 추론시간이 지나치게 길어짐. • 하나를 도출하기 위해 그와 관계없는 많은 규칙도 고려해 주어야 하므로 비효율적. • 단점을 보완하기 위해 후방향추론을 함께 사용하기도 한다. • Fuzzy system에서 Modus ponens로 활용된다. 추론사슬(inference chaining) Base(working memory) Z D F A C B
후방향추론 • 도출해야 할 결론을 정하고 이를 위해 필요한 규칙을 거꾸로 찾아나간다. • Z가존재하는가? F와 B를 찾는다. 현재 상황에 의해 이 규칙들을 만족시켜가며 Z를 입증시킨다. Base(working memory) Z A F D C B 추론사슬(inference chaining) 후방향추론에 의한 사실 추가과정
생성시스템에서 고려할 점 • Process : • Matching(정합) : 실행 가능한 생성규칙을 찾아낸다. • Conflict resolution(충돌해결) : 선택된 규칙 중 수행할 하나를 고른다. • Execute(실행) :선택된 규칙을 실행한다. • 가장 많은 연산시간 및 자원을 소비하는 단계는? Matching. • 생성시스템의 규모 및 복잡성이 증가함에 따라 • 생성메모리내의 규칙의 조건부와 행동부도 확장되었고 과정과 데이터구조 등에서 효율성에 관한 문제가 고려된다. • Matching :주어진 상황에 만족하는 규칙 빨리 찾기 : • 규칙의색인화(indexing) 및 분할(indexing) • Filtering : 작업메모리에 삽입/제거될 때, 이에 영향을 받는 규칙을 필터링 한다. • 결국 Problem state(문제상태정의공간) 를 줄여나가는 일.!
생성시스템에서 고려할 점 • 충돌해결(Conflict Resolution) • 대형시스템에서는 각 주기에서 수행하는 규칙이 하나 이상인 경우가 많다. 충돌집합. 이중 하나를 선택하기 위한 정책이 제시되어왔다. • 1) 최초의 규칙 : 생성메모리에 들어온 순서상 가장 첫 번째 : stack 구조 • 2) 가장 높은 우선순위(priority)를가진 규칙: 문제 분야의 성격에 따라 각 규칙에 우선순위를 부여한다. • 3) 현재의 작업메모리에서 만족되는 가장 특별한 규칙 : 가장 세분화된 조건을 갖는 규칙. – 예)논리곱요소(conjunct)가 많다. • 4) 작업메모리에 삽입된 가장 최근의 정보로 만족된 규칙 • 5) 가장 새로운 규칙 : 즉, 이전에는 수행되지 않았던 규칙 • 6) 임의의 규칙 • 이러한 방법들 중에서 서로 다른 조합을 사용하기도 하고, 문제에 적합하도록 스케쥴링 알고리즘을 세워 사용하기도 한다.
생성시스템에서 고려할 점 : 추론방향의 결정 • 전방향추론과후방향추론 중 어느것이 더 좋은가?? • 추론의 목적과 문제 분야의 성격에 의하여 결정된다. • 불필요한 사실의 유도를 막아보자.! • 목적이 주어진 사실로부터 유도될 수 있는 모든 것을 찾아내기 위한 것이라면? • 전방향추론이바람직. • 목적이 특별히주어진 결론을 입증하거나 부정하고자 하는 것이라면? • 결론의 반대방향으로 출발하는 후방향추론이바람직. • 후방향추론은 주어진 전제로부터 후방향 추론할 때는, 적당한 규칙이 존재하는 한, 주어진 결론이 입증되기까지 계속 된다. • 따라서, 만일, 더 적용할 규칙이 없을 때에는 입력장치를 통하여 정보를 입수하거나 사용자가 개입하도록 설계하는 것이 좋다.
생성시스템에서 고려할 점 : 추론능력 및 설명력 • 추론과정에 대한 설명능력 • 생성시스템을 포함한 규칙을 이용한 모든 시스템은, 추론과정을 설명할 수 있다. • Semantic Network vs. Neural Network.! • 설명력 • Why?! : 해당 결론을 위해 어떤 사실이 사용되었는가? • 전방향으로한단계씩 진행하여 알 수 있다. • How?! : 주어진 결론에 대한 사실들을 어떻게 얻어낼 수 있었는가에 대해 답하는 능력 • 후방향으로 한 단계씩 추적하여 관계된 규칙들과 조건부들을 언급한다. • 같은 결론이더라도 base와 정의된 규칙의 상태에 따라 설명력, 즉 추론과정의 단계 및 길이가 다르다. • 단순하고 짧은 규칙들을 모아 논리곱 형태의 well-defined상태로 표현하는 것이 필요하다. • KM 샘플 중에서 family doctor 참고.
생성시스템에서 고려할 점 : 확신율 • 해당규칙이 얼마나 확실한가? 를 반영하는 값. == 신뢰도! • 확신율(certainty factor): 0 ~ 1사의 수치값 • 생성시스템이 유도해 내는 결론이 항상 옳지는 않다. 왜? • 사실들, 상황들에 대한 진위 및 update , 유효성의 여부 • case 별로 수집된 정보들로 이루어진 규칙이라면.? • 관계된사실이 얼마나 확실한가를 반영하는 0은 완전히 불확실. • 1은완전히 확실한 것을 나태낸다. • -1 ~ +1로사용하는 시스템도 있으나 보편적으로 0~1 사이의 값을 사용한다. • 추후, naïve baysian등의 확률기반 알고리즘을 사용하는 학습과정에서 다시설명하도록 합니다.
생성시스템에서 고려할 점 : 확신율의 계산 • 확신율을 계산하기 전 다음의 질문과 답이 필요하다.! • 1. 입력 확신율(input certainty)과 선택: 각 규칙의 조건부에서, 각 조건들에 부여된 확신율들의 관계는? 최소값을가진 조건 • 2. 규칙그 자체에서 입력 확신율이 어떻게 행동부의 확신율(출력환신율)에 영향을 주는가? • 3. 여러 규칙의 결론이 같은 사실을 추론할 때, 이 추론결과의 확신율은 어떻게 결정되는가? 최대값을 유도하는 조건으로. • 감쇠율(attenuation factor) :규칙자체에 신뢰도를 부여하고출력 확신율을 계산한다. • 유도된 사실의 확신을 평가하는 예 • (a) 규칙의 각 조건에 관계된 확신율 중 제일 작은 값(Min)으로 정한다. • (b) 입력 확신율에감쇠율을 곱하여 행동부의 확신율로 한다. • (c) 산출된 사실의 확신율 중에서 가장 큰 값(Max)으로 정한다.