• Mindscape ๐Ÿ”ฅ
    • Playlist ๐ŸŽง
  • ๐Ÿค– Artifical Intelligence

    • 1. Basics; Linear Algebra
    • 2. Basics; Linear Algebra (2), Search (1)
    • 3. Search (2)
    • 4. Knowledge and Logic (1)
    • 5. Knowledge and Logic (2)
    • 6. Probability
    • 7. Information Theory
    • 8. Probabilitc Reasoning (2)
    • 9. Probabilitc Reasoning (3)
    • 10. Machine Learning (1)
    • 11. Machine Learning (2)
    • 12. Machine Learning (3)
    • 13. Linear Models
    • 14. Other Classic ML Models (1)
    • 15. Other Classic ML Models (2)
  • ๐Ÿ”’ Computer Security

    • 01. Overview
    • 02. ์ •๋ณด๋ณด์•ˆ์ •์ฑ… ๋ฐ ๋ฒ•๊ทœ
    • 03. Cryptographic Tools
    • 04. User Authentication
    • 05. Access Control
    • 06. Database Security
    • 07. Malicious Software
    • 08. Firmware Analysis
  • ๐Ÿ—„๏ธ Database System

    • 1. Introduction
    • 2. Relational Model
    • 3. SQL
    • 6. E-R Model
    • 7. Relational Database Design (1)
    • 7. Relational Database Design (2)
    • 13. Data Storage Structures
    • 14. Indexing
    • 15. Query Processing
  • ๐Ÿ“ Software Engineering

    • 2. Introduction to Software Engineering
    • 3. Process
    • 4. Process Models
    • 5. Agile
    • 6. Requirements
    • 7. Requirements Elicitation and Documentation
    • 8. Architecture
    • 9. Unified Modelling Language
    • 10. Object-Oriented Analysis
    • Object-Oriented Design
  • ๐Ÿง  Algorithm

    • Python ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ํŒ
    • C++ std::vector ์‚ฌ์šฉ๋ฒ• ์ •๋ฆฌ
    • Vim ์‚ฌ์šฉ ๋งค๋‰ด์–ผ
    • 1018๋ฒˆ: ์ฒด์ŠคํŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ
    • 1966๋ฒˆ: ํ”„๋ฆฐํ„ฐ ํ

4. Knowledge and Logic (1)

์ง€์‹ ๊ธฐ๋ฐ˜ ์—์ด์ „ํŠธ(Knowledge-Based Agents)

  • ์ง€์‹ ๊ธฐ๋ฐ˜ ์—์ด์ „ํŠธ(Knowledge-based agents): ์ง€์‹์˜ ๋‚ด๋ถ€ ํ‘œํ˜„(internal representation of knowledge)์— ๋Œ€ํ•œ ์ถ”๋ก (reasoning) ๊ณผ์ •์„ ํ†ตํ•ด ์ทจํ•  ํ–‰๋™์„ ๊ฒฐ์ •
  • ๊ธฐ์กด์˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์—์ด์ „ํŠธ(problem-solving agents in Search): ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ–‰๋™(actions)๊ณผ ํŠน์ • ์ƒํƒœ(specific state)์—์„œ ํŠน์ • ํ–‰๋™์˜ ๊ฒฐ๊ณผ๋ฅผ ์•Œ์ง€๋งŒ, ์ผ๋ฐ˜์ ์ธ ์‚ฌ์‹ค(general facts)์€ ์•Œ์ง€ ๋ชปํ•จ.
  • ์ง€์‹ ๊ธฐ๋ฐ˜ ์—์ด์ „ํŠธ ์ง€์›์„ ์œ„ํ•ด ๋…ผ๋ฆฌ(logic)๋ฅผ ์ผ๋ฐ˜์ ์ธ ํ‘œํ˜„ ํด๋ž˜์Šค๋กœ ๊ฐœ๋ฐœ
    • ๋‹ค์–‘ํ•œ ๋ชฉ์ ์— ๋งž๊ฒŒ ์ •๋ณด ๊ฒฐํ•ฉ ๊ฐ€๋Šฅ
    • ๋ช…์‹œ์ ์œผ๋กœ ๊ธฐ์ˆ ๋œ ๋ชฉํ‘œ(explicitly described goals) ํ˜•ํƒœ๋กœ ์ƒˆ๋กœ์šด ์ž‘์—… ์ˆ˜์šฉ
    • ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ์ง€์‹์„ ๋“ฃ๊ฑฐ๋‚˜(told) ํ•™์Šตํ•˜์—ฌ(learning) ๋น ๋ฅด๊ฒŒ ๋Šฅ๋ ฅ ํ™•๋ณด
    • ๊ด€๋ จ ์ง€์‹ ์—…๋ฐ์ดํŠธ๋ฅผ ํ†ตํ•ด ํ™˜๊ฒฝ ๋ณ€ํ™”์— ์ ์‘

์ง€์‹ ๋ฒ ์ด์Šค(Knowledge Base)

  • ์ง€์‹ ๋ฒ ์ด์Šค(KB): ๋ฌธ์žฅ(sentences)๋“ค์˜ ์ง‘ํ•ฉ
    • ๊ฐ ๋ฌธ์žฅ์€ ์ง€์‹ ํ‘œํ˜„ ์–ธ์–ด(knowledge representation langauge)๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์–ธ์–ด๋กœ ํ‘œํ˜„๋˜๋ฉฐ, ์„ธ์ƒ์— ๋Œ€ํ•œ ์–ด๋–ค ์ฃผ์žฅ(assertion)์„ ๋‚˜ํƒ€๋ƒ„.
    • ๋‹ค๋ฅธ ๋ฌธ์žฅ์œผ๋กœ๋ถ€ํ„ฐ ๋„์ถœ๋˜์ง€ ์•Š๊ณ  ์ฃผ์–ด์ง„ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜๋Š” ๋ฌธ์žฅ์„ ๊ณต๋ฆฌ(axiom)๋ผ๊ณ  ๋ถ€๋ฆ„.
  • ์ง€์‹ ๋ฒ ์ด์Šค์— ์ƒˆ ๋ฌธ์žฅ์„ ์ถ”๊ฐ€(add new sentences)ํ•˜๊ฑฐ๋‚˜ ์•Œ๋ ค์ง„ ๊ฒƒ์„ ์งˆ์˜(query what is known)ํ•˜๋Š” ๋ฐฉ๋ฒ• ํ•„์š”
    • ํ‘œ์ค€ ๋ช…์นญ: TELL(์ถ”๊ฐ€) ๋ฐ ASK(์งˆ์˜)
    • ๋‘ ์ž‘์—… ๋ชจ๋‘ ์ถ”๋ก (inference), ์ฆ‰ ์˜ค๋ž˜๋œ ๋ฌธ์žฅ์œผ๋กœ๋ถ€ํ„ฐ ์ƒˆ๋กœ์šด ๋ฌธ์žฅ์„ ๋„์ถœํ•˜๋Š” ๊ฒƒ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Œ.

์ง€์‹ ๊ธฐ๋ฐ˜ ์—์ด์ „ํŠธ์˜ ๊ฐœ์š”(Outline of a Knowledge-Based Agent)

function KB-AGENT(percept) returns an action
  persistent: KB, a knowledge base
              t, a counter, initially 0, indicating time

  TELL(KB, MAKE-PERCEPT-SENTENCE(percept,t))
  action <- ASK(KB, MAKE-ACTION-QUERY(t))
  TELL(KB, MAKE-ACTION-SENTENCE(action,t))
  t <- t + 1
  return action

A generic knowledge-based agent (์ง€์‹ ๊ธฐ๋ฐ˜ ์—์ด์ „ํŠธ)
Given a percept (์ง€๊ฐ), the agent adds the percept to its knowledge base, asks the knowledge base for the best action, and tells the knowledge base that it has in fact taken that action.

A Wumpus World

๊ตฌ์„ฑ ์š”์†Œ(Components)

  • Wumpus(The wumpus): ๋ฐฉ์— ๋“ค์–ด์˜ค๋Š” ์‚ฌ๋žŒ์€ ๋ˆ„๊ตฌ๋“  ์žก์•„๋จน๋Š” ์ง์Šน
  • ์—์ด์ „ํŠธ(An agent): ํ™”์‚ด(arrow)์ด ํ•˜๋‚˜๋งŒ ์žˆ์Œ.
  • ๋ฐ”๋‹ฅ ์—†๋Š” ๊ตฌ๋ฉ์ด(Bottomless pits): ์ด ๋ฐฉ์— ๋“ค์–ด์˜ค๋Š” ์‚ฌ๋žŒ์„ ๊ฐ€๋‘ (Wumpus๋Š” ์ œ์™ธ)
  • ๊ธˆ(A heap of gold)

๊ณผ์ œ ์ •์˜(The precise definition of the task)

  • ์„ฑ๊ณผ ์ธก์ •(Performance measure)
    • ๊ธˆ์„ ๊ฐ€์ง€๊ณ  ๋™๊ตด ๋ฐ–์œผ๋กœ ๋‚˜๊ฐ€๋Š” ๊ฒฝ์šฐ: +1000+1000+1000์ 
    • ๊ตฌ๋ฉ์ด์— ๋น ์ง€๊ฑฐ๋‚˜ Wumpus์—๊ฒŒ ์žก์•„๋จนํžˆ๋Š” ๊ฒฝ์šฐ: โˆ’1000-1000โˆ’1000์ 
    • ์ทจํ•œ ํ–‰๋™ ํ•˜๋‚˜๋‹น: โˆ’1-1โˆ’1์ 
    • ํ™”์‚ด ์‚ฌ์šฉ์—: โˆ’10-10โˆ’10์ 
    • ์—์ด์ „ํŠธ๊ฐ€ ์ฃฝ๊ฑฐ๋‚˜ ๋™๊ตด ๋ฐ–์œผ๋กœ ๋‚˜๊ฐˆ ๋•Œ ๊ฒŒ์ž„ ์ข…๋ฃŒ
  • ํ™˜๊ฒฝ(Environment)
    • 4ร—44 \times 44ร—4 ๊ฒฉ์žํ˜• ๋ฐฉ
    • ์—์ด์ „ํŠธ๋Š” ํ•ญ์ƒ [1, 1]์—์„œ ๋™์ชฝ์„ ๋ฐ”๋ผ๋ณด๊ณ  ์‹œ์ž‘
    • ๊ธˆ๊ณผ Wumpus์˜ ์œ„์น˜๋Š” ๋ฌด์ž‘์œ„๋กœ ์„ ํƒ(์‹œ์ž‘ ์ง€์  ์ œ์™ธ)
  • ๊ตฌ๋™๊ธฐ(Actuators)
    • ํ–‰๋™: Forward(์•ž์œผ๋กœ ์ด๋™), TurnLeft(์ขŒ๋กœ 90โˆ˜90^{\circ}90โˆ˜ ํšŒ์ „), TurnRight(์šฐ๋กœ 90โˆ˜90^{\circ}90โˆ˜ ํšŒ์ „)
    • ๊ตฌ๋ฉ์ด๋‚˜ ์‚ด์•„์žˆ๋Š” Wumpus๊ฐ€ ์žˆ๋Š” ์นธ์— ์ง„์ž…ํ•˜๋ฉด ์‚ฌ๋ง(์ฃฝ์€ Wumpus๊ฐ€ ์žˆ๋Š” ์นธ์€ ์•ˆ์ „)
    • Grab: ์—์ด์ „ํŠธ์™€ ๊ฐ™์€ ์นธ์— ๊ธˆ์ด ์žˆ์„ ๊ฒฝ์šฐ ์ง‘์Œ.
    • Shoot: ์—์ด์ „ํŠธ๊ฐ€ ํ–ฅํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํ™”์‚ด ๋ฐœ์‚ฌ. Wumpus๋ฅผ ๋งž์ถ”๊ฑฐ๋‚˜ ๋ฒฝ์— ๋ถ€๋”ชํž ๋•Œ๊นŒ์ง€ ์ง์ง„. ํ™”์‚ด์€ ํ•˜๋‚˜๋ฟ์ด๋ฏ€๋กœ ์ฒซ ๋ฒˆ์งธ Shoot ํ–‰๋™๋งŒ ํšจ๊ณผ
    • Climb: [1, 1]์—์„œ๋งŒ ๋™๊ตด ๋ฐ–์œผ๋กœ ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ์Œ.
  • ๊ฐ๊ฐ๊ธฐ(Sensors): ๊ฐ๊ฐ ๋‹จ์ผ ๋น„ํŠธ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” 5๊ฐ€์ง€ ๊ฐ๊ฐ๊ธฐ
    • Wumpus ๋ฐ”๋กœ ์ธ์ ‘ ์นธ: Stench(์•…์ทจ) ์ธ์ง€
    • ๊ตฌ๋ฉ์ด ๋ฐ”๋กœ ์ธ์ ‘ ์นธ: Breeze(์‚ฐ๋“ค๋ฐ”๋žŒ) ์ธ์ง€
    • ๊ธˆ์ด ์žˆ๋Š” ์นธ: Glitter(๋ฐ˜์ง์ž„) ์ธ์ง€
    • ๋ฒฝ์— ๋ถ€๋”ชํž ๋•Œ: Bump(์ถฉ๋Œ) ์ธ์ง€
    • Wumpus๊ฐ€ ์ฃฝ์„ ๋•Œ: ๋™๊ตด ์–ด๋””์„œ๋“  ์ธ์ง€ ๊ฐ€๋Šฅํ•œ ๋น„ํ†ตํ•œ Scream(๋น„๋ช…) ๋ฐฉ์ถœ
    • ์ง€๊ฐ(percepts): ๋‹ค์„ฏ ๊ฐœ์˜ ๊ธฐํ˜ธ ๋ชฉ๋ก ํ˜•ํƒœ๋กœ ์—์ด์ „ํŠธ์—๊ฒŒ ์ œ๊ณต
      • ์˜ˆ: ์•…์ทจ์™€ ์‚ฐ๋“ค๋ฐ”๋žŒ์€ ์žˆ์œผ๋‚˜, ๋ฐ˜์ง์ž„, ์ถฉ๋Œ, ๋น„๋ช…์ด ์—†์œผ๋ฉด [Stench, Breeze, None, None, None] ์ˆ˜์‹ 

Wumpus ์„ธ๊ณ„์—์„œ์˜ ์ง€์‹ ๊ธฐ๋ฐ˜ ์—์ด์ „ํŠธ

  • ๋น„๊ณต์‹์  ์ง€์‹ ํ‘œํ˜„ ์–ธ์–ด(informal knowledge representation language) ์‚ฌ์šฉ: ๊ฒฉ์ž์— ๊ธฐํ˜ธ ๊ธฐ๋ก.
  • ์—์ด์ „ํŠธ์˜ ์ดˆ๊ธฐ ์ง€์‹ ๋ฒ ์ด์Šค: ํ™˜๊ฒฝ์˜ ๊ทœ์น™ ํฌํ•จ
    • [1, 1]์— ์žˆ์œผ๋ฉฐ ์•ˆ์ „ํ•จ์„ ์•Ž. โ‡’\Rightarrowโ‡’ A(Agent), OK(Safe)๋กœ ํ‘œ์‹œ
  • ์ฒซ ์ง€๊ฐ [None, None, None, None, None] โ‡’\Rightarrowโ‡’ [1, 2]์™€ [2, 1]์ด ์•ˆ์ „ํ•จ์„ ์ถ”๋ก (OK)
  • ์‹ ์ค‘ํ•œ ์—์ด์ „ํŠธ: ์•ˆ์ „ํ•˜๋‹ค๊ณ  ์•Œ๋ ค์ง„(OK) ์นธ์œผ๋กœ๋งŒ ์ด๋™
  • [2, 1]๋กœ ์ด๋™ ํ›„ Breeze("B") ์ง€๊ฐ โ‡’\Rightarrowโ‡’ ์ธ์ ‘ ์นธ์— ๊ตฌ๋ฉ์ด(Pit) ๊ฐ€๋Šฅ์„ฑ("P?") ํ‘œ์‹œ
  • [1, 1]๋กœ ๋Œ์•„๊ฐ€ [1, 2]๋กœ ์ด๋™
  • [1, 2]์—์„œ Stench ์ง€๊ฐ โ‡’\Rightarrowโ‡’ ์ผ๋ จ์˜ ์ถ”๋ก ์„ ํ†ตํ•ด Wumpus๊ฐ€ [1, 3]์— ์žˆ์Œ(W!)๊ณผ [2, 2]๊ฐ€ ์•ˆ์ „ํ•จ(OK)์„ ๋„์ถœ
  • ์—์ด์ „ํŠธ๋Š” [2, 3]์œผ๋กœ ์ด๋™ โ‡’\Rightarrowโ‡’ Glitter ๊ฐ์ง€ โ‡’\Rightarrowโ‡’ ๊ธˆ์„ ์žก๊ณ  ์ง‘์œผ๋กœ ๋Œ์•„๊ฐ€์•ผ ํ•จ.
  • ์—์ด์ „ํŠธ๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ •๋ณด๋กœ๋ถ€ํ„ฐ ๊ฒฐ๋ก ์„ ๋„์ถœํ•˜๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ: ๊ฐ€์šฉํ•œ ์ •๋ณด๊ฐ€ ์ •ํ™•ํ•˜๋‹ค๋ฉด, ๊ทธ ๊ฒฐ๋ก ์€ ๋ฐ˜๋“œ์‹œ(guaranteed) ์ •ํ™•. โ‡’\Rightarrowโ‡’ ๋…ผ๋ฆฌ์  ์ถ”๋ก ์˜ ๊ทผ๋ณธ์ ์ธ ์†์„ฑ(fundamental property)

๋…ผ๋ฆฌ์˜ ๊ฐœ๋…(Concepts of Logical Representations)

  • ๊ตฌ๋ฌธ(syntax): ํ‘œํ˜„ ์–ธ์–ด(representation language)์˜ ๋ฌธ๋ฒ•. ์ž˜ ๊ตฌ์„ฑ๋œ(well formed) ๋ชจ๋“  ๋ฌธ์žฅ์„ ์ง€์ •
    • ์˜ˆ: "x+y=4x + y = 4x+y=4"๋Š” ์ž˜ ๊ตฌ์„ฑ๋œ ๋ฌธ์žฅ, "x4y+=x4y + =x4y+="๋Š” ์•„๋‹˜.
  • ์˜๋ฏธ๋ก (semantics): ๋ฌธ์žฅ์˜ ์˜๋ฏธ(meaning) ์ •์˜
    • ๊ฐ ๊ฐ€๋Šฅํ•œ ์„ธ๊ณ„(possible world)์— ๋Œ€ํ•œ ๊ฐ ๋ฌธ์žฅ์˜ ์ฐธ(truth)์„ ์ •์˜
    • ํ‘œ์ค€ ๋…ผ๋ฆฌ: ๋ชจ๋“  ๋ฌธ์žฅ์€ ์ฐธ ๋˜๋Š” ๊ฑฐ์ง“(๋‘˜ ์ค‘ ํ•˜๋‚˜)
  • ๋ชจ๋ธ(model): "๊ฐ€๋Šฅํ•œ ์„ธ๊ณ„" ๋Œ€์‹  ์‚ฌ์šฉํ•˜๋Š” ์šฉ์–ด
    • ๋ฌธ์žฅ ฮฑ\alphaฮฑ๊ฐ€ ๋ชจ๋ธ mmm์—์„œ ์ฐธ์ด๋ฉด, mmm์ด ฮฑ\alphaฮฑ๋ฅผ ๋งŒ์กฑ(satisfies)์‹œํ‚ค๊ฑฐ๋‚˜ mmm์ด ฮฑ\alphaฮฑ์˜ ๋ชจ๋ธ์ด๋ผ๊ณ  ํ•จ.
    • M(ฮฑ)M(\alpha)M(ฮฑ): ฮฑ\alphaฮฑ์˜ ๋ชจ๋“  ๋ชจ๋ธ ์ง‘ํ•ฉ

๋…ผ๋ฆฌ์  ์ˆ˜๋ฐ˜(Logical Entailment)

  • ๋…ผ๋ฆฌ์  ์ˆ˜๋ฐ˜(ฮฑโŠจฮฒ\alpha \vDash \betaฮฑโŠจฮฒ): ๋ฌธ์žฅ์ด ๋‹ค๋ฅธ ๋ฌธ์žฅ์œผ๋กœ๋ถ€ํ„ฐ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋„์ถœ๋จ(follows logically)
    • ๊ณต์‹์  ์ •์˜: ฮฑโŠจฮฒ\alpha \vDash \betaฮฑโŠจฮฒ๋Š” ฮฑ\alphaฮฑ๊ฐ€ ์ฐธ์ธ ๋ชจ๋“  ๋ชจ๋ธ์—์„œ ฮฒ\betaฮฒ๋„ ์ฐธ์ธ ๊ฒฝ์šฐ์—๋งŒ ์„ฑ๋ฆฝ
    • ๊ธฐํ˜ธ ํ‘œํ˜„: ฮฑโŠจฮฒ\alpha \vDash \betaฮฑโŠจฮฒ if and only if M(ฮฑ)โІM(ฮฒ)M(\alpha) \subseteq M(\beta)M(ฮฑ)โІM(ฮฒ).
  • ฮฑโŠจฮฒ\alpha \vDash \betaฮฑโŠจฮฒ ์ด๋ฉด, ฮฑ\alphaฮฑ๋Š” ฮฒ\betaฮฒ๋ณด๋‹ค ๋” ๊ฐ•ํ•œ ์ฃผ์žฅ(stronger assertion)(๋” ๋งŽ์€ ๊ฐ€๋Šฅํ•œ ์„ธ๊ณ„๋ฅผ ๋ฐฐ์ œํ•จ)
    • ์˜ˆ: "x=0x = 0x=0"์€ "xy=0xy = 0xy=0"์„ ์ˆ˜๋ฐ˜

Wumpus ์„ธ๊ณ„์— ๋…ผ๋ฆฌ์  ์‚ฌ๊ณ  ์ ์šฉ

  • [1, 1]์—์„œ ์•„๋ฌด๊ฒƒ๋„ ๊ฐ์ง€ ๋ชปํ•˜๊ณ  [2, 1]์—์„œ ์‚ฐ๋“ค๋ฐ”๋žŒ(Breeze)์„ ๊ฐ์ง€ํ•œ ์ƒํ™ฉ ๊ณ ๋ ค
    • ์ด ์ง€๊ฐ(percepts)๊ณผ Wumpus ์„ธ๊ณ„ ๊ทœ์น™ ์ง€์‹(KB)์ด ๊ฒฐํ•ฉ๋จ.
    • ์—์ด์ „ํŠธ์˜ ๊ด€์‹ฌ์‚ฌ: ์ธ์ ‘ํ•œ ์นธ([1, 2], [2, 2], [3, 1])์— ๊ตฌ๋ฉ์ด๊ฐ€ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€
    • ๊ตฌ๋ฉ์ด ์—ฌ๋ถ€ 3๊ฐœ ์นธ์— ๋Œ€ํ•œ ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ์€ 23=82^3 = 823=8๊ฐœ
  • KB๋Š” ์—์ด์ „ํŠธ๊ฐ€ ์•„๋Š” ๊ฒƒ๊ณผ ๋ชจ์ˆœ๋˜๋Š” ๋ชจ๋ธ์—์„œ๋Š” ๊ฑฐ์ง“
    • ์˜ˆ: [1, 1]์— ์‚ฐ๋“ค๋ฐ”๋žŒ์ด ์—†์œผ๋ฏ€๋กœ, [1, 2]์— ๊ตฌ๋ฉ์ด๊ฐ€ ์žˆ๋Š” ๋ชจ๋ธ์—์„œ๋Š” KB๊ฐ€ ๊ฑฐ์ง“
    • KB๊ฐ€ ์ฐธ์ธ ๋ชจ๋ธ์€ 3๊ฐœ ์กด์žฌ(solid line)
  • ๋‘ ๊ฐ€์ง€ ๊ฐ€๋Šฅํ•œ ๊ฒฐ๋ก (๋ฌธ์žฅ) ๊ณ ๋ ค:
    • $\alpha_1 = $"There is no pit in [1, 2]."
    • $\alpha_2 = $"There is no pit in [2, 2]."
    • KB๊ฐ€ ์ฐธ์ธ ๋ชจ๋“  ๋ชจ๋ธ์—์„œ ฮฑ1\alpha_1ฮฑ1โ€‹๋„ ์ฐธ โ‡’\Rightarrowโ‡’ KBโŠจฮฑ1KB \vDash \alpha_1KBโŠจฮฑ1โ€‹.([1, 2]์— ๊ตฌ๋ฉ์ด๊ฐ€ ์—†์Œ์„ ํ™•์‹ )
    • KB๊ฐ€ ์ฐธ์ธ ์ผ๋ถ€ ๋ชจ๋ธ์—์„œ ฮฑ2\alpha_2ฮฑ2โ€‹๋Š” ๊ฑฐ์ง“ โ‡’\Rightarrowโ‡’ KBโŠจฬธฮฑ2KB \not\vDash \alpha_2KB๎€ โŠจฮฑ2โ€‹.([2, 2]์— ๊ตฌ๋ฉ์ด๊ฐ€ ์—†์Œ์„ ํ™•์‹ ํ•  ์ˆ˜ ์—†์Œ.)
  • ๋ชจ๋ธ ๊ฒ€์‚ฌ(model checking): ๋…ผ๋ฆฌ์  ์ถ”๋ก (logical inference)์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํŠน์ • ์ถ”๋ก  ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • M(KB)โІM(ฮฑ)M(KB) \subseteq M(\alpha)M(KB)โІM(ฮฑ) ์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ์„ ์—ด๊ฑฐ(enumerate)

์ถ”๋ก ์˜ ๊ณต์‹ ์ •์˜(Formal Definition of Inference)

  • ์ถ”๋ก  ์•Œ๊ณ ๋ฆฌ์ฆ˜ iii๊ฐ€ KB๋กœ๋ถ€ํ„ฐ ฮฑ\alphaฮฑ๋ฅผ ๋„์ถœ(derive)ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, KBโŠขiฮฑKB \vdash_i \alphaKBโŠขiโ€‹ฮฑ๋กœ ํ‘œ๊ธฐ
  • ์ถ”๋ก  ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์†์„ฑ(Properties of an inference algorithm)
    • ๊ฑด์ „์„ฑ(sound, truth-preserving): ์˜ค์ง ์ˆ˜๋ฐ˜๋œ(entailed) ๋ฌธ์žฅ๋งŒ์„ ๋„์ถœํ•˜๋Š” ์ถ”๋ก  ์•Œ๊ณ ๋ฆฌ์ฆ˜
      • KB๊ฐ€ ์‹ค์ œ ์„ธ๊ณ„์—์„œ ์ฐธ์ด๋ผ๋ฉด, ๊ฑด์ „ํ•œ ์ถ”๋ก  ์ ˆ์ฐจ๋กœ KB์—์„œ ๋„์ถœ๋œ ฮฑ\alphaฮฑ๋Š” ์‹ค์ œ ์„ธ๊ณ„์—์„œ๋„ ์ฐธ
    • ์™„์ „์„ฑ(complete): ์ˆ˜๋ฐ˜๋œ ๋ชจ๋“  ๋ฌธ์žฅ์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ๋Š” ์ถ”๋ก  ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ๊ธฐ๋ฐ˜ ๋‹ค์ง€๊ธฐ(Grounding): ๋…ผ๋ฆฌ์  ์ถ”๋ก  ๊ณผ์ •๊ณผ ์—์ด์ „ํŠธ๊ฐ€ ์กด์žฌํ•˜๋Š” ์‹ค์ œ ํ™˜๊ฒฝ ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ
    • KB์˜ ์ผ๋ฐ˜ ๊ทœ์น™์€ ์ผ๋ฐ˜์ ์œผ๋กœ ํ•™์Šต(learning)์ด๋ผ๋Š” ๋ฌธ์žฅ ๊ตฌ์„ฑ ๊ณผ์ •์— ์˜ํ•ด ์ƒ์„ฑ(cf., ์ง€์‹ ๊ณตํ•™(knowledge engineering))

๋ช…์ œ ๋…ผ๋ฆฌ(Propositional logic)

  • ๋ฌธ์žฅ์˜ ๊ตฌ์กฐ(syntax)์™€ ๋ฌธ์žฅ์˜ ์ฐธ์ด ๊ฒฐ์ •๋˜๋Š” ๋ฐฉ์‹(semantics) ์ •์˜
  • ์˜๋ฏธ๋ก ์  ์ˆ˜๋ฐ˜(semantic notion of entailment)์„ ๊ตฌํ˜„ํ•˜๋Š” ๋‹จ์ˆœํ•œ ๋…ผ๋ฆฌ์  ์ถ”๋ก  ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋„์ถœ

๋ช…์ œ ๋…ผ๋ฆฌ์˜ ๊ตฌ๋ฌธ(Syntax of Propositional Logic)

  • ๋ช…์ œ ๊ธฐํ˜ธ(Propositional symbol, variable)
  • ๋…ผ๋ฆฌ์  ์—ฐ๊ฒฐ์‚ฌ(Logical connectives)
    • ยฌ\negยฌ(not)
    • โˆง\landโˆง(and)
    • โˆจ\lorโˆจ(or)
    • โ‡’\Rightarrowโ‡’(implies)
    • โ‡”\Leftrightarrowโ‡”(biconditional)

๋ช…์ œ ๋…ผ๋ฆฌ์˜ ์˜๋ฏธ๋ก (Semantics of Propositional Logic)

  • ์˜๋ฏธ๋ก : ํŠน์ • ๋ชจ๋ธ์— ๋Œ€ํ•œ ๋ฌธ์žฅ์˜ ์ฐธ์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ทœ์น™ ์ •์˜
  • ๋ช…์ œ ๋…ผ๋ฆฌ์—์„œ ๋ชจ๋ธ: ๋‹จ์ˆœํžˆ ๋ชจ๋“  ๋ช…์ œ ๊ธฐํ˜ธ์— ๋Œ€ํ•œ ์ฐธ๊ฐ’(true ๋˜๋Š” false)์„ ์„ค์ •
    • nnn๊ฐœ์˜ ๊ธฐํ˜ธ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ 2n2^n2n๊ฐœ์˜ ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ
    • ๋ชจ๋ธ์€ ์ˆœ์ „ํžˆ ์ˆ˜ํ•™์  ๊ฐ์ฒด(mathematical objects)
  • ๋ณตํ•ฉ ๋ฌธ์žฅ(Complex sentences):
    • ยฌP\neg PยฌP๋Š” mmm์—์„œ PPP๊ฐ€ ๊ฑฐ์ง“์ผ ๋•Œ๋งŒ ์ฐธ(iff)
    • PโˆงQP \land QPโˆงQ๋Š” mmm์—์„œ PPP์™€ QQQ ๋ชจ๋‘ ์ฐธ์ผ ๋•Œ๋งŒ ์ฐธ
    • PโˆจQP \lor QPโˆจQ๋Š” mmm์—์„œ PPP ๋˜๋Š” QQQ ๋‘˜ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ฐธ์ผ ๋•Œ๋งŒ ์ฐธ
    • Pโ‡’QP \Rightarrow QPโ‡’Q๋Š” mmm์—์„œ PPP๋Š” ์ฐธ์ด๊ณ  QQQ๋Š” ๊ฑฐ์ง“์ธ ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ  ์ฐธ
    • Pโ‡”QP \Leftrightarrow QPโ‡”Q๋Š” mmm์—์„œ PPP์™€ QQQ๊ฐ€ ๋ชจ๋‘ ์ฐธ์ด๊ฑฐ๋‚˜ ๋ชจ๋‘ ๊ฑฐ์ง“์ผ ๋•Œ๋งŒ ์ฐธ
  • ์ง„๋ฆฌํ‘œ(truth tables): ๊ทœ์น™์„ ํ‘œํ˜„ ๊ตฌ์„ฑ ์š”์†Œ์˜ ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ์ฐธ๊ฐ’ ํ• ๋‹น์— ๋Œ€ํ•œ ๋ณตํ•ฉ ๋ฌธ์žฅ์˜ ์ฐธ๊ฐ’์„ ์ง€์ •

๋‹จ์ˆœํ•œ ์ง€์‹ ๋ฒ ์ด์Šค(A Simple Knowledge Base)

  • Wumpus ์„ธ๊ณ„๋ฅผ ์œ„ํ•œ KB(๋ช…์ œ ๊ธฐํ˜ธ ์ •์˜):
    • Px,yP_{x,y}Px,yโ€‹: [x, y]์— ๊ตฌ๋ฉ์ด(Pit) ์กด์žฌ
    • Wx,yW_{x,y}Wx,yโ€‹: [x, y]์— Wumpus ์กด์žฌ
    • Bx,yB_{x,y}Bx,yโ€‹: [x, y]์— ์‚ฐ๋“ค๋ฐ”๋žŒ(Breeze) ์กด์žฌ
    • Sx,yS_{x,y}Sx,yโ€‹: [x, y]์— ์•…์ทจ(Stench) ์กด์žฌ
    • Lx,yL_{x,y}Lx,yโ€‹: ์—์ด์ „ํŠธ๊ฐ€ ์œ„์น˜ [x, y]์— ์กด์žฌ
  • ๊ฐ ๋ฌธ์žฅ์„ RiR_iRiโ€‹๋กœ ํ‘œ๊ธฐ:
    • R1R_1R1โ€‹: [1, 1]์— ๊ตฌ๋ฉ์ด๊ฐ€ ์—†์Œ. ยฌP1,1\neg P_{1,1}ยฌP1,1โ€‹.
    • R2R_2R2โ€‹: ์ด์›ƒ ์นธ์— ๊ตฌ๋ฉ์ด๊ฐ€ ์žˆ์„ ๋•Œ๋งŒ ์นธ์— ์‚ฐ๋“ค๋ฐ”๋žŒ์ด ์žˆ์Œ(๊ด€๋ จ ์นธ๋งŒ ํฌํ•จ) B1,1โ‡”(P1,2โˆจP2,1)B_{1,1} \Leftrightarrow(P_{1,2} \lor P_{2,1})B1,1โ€‹โ‡”(P1,2โ€‹โˆจP2,1โ€‹).
    • R3R_3R3โ€‹: B2,1โ‡”(P1,1โˆจP2,2โˆจP3,1)B_{2,1} \Leftrightarrow(P_{1,1} \lor P_{2,2} \lor P_{3,1})B2,1โ€‹โ‡”(P1,1โ€‹โˆจP2,2โ€‹โˆจP3,1โ€‹).
      • ์œ„ ๋ฌธ์žฅ๋“ค์€ ๋ชจ๋“  Wumpus ์„ธ๊ณ„์—์„œ ์ฐธ
    • R4R_4R4โ€‹: ์—์ด์ „ํŠธ๊ฐ€ ๋ฐฉ๋ฌธํ•œ ์ฒ˜์Œ ๋‘ ์นธ์— ๋Œ€ํ•œ ์‚ฐ๋“ค๋ฐ”๋žŒ ์ง€๊ฐ ํฌํ•จ ยฌB1,1\neg B_{1,1}ยฌB1,1โ€‹.
    • R5R_5R5โ€‹: B2,1B_{2,1}B2,1โ€‹.

๋‹จ์ˆœํ•œ ์ถ”๋ก  ์ ˆ์ฐจ(A Simple Inference Procedure)

  • ๋ชฉํ‘œ: KBโŠจยฌP1,2KB \vDash \neg P_{1,2}KBโŠจยฌP1,2โ€‹ ์ธ์ง€ ๊ฒฐ์ •(KB๊ฐ€ ยฌP1,2\neg P_{1,2}ยฌP1,2โ€‹๋ฅผ ์ˆ˜๋ฐ˜ํ•˜๋Š”๊ฐ€?)
  • ๋ชจ๋ธ ๊ฒ€์‚ฌ(Model checking):
    • ๋ชจ๋ธ(๋ชจ๋“  ๋ช…์ œ ๊ธฐํ˜ธ์— ๋Œ€ํ•œ ์ฐธ/๊ฑฐ์ง“ ํ• ๋‹น)์„ ์—ด๊ฑฐ
    • KB๊ฐ€ ์ฐธ์ธ ๋ชจ๋“  ๋ชจ๋ธ์—์„œ ยฌP1,2\neg P_{1,2}ยฌP1,2โ€‹๊ฐ€ ์ฐธ์ธ์ง€ ํ™•์ธ
    • ์˜ˆ์‹œ์˜ 7๊ฐœ ๊ธฐํ˜ธ: B1,1,B2,1,P1,1,P1,2,P2,1,P2,2B_{1,1}, B_{2,1}, P_{1,1}, P_{1,2}, P_{2,1}, P_{2,2}B1,1โ€‹,B2,1โ€‹,P1,1โ€‹,P1,2โ€‹,P2,1โ€‹,P2,2โ€‹ ๋ฐ P3,1P_{3,1}P3,1โ€‹.
    • 27=1282^7 = 12827=128๊ฐœ์˜ ๊ฐ€๋Šฅํ•œ ๋ชจ๋ธ; ์ด ์ค‘ KB๊ฐ€ ์ฐธ์ธ ๋ชจ๋ธ์€ 3๊ฐœ
    • ์ด 3๊ฐœ ๋ชจ๋ธ์—์„œ ยฌP1,2\neg P_{1,2}ยฌP1,2โ€‹๊ฐ€ ์ฐธ์ด๋ฏ€๋กœ, [1, 2]์— ๊ตฌ๋ฉ์ด๊ฐ€ ์—†์Œ์„ ๊ฒฐ๋ก 
function TT-ENTAILS?(KB, ฮฑ) returns true or false
  inputs: KB, the knowledge base, a sentence in propositional logic
          ฮฑ, the query, a sentence in propositional logic

  symbols <- a list of the proposition symbols in KB and ฮฑ
  return TT-CHECK-ALL(KB, ฮฑ, symbols, {})


function TT-CHECK-ALL(KB, ฮฑ, symbols, model) returns true or false
  if EMPTY?(symbols) then
    if PL-TRUE?(KB, model) then return PL-TRUE?(ฮฑ, model)
    else return true // when KB is false, always return true
  else
    P <- FIRST(symbols)
    rest <- REST(symbols)
    return (TT-CHECK-ALL(KB, ฮฑ, rest, model โˆช {P = true})
            and
            TT-CHECK-ALL(KB, ฮฑ, rest, model โˆช {P = false }))

๋ช…์ œ์  ํ•จ์˜(propositional entailment)๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•œ ์ง„๋ฆฌํ‘œ ์—ด๊ฑฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜(truth-table enumeration algorithm)
(TTTTTT๋Š” truth table (์ง„๋ฆฌํ‘œ)๋ฅผ ์˜๋ฏธ)

  • PL-TRUE?๋Š” ์–ด๋–ค ๋ฌธ์žฅ(sentence)์ด ๋ชจ๋ธ(model) ๋‚ด์—์„œ ์„ฑ๋ฆฝํ•˜๋Š” ๊ฒฝ์šฐ true๋ฅผ ๋ฐ˜ํ™˜
  • ๋ณ€์ˆ˜ model์€ ์‹ฌ๋ณผ(symbol)๋“ค์˜ ์ผ๋ถ€์— ๋Œ€ํ•œ ํ• ๋‹น(assignment)์ธ ๋ถ€๋ถ„ ๋ชจ๋ธ(partial model)์„ ๋‚˜ํƒ€๋ƒ„.
  • ํ‚ค์›Œ๋“œ and๋Š” ์˜์‚ฌ ์ฝ”๋“œ(pseudocode) ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์ค‘์œ„ ํ•จ์ˆ˜ ์‹ฌ๋ณผ(infix function symbol)์ด๋ฉฐ ๋ช…์ œ ๋…ผ๋ฆฌ(propositional logic)์˜ ์—ฐ์‚ฐ์ž(operator)๊ฐ€ ์•„๋‹˜. ๋‘ ๊ฐœ์˜ ์ธ์ˆ˜๋ฅผ ์ทจํ•˜๊ณ  true ๋˜๋Š” false๋ฅผ ๋ฐ˜ํ™˜
์ตœ๊ทผ ์ˆ˜์ •: 25. 11. 6. ์˜คํ›„ 12:07
Contributors: kmbzn
Prev
3. Search (2)
Next
5. Knowledge and Logic (2)

BUILT WITH

CloudflareNode.jsGitHubGitVue.jsJavaScriptVSCodenpm

All trademarks and logos are property of their respective owners.
ยฉ 2025 kmbzn ยท MIT License