, , .

, PDDL. PDDL (Planning Domain Definition Language):
• ;
• ;
• ;
• ;
• ;
• .

( — ) .

:
<domain> ::= (define (domain <name> ) (:requirements :strips :typing) <types-def> <predicates-def> <actions-def> )
<types-def>::= (:types <type>+ )
<type>::=<name>
<variable>::= ?<name>
<predicates-def>::= (:predicates <atomic-formula-with-or-without-types>+ )
<atomic-formula-with-or-without-types>::= ( <predicate> <list-varibles-with-or-without -type>* )
<predicate>::=<name>
<list-varibles-with-or-without -type>::= <variable>+ - <type> | <variable>+
<actions-def>::=<action>+
<action>::= (:action <name> :parameters ( <list-varibles-with-type> ) :precondition (and <atomic-formula>+ ) :effect (and <atomic-formula>+ ))
<atomic-formula>::= (not ( <predicate> <variable>* )) | ( <predicate> <variable>* )
:
<task>::= (define (problem <name> ) (:domain <name> ) <list-objects> <list-init> <list-goal> )
<list-objects>::= (:objects <objects-types>+ )
<objects-types>::=<object>+ - <type>| (either <type>+ )
<object>::=<name>
<list-init>::= (:init <list-predicates-initialization >+ )
<list-predicates-initialization>::= ( <predicate> <object>* )
<list-goal>::= (:goal (and <list-predicates-initialization >+ ))

 

: () – , , , , , . – , , . , , , . , . – , , – , – .

:

:

(define (domain rovers_classical)
(:requirements :strips :typing)
(:types location data)
(:predicates
(at ?x - location)
(avail ?d - data ?x - location)
(comm ?d - data)
(have ?d - data))
(:action drive
:parameters (?x ?y - location)
:precondition (and(at ?x))
:effect (and (at ?y) (not(at ?x))))
(:action commun
:parameters (?d - data)
:precondition (and(have ?d))
:effect (and(comm ?d)))
(:action sample
:parameters (?d - data ?x - location)
:precondition (and (at ?x) (avail ?d ?x))
:effect (and(have ?d)))
)

:

(define (problem rovers_classical1)
(:domain rovers_classical)
(:objects
soil water rock - data
alpha beta gamma - location)
(:init (at alpha)
(avail soil alpha)
(avail rock beta)
(avail water gamma)
)
(:goal (and
(comm soil)
(comm water)
(comm rock)
(at alpha)))
)

, , . :
<types-def>::= (:types <type>+ )
<type>::= <name>
: (:types location data). 2 : location data.
:
<predicates-def>::= (:predicates <atomic-formula-with-or-without-types>+ ) 
<atomic-formula-with-or-without-types>::= ( <predicate> <list-varibles-with-or-without -type>* )
<predicate>::=<name>
<list-varibles-with-or-without -type>::= <variable>+ - <type> | <variable>+
<type>::=<name>
<variable>::= ?<name>
:
(:predicates
(at ?x - location)
(avail ?d - data ?x - location))
at, avail. , location data. (at ?x) ?x. (avail ?d ?x) – ?d ?x. . , (). , . , , .
, . . , , – .
:
<actions-def>::= <action>+
<action>::= (:action <name> :parameters ( <list-varibles-with-type> ) :precondition (and <atomic-formula>+ ) :effect (and <atomic-formula>+ )) 
<atomic-formula>::= (not ( <predicate> <variable>* )) | ( <predicate> <variable>* )
:
(:action drive
:parameters (?x ?y - location)
:precondition (and(at ?x))
:effect (and (at ?y) (not(at ?x))))
drive. ‘:parameters’ , . . – . – . , drive (at ?x). , , (at ?x) (at ?y).
: , . , : , , , , , - . .
, . – ; , . . :
<list-objects>::= (:objects <objects-types>+ )
<objects-types>::=<object>+ - <type>| (either <type>+ )
<object>::=<name>
:
 (:objects
soil water rock - data
alpha beta gamma - location)
  soil, water, rock data alpha, beta, gamma location. ‘either’ , .
  :
<list-init>::=’(:init’ <list-predicates-initialization >+ ‘)’
<list-predicates-initialization>::=’(‘ <predicate> <object>* ‘)’
<list-goal>::=’(:goal (and’ <list-predicates-initialization >+ ‘))’
 :
 (:init (at alpha)
(avail soil alpha)
(avail rock beta)
(avail water gamma))
(:goal (and 
(comm soil)
(comm water)
(comm rock)
(at alpha)))
, (at alpha), (avail soil alpha), (avail rock beta), (avail water gamma). .


: . , , . . , ( *).

.

(8 ):

 

  :

  :

:

:

 

 

 

  10^10 , . , . , , .

, .

  .

 








Rambler's Top100 @Mail.ru

mdls.ru 2008-2013

03.04.2014
Проект "ЧПУ на Ардуино" перенесён на ecnc.ru
Открытый проект "Простой станок с ЧПУ на Ардуино" перенесён на http://ecnc.ru
25.01.2013
Опубликован сайт "Частный переводчик"
Частный переводчик поможет провести переговоры, осуществит последовательный, синхронный, письменный переводы. http://tran.mdls.ru
25.01.2013
Начата раработка открытого проекта "Станок с ЧПУ"
Как сделать простой станок с ЧПУ на базе Arduino стоимостью менее 100$ своими руками. http://cnc.mdls.ru.
25.10.2011
"Юристы помогают" перенесён на lawshelp.ru
Проведена смена домена urist.mdls.ru на lawshelp.ru. Теперь обсудить задачи из любых отраслей Права можно на сайте www.lawshelp.ru