전공 공부/인공지능(Artificial Intelligence)

[인공지능] Propositional Logic - 1

7_JUN_7 2023. 9. 27. 03:17

Agents that Know Things

지식을 가진 에이전트(Agents that know things)에 대한 내용이다.

 

1. 에이전트는 지각(perception), 학습(learning) , 언어(language)를 통해 지식을 획득한다.

  • Knowledge of the effects of actions (transition model) : 에이전트는 행동의 결과에 대한 지식을 가지고 있다. 이를 "전이 모델"(transition model)이라고 부르며, 특정 행동이 주어진 상태에서 다른 상태로 어떻게 전환되는지에 대한 정보를 포함한다.
  • Knowledge of how the world affects sensors (sensor model) : 에이전트는 센서가 어떻게 외부 세계에 의해 영향을 받는지에 대한 지식을 가지고 있다. 이를 "센서 모델"( sensor model)이라 한다. 예를 들어, 카메라 센서는 빛의 강도나 방향에 따라 다르게 반응할 수 있다. 
  • Knowledge of the current state of the world : 에이전트는 현재 세계의 상태에 대한 지식을 가지고 있다.

2. 에이전트는 부분적으로 관찰 가능한 세계( partially observable world )를 추적(track)할 수 있다. 이는 에이전트가 모든 정보를 완벽하게 알지 못하는 상황에서도 그 상황을 이해하고 적절한 행동을 취할 수 있음을 의미한다.

3. 에이전트는 목표(goal)를 달성하기 위한 계획(plan)을 세울 수 있다(formulate). 

Knowledge

  • Knowledge base = set of sentences in a formal language
    • 지식 베이스(KB)는 공식 언어(formal language)로 표현된 문장의 집합이다. 
  • Declarative approach to building an agent (or other system) : 에이전트(또는 다른 시스템)를 구축하기 위한 선언적 접근 방식
    • Tell it what it needs to know (or have it Learn the knowledge) : 에이전트에게 필요한 지식을 알려주거나, 에이전트가 스스로 지식을 학습하게 한다.
    • Then it can Ask itself what to do—answers should follow from the KB : 에이전트는 스스로에게 무엇을 해야 할지 물을 수 있으며, 그 답변은 지식 베이스(KB)에서 파생되어야 한다.
  •  Agents can be viewed at the knowledge level : 에이전트는 지식 수준에서 보여질 수 있다는 말의 의미는 에이전트가 어떻게 구현되었는지와 관계없이 그들이 알고 있는 것에 초점을 맞춘다는 것이다. (에이전트의 작동 방식이나 내부 구현보다는 에이전트가 알고 있는 지식에 초점을 맞춰 그것을 평가하거나 이해할 수 있다는 의미이다.)
  • A single inference algorithm can answer any answerable question : 단일 추론 알고리즘(single inference algorithm)답변 가능한 모든 질문에 답할 수 있다.

지식 베이스 (Knowledge base) 는 특정 도메인 또는 주제에 관련된 사실(Domain-specific facts) 를 포함한다. 

 
추론 엔진 (Inference engine)은 지식 베이스에서 정보를 추출하고 질문에 답하기 위한 일반적인 코드나 알고리즘(Generic code)을 포함한다. 즉 사실이 아닌 추측

Logic

Logic

  • 논리는 사실이나 주장의 참과 거짓을 평가하는 방법을 제공한다.

Syntax

  • What sentences are allowed? : 문법은 어떤 문장(sentence)들이 유효한지를 허용하는 것을 결정하는 규칙이다.


Semantics  

  • 의미론은 문장이나 표현이 가지는 의미를 정의한다.
  • What are the possible worlds? : 가능한 세계는 문장이 참 또는 거짓의 값을 가질 수 있는 모든 상황이나 상태를 나타낸다.
  • Which sentences are true in which worlds? (i.e., definition of truth) : 어떤 문장이 어떤 세계에서 참인지를 결정한다. 이는 진리의 정의를 제공하며, 특정 문장이 주어진 세계에서 참인지 거짓인지를 판단하는 기준을 제시한다.

Syntaxland / Semanticland

  • 이 두 용어는 논리의 문법과 의미론을 구분하기 위한 비유적 표현이다.
  • Syntaxland : 문법의 영역을 나타내며, 문장의 구조와 형식에 관한 규칙이 정의된다.
  • Semanticland: 의미론의 영역을 나타내며, 문장이나 표현이 가지는 의미와 그 의미가 어떻게 적용되는지에 관한 규칙이 정의되는 곳이다. 즉 세계에 대한 규칙이다.

Different Kinds of Logic

즉 명제 논리와 일차 논리, 관계형 데이터베이스에 대한 기본적인 개요를 제공한다. 각 논리 시스템의 문법(Syntax), 가능한 세계(Possible world), 그리고 의미론(Semantics)에 대한 설명을 제공한다.


1. 명제 논리 (Propositional logic)

  • Syntax :
    • 문장의 구조나 형식에 대한 규칙.
    • ex)
    • P(QR); P 또는 (not Q 그리고 R)을 의미
    • X1 (Raining Sunny) ; "비가 오면 맑지 않다"는 의미의 문장과 X1이 동일한 값을 가지는지를 나타냄.
  •  Possible world :
    • 명제 논리에서 가능한 세계는 각 명제의 참/거짓 값을 나타내는 집합
    • ex)
    • {P=true,Q=true,R=false,S=true} 또는 1101 ; P와 Q는 참, R은 거짓, S는 참임을 나타냄
  • Semantics :
    • 문장의 의미를 정의하는 규칙.
    • ex)
    •  b is true in a world iff is a true and b is true (etc.) ; a b 는 a 와 b 모두 참일 때 세계에서 참이다.

2. 일차 논리 (First-order logic)

  • Syntax :
    • 문장의 구조나 형식에 대한 규칙.
    • ex)
    • x y P(x,y) Q(Joe,f(x)) f(x)=f(y) ; 모든 x에 대해 P(x,y)가 참이고, Q(Joe,f(x))가 거짓인 어떤 y가 존재하면 f(x)는 f(y)와 같다는 것을 의미
  •  Possible world :
    • 일차 논리에서 가능한 세계는 객체와 그 객체 간의 관계를 나타내는 집합.
    • ex)Objects o_1, o_2, o_3; P holds for <o_1,o_2>; Q holds for <o_3>; f(o_1)=o_1; Joe=o_3;
    • 객체(Object) o_1, o_2, o_3가 있고, P는 <o_1,o_2>에 대해 성립하며, Q는 <o_3>에 대해 성립하고, f(o_1)는 o_1과 같으며, Joe는 o_3와 같다.
  •  Semantics :
    • 문장의 의미를 정의하는 규칙.
    • ex)
    • Φ(σ) is true in a world if σ =oj and Φ holds for oj; Φ(σ) 는 σ 가 o_j와 같고 Φ 가 oj에 대해 성립할 때 세계에서 참이다.

3. 관계형 데이터베이스 (Relational databases) : 관계형 데이터베이스는 구조화된 데이터를 저장하고 검색하는 데 사용되는 시스템

  • Syntax :
    • 기본 관계 문장을 사용하여 표현.
    • ex)
    • Sibling(Ali,Bo) ; Ali와 Bo가 형제라는 것을 나타냄.
  •  Possible worlds :
    • 타입(typed)이 지정된 객체(object)와 타입(typed)이 지정된 관계(relation)를 포함.
  •  Semantics : 데이터베이스 내의 문장은 참이며, 그 외의 모든 것은 거짓.
    • 논리적 연산자인 논리합(disjunction), 함축(implication), 전칭(universial) 등을 표현할 수 없음.
    • 쿼리 언어(SQL 등)는 일반적으로 일차 논리(first-order logic)의 변형을 사용함.
    • 종종 일차 논리 규칙 언어(first-order rule language)로 확장됨 (e.g. Datalog)
  •  Knowledge graphs : (대략적으로 : 관계형 데이터베이스 + 유형type 및 관계relation의 온톨로지 를 결합)
    • Google Knowledge Graph: 50억 개의 엔터티, 5000억 개의 facts, 쿼리의 30% 이상.
    • Facebook 네트워크: 29억 3천만 명의 사용자, 수조 개의 게시물posts, 아마도 수경 개의 facts.