+ All Categories
Home > Documents > Kalkul událostí (Event Calculus)

Kalkul událostí (Event Calculus)

Date post: 06-Jan-2016
Category:
Upload: alissa
View: 35 times
Download: 0 times
Share this document with a friend
Description:
Kalkul událostí (Event Calculus). Prezentaci vypracovala: Martina Číhalová. Úvod:. Formalismy pro reprezentaci akcí a jejich důsledků, využívány v databázových aplikacích. Účel: rozhodování o provedení akce na základě znalosti důsledků akcí. Kalkul událostí (event calculus) - PowerPoint PPT Presentation
29
Kalkul událostí (Event Calculus) Prezentaci vypracovala: Martina Číhalová
Transcript
Page 1: Kalkul událostí (Event Calculus)

Kalkul událostí (Event

Calculus)

Prezentaci vypracovala:Martina Číhalová

Page 2: Kalkul událostí (Event Calculus)

Úvod:

Formalismy pro reprezentaci akcí a

jejich důsledků, využívány v

databázových aplikacích.

Účel: rozhodování o provedení akce na

základě znalosti důsledků akcí.

Kalkul událostí (event calculus)

Situační kalkul (situation calculus)

Page 3: Kalkul událostí (Event Calculus)

Kalkul událostí (Event

calculus)

Poprvé uvedl: Robert Kowalski, Marek Sergot v roce 1986

Rozšíření: Murray Shanah, Rob Miller 90 léta 20. stol.

Page 4: Kalkul událostí (Event Calculus)

Kalkul událostí (Event

calculus)

Umožňuje časovou projekci, predikci - řešení deduktivních úloh

Umožňuje časovou explanaci, postdikci - řešení abduktivních úloh

Hledání teorie pro důsledky akcí- řešení induktivních úloh (učení)

Page 5: Kalkul událostí (Event Calculus)

Kalkul událostíÚvod

Umožňuje reprezentaci následujících typů akcí:

Akce s nepřímými důsledky Akce s nedeterministickými důsledky Složené akce Souběžné akce Nepřetržitá změna(?)

Page 6: Kalkul událostí (Event Calculus)

Kalkul událostí Formalismus

Založen na predikátové logice

prvního řádu

Speciální predikátové a funkční

symboly

Množina axiomů vymezující

požadovaný model

Page 7: Kalkul událostí (Event Calculus)

Kalkul událostí Základní

proměnné

AKCE (ACTIONS (EVENTS))

STAVY (FLUENTS) - pro representaci propozic, které se mění v čase; lze specifikovat jejich hodnotu pro určitý časový okamžik

ČASOVÉ OKAMŽIKY (TIME POINTS)

Page 8: Kalkul událostí (Event Calculus)

Kalkul událostí Predikáty

Pomocí příslušných predikátů vyjadřujeme:

Podmínku „co se stane, když“ Počáteční podmínku Důsledky (účinky) akcí Platnost stavu (fluent) v

příslušných časových okamžicích

Page 9: Kalkul událostí (Event Calculus)

Kalkul událostí Predikáty

FORMULA MEANINGInitiates(,β,τ) Stav (fluent) β počíná platit akcí po čase τ

Terminates(,β,τ) Stav (fluent) β přestává platit akcí po čase τ

InitiallyP(β) Stav (fluent) β platí od času 0

τ1 < τ2 Časový okamžik τ1 je před časovým okamžikem τ2

Happens(,τ) Akce je vykonána v čase τ

HoldsAt(β,τ) Stav (fluent) β platí v čase τ

Clipped(τ1, β,τ2) Stav (fluent) β je ukončen mezi čas. okamžiky τ1 a τ2

Page 10: Kalkul událostí (Event Calculus)

Kalkul událostí Fluents

Účinky akcí jsou dány pomocí predikátů:

INITIATES: jestliže je vykonána akce vyjádřená termem a v čase t, pak stav (fluent) bude po čase t pravdivý

TERMINATES: jestliže je vykonána akce vyjádřená termem a v čase t, pak stav (fluent) bude po čase t nepravdivý

Page 11: Kalkul událostí (Event Calculus)

Kalkul událostí Axiomy

(InitiallyP(f) Clipped(0,f,t)) HoldsAt(f,t) (SC1)

Happens(a,t1) Initiates(a,f,t1) t1 t2 Clipped(t1,f,t2) HoldsAt (f,t2) (SC2)

a,t Happens(a,t) t1 t t2 Terminates(a,f,t) Clipped(t1,f,t2) (SC3)

Page 12: Kalkul událostí (Event Calculus)

Kalkul událostí Axiomy

Dle výchozích axiomů (SC1, SC2) neplatí stav (fluent) v čase akce, která ho iniciovala, ale platí v čase akce, která ho ukončuje.

Tedy intervaly, které vyjadřují časovou platnost stavu (fluent) jsou zleva otevřené a zprava ostré.

Page 13: Kalkul událostí (Event Calculus)

Problém rámce (frame problem)

Technický problém umělé inteligence, spočívá v logice.

Formulován v r. 1969 Mc Carthym a Hayem (tzv. Yale shooting scenario)

Jde o problém toho, jak vyjádřit důsledky akcí, aniž by muselo být explicitně specifikováno, které stavy(fluents) nejsou příslušnou akcí ovlivněny.

Page 14: Kalkul událostí (Event Calculus)

Rámcový problém Yale Shooting

scenario Tři možné akce: nabít, odjistit, vystřelit Tři možné stavy (fluents) : nabito, živý,

mrtvý Důsledkem akce nabít je stav nabito Důsledkem akce vystřelit je stav mrtvý Akce odjistit nemá žádný důsledek Scénář se skládá z akce nabít,

následované akcí odjistit, následované akcí vystřelit

Page 15: Kalkul událostí (Event Calculus)

Rámcový problém Yale Shooting

scenario

Formální specifikace:

Initiates(Load,Loaded,t) (Y1.1) HoldsAt(Loaded,t)

Initiates(Shoot,Dead,t)(Y1.2)

HoldsAt(Loaded,t) Terminates(Shoot,Alive,t) (Y1.3)

Page 16: Kalkul událostí (Event Calculus)

Rámcový problém Yale Shooting

scenario

InitiallyP(Alive) (Y2.1) Happens(Load,T1) (Y2.2) Happens(Sneeze,T2) (Y2.3) Happens(Shoot,T3) (Y2.4) T1 T2 (Y2.5) T2 T3 (Y2.6) T3 T4 (Y2.7)

Page 17: Kalkul událostí (Event Calculus)

Rámcový problém Yale Shooting

scenario

…konjunkce (Y1.1) až (Y1.3) …konjunkce (Y2.1) až (Y2.7) Tedy mělo by platit následující: SC l= HoldsAt(Dead,T4)

Page 18: Kalkul událostí (Event Calculus)

Rámcový problém Yale Shooting

scenario

Tento úsudek je však neplatný! Neboť jsme explicitně neuvedli stavy,

které nejsou důsledkem příslušných akcí

Neboť nejsme například schopni říci, zda akce odjistit nezpůsobí to, že zbraň přestane být nabitá

Page 19: Kalkul událostí (Event Calculus)

Rámcový problém Yale Shooting

scenario

Existuje model formulí SC, v němž: Terminates(Sneeze,Loaded,T2) je pravdivé Holds(Alive,T4) je pravdivé HoldsAt(DeadT4) je nepravdivé Tedy je nutné zavedením dalších pravidel

zohlednit další okolnosti, pokud chceme, aby závěr z předpokladů opravdu vyplýval.

Page 20: Kalkul událostí (Event Calculus)

Rámcový problém Řešení rámcového problému

Využitím nemonotónního formalismu,např. defaultní logiky (možnost vyjádření faktů typu: „něco je defaultně považováno za pravdivé“) (Reiter,1980)

Pomocí specifikace (McCarthy 1980), formalizace takzvaného common sense law of inertia (stav (fluent) je považován za stále platný, dokud není důvod věřit, že je tomu jinak)

Page 21: Kalkul událostí (Event Calculus)

Kalkul událostí Plná verze:

predikáty

FORMULA MEANINGReleases(,β,τ) Neplatí předpoklad netečnosti akce

ke stavu (fluent) β v čase τ

InitiallyN(β) Stav (fluent) β neplatí od času 0

Happens(,τ1,τ2) Platnost akce začíná v čase τ1 a končí v čase τ2

Declipped(τ1,β,τ2) Stav (fluent) β je iniciován mezi časy τ1 a τ2

Page 22: Kalkul událostí (Event Calculus)

Kalkul událostí Plná verze:

axiomy

InitiallyP(f) Clipped(0,f,t) HoldsAt(f,t) (EC1)

Happens(a,t1,t2) Initiates(a,f,t2) t2 t3 Clipped(t1,f,t3) HoldsAt(f,t3) (EC2)

a,t1,t3 Happens(a,t1,t3) t1 t3 t2 t4 Terminates(a,f,t2) Releases (a,f,t2) Clipped(t1,f,t4) (EC3)

Page 23: Kalkul událostí (Event Calculus)

Kalkul událostí Plná verze:

axiomy InitiallyN(f) Declipped(0,f,t) HoldsAt(f,t) (EC4)

Happens(a,t1,t2) Teminates(a,f,t1) t2<t3 Declipped(t1,f,t3) HoldsAt(f,t3) (EC5)

a,t2,t3Happens(a,t2,t3) t1<t3 t2<t4 Initiates(a,f,t2) Releases(a,f,t2) Declipped(t1,f,t4) (EC6)

Happens(a,t1,t2) t1 t2 (EC7)

Page 24: Kalkul událostí (Event Calculus)

Situační kalkul Jde o logický formalismus navržený

pro reprezentaci znalostí a rozhodování nad dynamickými doménami.

Využívá predikátovou logiku druhého řádu.

Představen roku 1963 J. McCarthym. Jeho základní verzi vyvinul roku 1991

Ray Reiter.

Page 25: Kalkul událostí (Event Calculus)

Situační kalkul:základní prvky

Akce (Actions) Stavy (Fluents) Situace (Situations): konečné sekvence

akcí Objekty (Objects): (cokoliv co není akce,

nebo situace)

Page 26: Kalkul událostí (Event Calculus)

Situační kalkul Axiomy

Axiomy udávající podmínky příslušných akcí, jeden pro každou akci

Axiomy udávající následníka stavu, jeden pro každý stav (fluent)

Axiomy popisující svět v různých situacích

Základní axiomy situačního kalkulu

Page 27: Kalkul událostí (Event Calculus)

Situační kalkul Základní

prvky

Jde o kalkul nad doménou tří typů entitních sort:

Akce, situace, objekty Stavy (fluents) jsou modelovány

pomocí predikátů nebo funkcí. Spec. Predikát pro vyjádření toho,

že je akce proveditelná Poss(action)

Page 28: Kalkul událostí (Event Calculus)

Situační kalkul Příklady formalizace

do(a,S) (akce) is_carrying(o,S) (stav) is_carrying(Ball,S0) is_carrying(Ball, do(pickup(Ball),S0))

situace

Page 29: Kalkul událostí (Event Calculus)

Situační kalkul Příklad

formalizace Poss(pickup(o),S)

(zis_carrying(z,S)) heavy(o)

Akci zvednout objekt v situaci S je možné provést jen tehdy a tehdy, když pro všechny objekty platí stav, že nejsou neseny v situaci S a nejsou těžké.


Recommended