PDDL入门

本文介绍了PDDL的基础知识,包括PDDL的组成部分:对象、谓词、初始状态、目标状态和动作。通过具体的例子展示了如何定义域文件和问题文件,描述了一个用PDDL解决机器人将纸杯蛋糕放在盘子上的问题。文章还提到了PDDL的练习,如添加多个蛋糕和独角兽的场景,并探讨了复杂情况和持续动作的概念。
摘要由CSDN通过智能技术生成

PDDL的组成部分


  • Objects:对象,世界上我们感兴趣的事物。
  • Predicates:谓词,我们感兴趣的事实(例如对象的属性),可以为真,也可以为假。
  • An initial state:初始化状态,我们开始所处的世界状态,即开始时为真的事物。
  • Goal specification:目标状态,我们想要结束的世界的状态,即我们希望最终成为真实的事情。
  • Actions/Operators:动作/操作,改变世界状态的方式,即发生的事情改变了事实。

PDDL语法


PDDL 文件的扩展名通常是.pddl

要素:一份完整的PDDL程序是由domain文件和problem文件

The Domain File:域文件建立了世界的上下文。它决定了状态可以包含哪些类型的细节(Predicates),以及我们可以做什么在世界中的状态之间移动(actions)。

domain file的基础语法:

(define (domain <domain name>)
  (:predicates
    <predicate-list>
  )
  
  (:action
    <action-details>
  )
)

其中,<domain-name>是世界的名称。

The Problem File:问题文件代表着我们在域中建立一个世界的实例,它决定了在计划开始时什么是真的(初始状态),以及我们希望在计划结束时什么是真的(目标状态)。

problem file的基础语法:

(define (problem <title>)
	(:domain <domain-name>)
	(:objects
    	<object-list>
	)

	(:init
		<predicates>
	)
	(:goal 
		<predicates>
	)
)

<title>是problem file 的标题,<domain-name>是指相应域文件的名称。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值