Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:dydaktyka:krr:lab_pddl [2015/06/10 08:46]
msl [6.1 Wieże Hanoi]
pl:dydaktyka:krr:lab_pddl [2019/06/27 15:50] (aktualna)
Linia 43: Linia 43:
  
 <code lisp> <code lisp>
 +
 (define (domain blocksworld) ​ (define (domain blocksworld) ​
   (:​requirements :strips) ; wymagany STRIPS   (:​requirements :strips) ; wymagany STRIPS
Linia 96: Linia 97:
   - Proszę uruchomić wyniki prac z poprzednich ćwiczeń. Solver jest wywoływany poprzez komendę:   - Proszę uruchomić wyniki prac z poprzednich ćwiczeń. Solver jest wywoływany poprzez komendę:
     * ''​./​ff -o <sciezka do pliku z domena> -f <sciezka do pliku z instancja problemu>''​     * ''​./​ff -o <sciezka do pliku z domena> -f <sciezka do pliku z instancja problemu>''​
-  - Proszę porównać wydajność solvera ​w porównaniu ​do rozwiązania Prologowego z laborki "​przeszukowanie grafów"​)+  - Proszę porównać wydajność solvera do rozwiązania Prologowego z laborki "​przeszukowanie grafów"​)
  
 ===== - Typowanie ===== ===== - Typowanie =====
Linia 102: Linia 103:
 Poprzez dopisanie '':​typing''​ w sekcji '':​requirements''​ można rozszerzyć możliwości języka PDDL o dodanie typów do istniejących obiektów, czy też parametrów akcji. Można w ten sposób małym kosztem wyeliminować dużą liczbę nielegalnych akcji. Poprzez dopisanie '':​typing''​ w sekcji '':​requirements''​ można rozszerzyć możliwości języka PDDL o dodanie typów do istniejących obiektów, czy też parametrów akcji. Można w ten sposób małym kosztem wyeliminować dużą liczbę nielegalnych akcji.
  
-Typy definiowane są po sekcji '':​requirements''​ poprzez dopisanie: ''​(:​typing ​nazwa1 nazwa2 ...)''​ dla typów o nazwach ''​nazwa1'',​ ''​nazwa2'',​ etc. Następnie każdy parametr predykatu i akcji musi zostać opatrzony odpowiednią adnotacją określającą jego typ, np. ''?​x - typ''​ oznacza, że parametr ''?​x''​ musi być typu ''​typ''​ w danej akcji lub predykacie.+Typy definiowane są po sekcji '':​requirements''​ poprzez dopisanie: ''​(:​types nazwa1 nazwa2 ...)''​ dla typów o nazwach ''​nazwa1'',​ ''​nazwa2'',​ etc. Następnie każdy parametr predykatu i akcji musi zostać opatrzony odpowiednią adnotacją określającą jego typ, np. ''?​x - typ''​ oznacza, że parametr ''?​x''​ musi być typu ''​typ''​ w danej akcji lub predykacie.
  
 Podobnie w definicji instancji problemu należy wszystkie obiekty opatrzyć odpowiednimi adnotacjami (''​- typ''​ określającymi ich typ. Podobnie w definicji instancji problemu należy wszystkie obiekty opatrzyć odpowiednimi adnotacjami (''​- typ''​ określającymi ich typ.
 +
 +==== - Ćwiczenie ====
 +
 +Proszę uzupełnić pliki świata klocków o adnotacje i przetestować,​ czy nadal wszystko działa.
 +
 +<WRAP center round tip 60%>
 +Czy jesteś w stanie zasymulować typowanie bez dodawania konstrukcji '':​typing''?​ Jak można byłoby tego dokonać w Prologu?
 +</​WRAP>​
  
 ==== - Wieże Hanoi ==== ==== - Wieże Hanoi ====
Linia 118: Linia 127:
   * następnie należy jednak zgeneralizować model, tak by obsługiwał różną liczbę wolnych miejsc i klocków zdefiniowaną w pliku instancji problemu   * następnie należy jednak zgeneralizować model, tak by obsługiwał różną liczbę wolnych miejsc i klocków zdefiniowaną w pliku instancji problemu
  
 +===== - Action Description Language =====
 +
 +Reprezentacja STRIPS jest bardzo ograniczona i, aby rozszerzyć warunki akcji o nowe konstrukcje,​ należy dopisać w sekcji '':​requirements'' ​ dopisać dodatkowe wymaganie '':​adl''​. [[http://​en.wikipedia.org/​wiki/​Action_description_language#​Comparison_between_STRIPS_and_ADL|ADL]] różni się od STRIPS w kilku zasadniczych względach, m.in.:
 +  * wspierane są warunki [[http://​pl.wikipedia.org/​wiki/​Rachunek_predykat%C3%B3w_pierwszego_rz%C4%99du|pierwszego rzędu]] (w praktyce oznacza to dodanie kwantyfikatorów do języka): ''​(forall (?x1 ?x1 ...) <​warunek>​) (exists (?x1 ?x2 ...) <​warunek>​)''​
 +  * warunki mogą zawierać negatywne literały: ''​(not <​warunek>​)''​
 +  * warunki mogą zawierać alternatywy:​ ''​(or <​warunek1>​ <​warunek2>​)''​
 +  * [[http://​en.wikipedia.org/​wiki/​Closed-world_assumption|świat jest otwarty]] (w STRIPSie, tak samo jak w Prologu [[http://​en.wikipedia.org/​wiki/​Closed-world_assumption|świat jest zamknięty]])
 +
 +==== - Ćwiczenia ====
  
 +  - w definicji dziedziny świata klocków należy przy pomocy nowych konstrukcji wyeliminować ''​clear''​.
 +  ​
  
pl/dydaktyka/krr/lab_pddl.1433918791.txt.gz · ostatnio zmienione: 2019/06/27 15:52 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0