AI 5

인공지능(AI) #7_ 전방 연쇄(Forward chaining), 후방 연쇄(Backward chaining)

안녕하세요. 이번 포스팅에서는 전방 연쇄(Forward chaining)와 후방 연쇄(Backward chaining)에 대해서 알아보겠습니다. 1. 전방 연쇄(Forward chaining) 먼저 전방 연쇄란, 기존의 알려진 사실들로 하여금 새로운 사실을 추리하면서 나아가는 방법입니다. 이름처럼 원래 알고 있는 것을 바탕으로 앞으로 나아가는 방법이죠. 즉, 한 문장, 함의에 대한 모든 전제가 알려져 있는 사실이라면 그것에 대한 결론을 새로운 사실로써 지식기지에 추가합니다. 예를 들어, A라는 사실과 B라는 사실을 알고 있을 때, 지식기지에 A∧B=>C 가 있다면 C를 하나의 사실로써 추가할 수 있습니다.이러한 과정을 통해 알고자 하는 사실 Q에 도달하거나 더 이상 추리가 불가능 할때 까지 반복합니다.아..

인공지능(AI) #5_ 추리 규칙(Inference rule), 단조성(Monotonicity)

안녕하세요.지난 포스팅에서는 명제 정리 증명에 있어서 필요한 몇가지 개념에 대해서 알아보았습니다.이번에는 증명을 이끌어 내는데 사용할 수 있는 추리 규칙(Inference rule)에 대해서 알아보도록 하겠습니다.1. 전건 긍정(Modus Ponens) 증명이라는 것은 어떤 원하는 목표로 향해가는 결론들, 문장들의 사슬입니다.그러한 증명을 만들어 내는데 사용되는 가장 잘 알려진 규칙은 아래와 같이 표기하는 전건 긍정(Modus Ponens)입니다. 위의 표기는, 와 형태의 임의의 문장들이 주어졌을 때, 문장 를 추리할 수 있다는 것입니다. 2. 논리곱 소거(AND-elimination) 또 다른 유용한 추리규칙으로는 논리곱 소거(AND-elimination)이 있습니다.논리곱으로 주어진 문장에서 임의의 ..

인공지능(AI) #3_ 명제 논리와 모형 점검 방식

안녕하세요. 문범우입니다.이번포스팅에서는 명제 논리와 모형 점검 방식에 대해서 알아보도록 하겠습니다.1. 명제 논리(Propositional logic) 1-1. 구문(Syntax) 명제 논리의 구문(syntax)은 허용되는 문장들을 정의합니다. 즉, 어떻게 문장을 구성해야 하는지를 이야기합니다.하나의 문장, 원자적 문장(atomic sentence)은 하나의 명제 기호(proposition symbol)로 구성됩니다. 그리고 그러한 기호는 참(true)이거나 거짓(false)인 하나의 명제를 나타 냅니다. 예를 들어 P, Q, R, North 등이 명제 기호입니다.이때, 항상 고정적 의미를 가진 명제가 있는데 자주 보셨듯이 True와 False 입니다. True는 항상 참인 명제이며 False는 항상 ..

알고리즘 #2_Einstein's puzzle(아인슈타인 퍼즐)_[Python을 이용한 CSP algorithm]

안녕하세요.이번에는 python을 이용한 CSP algorithm 중 하나인 Einstein's puzzle(아인슈타인 퍼즐) 해결 코드를 작성해 보겠습니다. 먼저 아인슈타인 퍼즐에 대해 소개해 드릴게요.아인슈타인의 퍼즐은 아래와 같은 문제입니다. * 문제의 배경1. 색깔이 서로 다른 5채의 집이 일렬로 지어져 있다.2. 각 집에는 서로 다른 국적의 사람이 살고 있다.3. 다섯 사람은 서로 다른 음료를 마시고, 서로 다른 담배를 피며, 서로 다른 동물을 기른다. * 15개의 정보1. 영국인은 빨간 집에서 산다.2. 스웨덴인은 개를 기른다.3. 덴마크인은 차를 마신다.4. 초록집은 하얀집의 왼쪽 집이다.5. 초록집에 사는 사람은 커피를 마신다.6. 펠몰 담배를 피는 사람은 새를 기른다.7. 노란집에 사는 ..

알고리즘 #1_Missionaries and cannibals problem(선교사와 식인종 문제)_[python을 통한 DFS Algorithm]

많은 사람들에게 유명한 missionaries and cannibals problem (선교사와 식인종 문제) 강의 왼쪽에 선교사 3명과 식인종 3명이 있고 모두를 강 오른쪽으로 건너게끔 해야한다. 1. 강의 왼쪽이나 오른쪽에서 선교사의 수보다 식인종의 수가 많으면 안된다. 2. 보트에는 최대 2명이 탑승할 수 있으며 최소1명이 탑승해야 움직일 수 있다. 학교 AI시간에 각 state와 action에 대해서 제출하라는 과제가 있었는데 그것을 통해 DFS algorithm을 응용하여 python으로 구현해보았다. 분명히 잘못된 부분이나 부족한 부분이 있을 것 같은데 일단 포스팅을 진행하고 천천히 더 공부해야 겠다. 123456789101112131415161718192021222324252627282930..

728x90