MJay

AI Basics-3주차 본문

Cloud Computing/AI

AI Basics-3주차

MJSon 2017. 3. 21. 23:38



AI Basics - Knowledge, Knowledge Representation이다.

그리고 그 Knowledge 으로 Inference하는게 목적이다.

AI System이라고 말할 수 있는 건  Knowledge Base에 Inference Engine이 들어가는 것 들이다.


Knwoeldge Represenation이란

data structure (자료구조)   +  interpretive procedure(추론적 과정) 이다 결국 Knowledge를 통해 추론하는 것이다.

Knowledge-Base이란

세상에 대한 표현이다.  


Inference engine은 이 Knowledge Base와 input으로부터 새로운 문장을 도출하는 과정이다.


Knowledge를 표현할때 쓰이는 구성요소는 Syntax(grammar), Semantics(meaning of senetences) 이렇게 된다. 문맥, 의미, 증명론

Knowledge는 지식을 얻을때, Knowledge Base와 관련된 걸 얻을 때, 그 사실을 바탕으로 추론 과정에서 쓰인다(추론이라고 보면 된다)



Knowledge Representation의 종류는 5가지이다. 

  1. Logic    A 는 B이다.
  1. Rule-Based이다. 만약 ~~~이면 ~~이다.
  1. Network Knowledge Represnetation (Semantic Net) -의미 네트워크
  1. 구조환된 Knowledge Representation
  1. Probability based K.R Scheme - 
*theorem - 당연한 원리


Logic에 대해서 알아보자.

Logic 은 문장을 -> logical expression -> True or False로 나타내주는 것이다.



이렇게 Logical Expression을 통해 Inference 추론, 일반화를 할수있다.

추론하는 방법은 총 3가지가 있다.

1번째로 Deduction이 있다.

Deduction - 일반화 된 원리에서 구체적인 사실을 뽑아내기  -----빼다공제하다〔from …〕 -> induce의 반대이다.

여기서 종류가 2가지 있다.

Modus Ponens:   

the rule of logic stating that if a conditional statement (“if p then q”) is acceptedand the antecedent (p) holds, then the consequent (q) may be inferred.

p->q 이고 p가 맞다면 q는 참이라고 추론될수있다.

Modus Tolens

tolens는 결과를 부정하는 거라고 생각하면 된다. not Q가 참이고 P->Q 라면  not P는 참이다

if swimming(alex) & X, swimming(X) => wet(X)
Then we can derive (using Modus Ponens): wet(alex)


알렉스가 수영을 하고 있는게 맞고 모든 사람이 수영하면 젖게 된다는게 참이라면 알렉스는 젖었다.   이 케이스가 Modus Ponens 이고

Ex) If wet(alex) & X, swimming(X) => wet(X)
Then we can derive (using Modus Tolens):
swimming(alex)

알렉스가 젖지 않았고 수영하는 모든 사람은 젖는다고 할때 알렉스는 수영을 하지 않았다라고 추론할수있다.    ——Modus Tolens


Induction은

구체적인 사실로 부터 일반화시키는 것이다. Deduction이랑 반대이다.

3번째로는 Abduction이라는 게 있다.

개연적 삼단 논법: 소전제가 참인 듯하여 결론도 참으로밖에 볼 수 없는 삼단 논법.

소전제가 참인거 같아서 P도 참으로 보이는 것 같은 과정  

나중에 공부해서 돌아와야겠다.



Popositional Logic 은  True , False를 가지고있는 Logic(Declarative Statement)

보면 sentence이라고 하고. T 나 F를 가지는 statement를 뜻한다고 한다.

Proposition은 symbol, truth values로 구성된다.  symbol은 문장이라고 보면 된다

여기서 중요한게 Connective symblos이다. 

not A 는 Negation

A ^ B 는 and

A or B 는 or

A -> B 이거 중요하다. 만약 A이면 B라는 것이다. if he is brave, then he wins이다


Proposition은 statement 중 True or False로 될수 있는 것이다.

수학처럼 생각하면 된다. 조금 헷갈리는건



앞에 not P를 붙이고 P랑 Q랑 교집합 한거에 or을 한게  p ->q 라고 보면된다.


그리고 Predicate Logic이 있다 . Predicate Logic은 Propositional Logic에 predicate 즉 단정짓다를 붙이는 것이다. quantifier도 붙인다

objects 와 class of objects , properties, relations이 들어가 있는게 Predicate logic 이다.

용어는 Constance 상수인 names, verb 가 있고 .

Variable이라는 변하는 변수가 있다.

함수인 function()  도 있다.


Quantifier 란 특정한 그룹을 지칭하는 용어이다.

Universal Quantifier -> 저렇게 2가지로 나타낸다.

모든 사람을 뜻한다 x를 가지고 있는 사람들

x, student(x) => smart(x)   if x are students, then students are smart

x, man(x) => mortal(X) if x are men, then man are mortal


Existential Quantification∃x Q(x) 

P holds for some values of x in domain

즉 x를 가지고 있는 모든 사람이 아니라 특정 인이나 특정 단체를 뜻한다

Well Formed Formula

X[Feathers(X) => Bird(X)]

는 sentence이다. variable과 quantifier를 가지고있는 Form

이건 X를 가지고있는게 깃털이 있으면 모든 새이다.(?)


Logic Representation이다.

어떻게 Logic을 표현하는가이다.

예로 들면 

All dogs have hair -> 는 Quantifier Universal Quantifier dog(X) -> hairy(X) 라고 쓴다

Universal Quantifier ( ISA(X,dog) - X 는 dog이다. has(X,hair) X는 hair을 가지고있다.

Everybody loves somebody Universal Quantifier Existential Quantifier (loves(X,Y))

Some car-dealers are dishonest

            X (isa(X, dealer)∧acts (X, dishonesty))

All presidents are Republican

            X [president(X) => Republican(X)]






axiom -> 이치이다. p가 true이고 p&q 이면 q는 true이다.

feature (x) -> bird(x)    &   Features(sparrow) 

feature -> bird가 true이고  sparrow가 feature 라면 

sparrow 는 bird이다

Features(sparrow)이니까  bird(sparrow)라는 걸 도출하면 된다.

Resolution by refutation(chain rule)라는 것도 있다.

반박을 통해 증명하는 방법이라고 한다

당연한 진리와 반대의 진리가 만나면 contradiction 아무것도 아닌게 나온다.

이걸로 해결을 하게 된다.

추론하는 방법은 Modus Ponens로 보면된다.

Modus Ponens 는 P가 True 이고 P->Q가 참일때

Q가  참인것이다

E1 v E2  가 참이고

not E2  v  E3 가 참이면

E1 v E3 를 추론할수있다.

예로 들자면 

P->Q  and  Q->R    이면 P->R 이다

not P v Q     not Q v R  은  not P  v  R로 이어지는 것이랑 비슷하다


Resolution Step이란

진리의 반대와  진리가 만나서 CNF

Conjunctive Normal Form이 된다.

-결합의 폼으로 돈다고 한다.

CNF => clause1 and clause 2  and clause 3 and clause 4

Resoultion Step

  1. 먼저  진리들을 CNF폼으로 나열한다(Clause Form)
  2. 그리고 진리(Conclusion)에 역을 취하고 Clause Form을 집어 넣는다
  3. 그렇다면 예를 들면 A와 not A를 만나면 없어질것이다. 이렇게 모든게 사라질때까지 넣으면 된다. 아무것도 남지 않는다면 진리는 True가 될 것이다
  4. 남게 되면 False이다
(Literal)은 Atomic Expression이다.

CLAUSE는 Liter의 결합형태이다.



Resolution Example의 한 예이다

진리의 2개가 있다.

not Feather(x) v  Bird (x)

Feathers(Squigs)  

가 있다고 치고 우리가 궁금한거는

Bird(Squigs) 이다

해결법은 일단 

CNF -Clause Form으로 집어넣는다.

-Feathers(x) v Bird(x)  and Feather(Squigs)이렇게 표현 될 것이고

이걸 하면 남는건

Bird(Squigs) 이다.

아까 말했듯이 진리를 반대로 한다. 그렇다면 우리가 증명해야 하는 

Bird(Squigs)를 Negate한다. 그렇다면  not Bird(Squigs)이다

결국 위의 Bird(Squigs)랑 만나면 Empty가 된다.

다른 예도 봐보자


will-die(fido)를 구하고 싶다면

일단 여기에 

negate를 해야한다.

not will-die(fido)가 먼저 나온다(4)

4는 2랑 만난다고 치면 not animal(Y)가 남는다

not animal(Y)를 가지고 1과 합쳐보면 not dog이 남는다

not dog을 가지고 3) 번 과 합치면 아무것도 안남는다. empty이므로 이건 True이다

Y/fido -Y는 변수이고 fido는 상수이다. fido는 상수이다.


다른 예를 봐보자

일단 문장이 주어졌다.

이건 Clause Form으로 바꿔줘야한다.  물론 결론 부분도 말이다

여기서 implication이 핵심이다

implication은 앞을 negate 하여 표현한다.

마지막은 and 이니 or로 바뀐다

마지막만 negate하고 implication은 앞의 p만  negate한다.

이렇게 다 정렬하고 보면 empty set이 되서 True이다.


Unification은 variable이 Constant 로 replace되는 현상이다.

v1 -> C라면  C로 바뀌는 현상이다

MGU라는 용어도 나온다. Most General Unifier라고 불린다. 

unifier B 가  MGU라면  some substitution a 가 있으면 Ba가 나온다.




이 과정을 보면 변수가 다 상수로 치환된다.



쉽게 말하면 변수를 상수로 치환하는 것이다.

 







결론은 Resolution은 goals랑 antecedents랑 정보가 없고

표현할때 모든 정보를 잃는다

인간 추론 메커니즘은 아니다

다음에는 Rule-Based 를 다뤄보자한다.






'Cloud Computing > AI' 카테고리의 다른 글

Problem Solving  (0) 2017.04.12
Knowledge Reasoning -- Rules( production System)  (0) 2017.04.12
인공지능 AI- 2주차 (Search Part 2)  (0) 2017.03.15
인공지능 특론- Search-Part 1  (0) 2017.03.07
인공지능 특론(Introduction to AI)  (0) 2017.03.07