7. Logikai ágensek

A VIK Wikiből
A lap korábbi változatát látod, amilyen Gerbazse (vitalap | szerkesztései) 2013. november 4., 20:12-kor történt szerkesztése után volt.
Ugrás a navigációhoz Ugrás a kereséshez

Ez az oldal a korábbi SCH wiki-ről lett áthozva. Az eredeti változata itt érhető el.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor kérlek javíts rajta egy rövid szerkesztéssel.

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót


Általános tudnivalók, tételek, definíciók:

7.1. A tudásbázisú ágens

A *tudásbázis*: a világot leíró tények egy halmazának reprezentációja. Minden egyes reprezentáció egy mondatnak (tudás darabkák, majd logikában "igazi" mondatok lesznek) felel meg. A mondatokat a tudásreprezentációs nyelvvel fejezzük ki. A tudásbázis három szinten írható le:

  • tudás/ismeretelméleti szint: az ágenst az általa tudott dolgokkal jellemezhetjük, mit ismer valójában
  • logikai szint: a tudás mondatokban van kódolva
  • implementációs szint: az ágens architektúrája szerinti tárolása a mondatoknak, fizikai reprezentációk (string, tömb, mutató)

Megkülönböztetjük a deklaratív ágenst a tanuló ágenstől - az autonómia szerint.

7.2. A wumpus világ

Specifikáció:

  • a wumpusszal közvetlen szomszédos mezőben bűz érezhető
  • ugyanígy a csapda esetén szellőt érzékel az ágens
  • aranyat tartalmazó mezőn csillogást érzékel
  • falnak ütközés - ütés érzet
  • wumpus meghal - az egész szobában hallható
  • ágens az elhelyezkedést nem tudja érzékelni.
  • cselekvései: 90 fok balra/jobbra forog, megragad, lövés, mászik
  • ágens meghal ha csapdára, vagy élő wumpusra lép.

Bármely esetben, amikor az ágens következtetéseket von le a rendelkezésre álló információkból, a következmény garantáltan helyes lesz, ha a rendelkeyésre álló informácók helyesek.

7.3. A logika

Reprezentáció

A tudásreprezentáció célja, hogy a tudást számítógép által nyomonkövethető módon fejezze ki, az ágens képes legyen használni. A reprezentációs nyelv két aspektusa:

  • a nyelv *szintaktikája*: a lehetséges konfigurációi az összes létrehozható mondatnak
  • a szemantika meghatározza a világ tényeit, amikre a mondatok vonatkoznak; minden mondat állít valamit a világról, azt is mondatjuk, hogy ha a mondat az ágens valamely fizikai konfiguráció által reprezentált, akkor az ágens hiszi a hozzátartozó mondatot

Tudásbázis építésekor új mondatokat akarunk létrehozni, amelyek szükségszerűen igazak, mivel a régi mondatok is igazak. Ezt a mondatok közötti kapcsolatot vonzatnak nevezzük, ami tükrözi azt a kapcsolatot, hogy egy tény következik a másikból. A vonzat reláció az tudásbázis TB és az α mondat között: TB vonzata α : TB |= α

Ha adott egy TB, a következtetési eljárás két dolgot tehet:

  • létrehozhat új α mondatokat, amelyek vonzatai a TB-nak.
  • ha adott egy TB, és egy másik β mondat, akkor megállapíthatja hogy β vonzata-e a TB-nak.

Az a következtetési eljárás, amely csak olyan mondatokat hoz létre, amelyek vonzatai más mondatoknak, igazságtartónak (vagy *helyesnek*) nevezzük. Egy igazságtartó következtetési eljárás operációinak sorozatát bizonyításnak nevezzük.

Bizonyításnak nevezünk egy igazságtartó következtetési eljárás lépéseinek sorozatát.

Teljesség kérdése: egy következtetési eljárás teljes, ha minden vonzat mondathoz képes találni egy bizonyítást.

Egy mondat érvényes avagy természetszerűleg igaz akkor és csakis akkor, ha minden világban minden lehetséges interpretációja igaz, függetlenül attól, hogy mit szándékozott jelenteni és függetlenül az univerzum leírt dolgainak állásától.

Egy mondat kielégíthető akkor és csakis akkor, ha létezik valamely interpretációja, amely valamely világban igaz.

Összefoglalva, elmondható, hogy a logika a következőkből áll:

  • Egy formális rendszer a dolgok állapotainak leírásra, amely tartalmazza:
    • a nyelv szintaktikáját, amely leírja, hogy hogyan készítsünk mondatokat
    • a nyelv szemantikáját, amely kifejezi a mondatoknak a dolgok állapotával levő kapcsolatát meghatározó szisztematikus kényszereket
  • A bizonyítás elmélet α szabályok egy halmaza, amely mondatok egy halmaza

által maga után vont vonzat kikövetkeztetésére alkalmas.

Dedukció

Igazságtartó érvelés (logikai következtetésnek nevezzük) megvalósítja a mondatok közötti 'maga után vonás' relációit. Érvényes mondat (szükségszerűen igaz) Minden világban bármely inerpretációja igaz (analitikus mondat - tautológia ). Egy mondat kielégíthető, ha létezik interpretációja, amely valmely világra igaz.

Logika

Egy formális rendszer a dolgok állapotainak leírására, mely tartalmazza a nyelv szintaxisát, szemantikáját. A bizonyítás elmélet - mely szabályok halmaza. Kétféle logika:

  • ítélet logika (Boole logika) - az ítéletkalkulusban az ítéletszimbólumokat Boole összekötőjelekkel kombinálva tudunk összetett jelentéssel bíró mondatokat létrehozni. Szimbólumok reprezentálnak teljes tényeket; például: D-nek lehet egy interpretációja, hogy a "Wumpus halott", amely lehet, hogy igaz, vagy lehet, hogy nem igaz állítás.
  • elsőrendű logika: a világ reprezentációját objektumok és objektumokra épülő predikátumok (például, objektumok tulajdonságai vagy objektumok kapcsolatai) formájában valósítja meg, használva kötőszavakat és kvantorokat, amely megengedi, hogy rögtön bármiről az univerzumban megfogalmazhassunk mondatokat.
*Nyelv* *Ontológiai meghatározás (Mi létezik a világban)* *Episztemikus meghatározás (egy ágens mit gondol a tényekről)*
Ítéletkalkulus tények igaz/hamis/nem ismert
Elsőrendű logika tények, objektumok, relációk igaz/hamis/nem ismert
Temporális logika tények, objektumok, relációk, idők igaz/hamis/nem ismert
Valószínűség-elmélet tények a hiedelem foka 0...1
Fuzzy logika az igazság foka a hiedelem foka 0...1

7.4. Ítéletkalkulus - egy nagyon egyszerű logika

7.4.1. Szintaxis

Szimbólumok:

  • igaz és hamis logikai konstansok,
  • ítélet szimbólumok, mint a P és a Q,
  • a logikai kötőszók a [math]\wedge, \vee, \Rightarrow, \Leftarrow, \Leftrightarrow, \neg [/math] és a zárójelek, ().

Precedencia sorrendje (a legmagasabbtól a legalacsonyabb fele): [math] \neg, \wedge,\vee, \Rightarrow, \Leftarrow, \Leftrightarrow[/math] .

BNF (by FoNy)
Mondat -> AtomiMondat | KomplexMondat
AtomiMondat -> Igaz | Hamis || P || Q || R ...
KomplexMondat -> (Mondat) |Mondat Összekötőjel Mondat [math]\neg[/math]Mondat
Összekötőjel -> [math]\wedge, \vee, \Rightarrow, \Leftarrow, \Leftrightarrow, \neg [/math]

Modell - bármely világ, amelyben egy mondat igaz egy bizonyos interpretációban.

7.4.2. Szemantika

Az igazságtábla:

P Q ¬P P [math]\land[/math]Q P[math]\lor[/math]Q P [math]\Rightarrow[/math] Q P[math]\Leftrightarrow[/math] Q
0 0 1 0 0 1 1
0 1 1 0 1 1 0
1 0 0 0 1 0 0
1 1 0 1 1 1 1

7.5. Az ítéletkalkulus következtetési mintái

Deduktív következtető lépések (jól definiált formulák kombinálási módszerei)

Implikáció jelentése: [math] A \Rightarrow B \equiv \lnot A \vee B[/math]

Modus ponens: [math] \frac{A \Rightarrow B, A}{B}[/math]

(Elemi) Egységrezolúció [math] \frac{A \vee B, \neg B }{A}[/math]

Rezolúció [math] \frac{A \vee B, \neg B \vee C}{B \vee C}[/math]

Modus Ponens (Implikáció eliminálása) A, A [math]\Rightarrow[/math] B
AND eliminálása A1[math]\land[/math]A2[math]\land[/math]...[math]\land[/math]An
AND bevezetése A1, A2,..., An
OR bevezetése Ai
Dupla negálás eliminálása ¬¬A
Elemi (egység)rezolúció A [math]\lor[/math] B, ¬B
Rezolúció A [math]\lor[/math] B, ¬B [math]\lor[/math] A [math]\lor[/math] C

Fontos még: (A [math]\land[/math] B) [math]\lor[/math] C = (A [math]\lor[/math] C) [math]\land[/math] (B [math]\lor[/math] C)

A következtetés igazságtábla módszere teljes. 2n sor van benne, ha n db ítéletszimbólumot tartalmazó esetet vizsgálunk. Exponenciálisan sok O(2n) -> nem praktikus.

Logika *monotonitása*: ha TB1 [math]\models[/math] X akkor (TB1 [math]\land[/math] TB2 ) [math]\models[/math] X

  • Horn klózok*: mondatoknak egy hasznos osztálya, amelyre létezik polinomiális idejű következtetési eljárás, általános alakja: P1 és P2 és ... és Pn => Q , ahol Pi és Q nemnegált atom.

Feladatok:

Nem mind idetartozik, szét kell még vállogatni...