Linien bei Partial Order Planning

Moderator: Einführung in die Künstliche Intelligenz

Student20
Mausschubser
Mausschubser
Beiträge: 89
Registriert: 2. Jun 2006 14:41

Linien bei Partial Order Planning

Beitrag von Student20 »

Wann nimmt man denn gestrichelte und wann durchgezogene Linien?
Auf der Folie zu Planning (Seite 16) geht eine Kante von LeaveOvernight zu
Remove(Spare, Trunk). Klar, hier gibt es nämlich auch einen Konflikt.
Weden nur Konflikte mit gestrichelten Linien gekennzeichnet, oder sehe ich das falsch?

Danke schonmal für Antworten :)!
Zuletzt geändert von Student20 am 21. Jul 2007 16:55, insgesamt 1-mal geändert.

Benutzeravatar
klospatz
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 230
Registriert: 16. Dez 2003 14:01
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von klospatz »

gestrichelt = kausal abhaenig
durchgezogen = zeitlich abhaengig

Student20
Mausschubser
Mausschubser
Beiträge: 89
Registriert: 2. Jun 2006 14:41

Beitrag von Student20 »

Ok, danke! :)
Das heisst, wenn mehrere Möglichkeiten für kausale Links existieren, werden diese gestrichelt eingezeichnet, oder?

Benutzeravatar
klospatz
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 230
Registriert: 16. Dez 2003 14:01
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von klospatz »

aehm, nein. kausale links exisiteren potentiell beliebig viele. du zeichnest aber ueblicherweise nur diejenigen ein die einen konflikt darstellen.


zeitlich abhaengig sind zwei aktionen wenn die precondition von einer aktion eine postcondition der anderen ist. beachte: zeitliche abhaengigkeiten sind transitiv.

bsp:
remove(spare,trunk) hat als effekt at(spare, ground).
putOn(spare, axle) hat als precondition at(spare, ground).
wenn du nun beide aktionen ausfuehren willst, muss die aktion putOn(spare, axle) zeitlich nach der aktion remove(spare, trunk) geschehen. simultan kannst du die aktionen also nicht ausfuehren (wenn du nicht schon vorher den effekt at(spare, ground) hattest).


kausal abhaengig sind zwei aktionen wenn sie zeitlich abhaengig sind oder sich sich die precondition einer aktion mit der postcontition der anderen aktion widerspricht. ueberall wo du also eine zeitliche abhaengigkeit hast, existiert auch eine kausuale abhaengig aus welcher diese resultiert. du kannst aber noch kausale abhaengigkeiten haben die ueber die zeitlichen hinausgehen. beachte: kausale abhaengigkeiten bestehen paarweise und sind nicht zwangslaeufig transitiv.

bsp:
remove(spare, trunk) hat als precondition at(spare, trunk).
leaveOvernight() hat unter anderem postcondition !(at(spare, trunk)).
at(spare, trunk) ist also eine kausale abhaengig zwischen den beiden aktionen. remove(spare, trunk) darf also weder vor noch parallel zu leaveOvernight ausgefuehrt werden.


das ganze finde ich gerade irgendwie schlecht in worte zu fassen. hab ich mich denn halbwegs verstaendlich machen koennen?

Student20
Mausschubser
Mausschubser
Beiträge: 89
Registriert: 2. Jun 2006 14:41

Beitrag von Student20 »

@Klospatz,

danke für die ausführliche Erklärung! :)

Antworten

Zurück zu „Einführung in die Künstliche Intelligenz“