PDDL分享

参考:https://en.wikipedia.org/wiki/Planning_Domain_Definition_Language

一、PDDL介绍

规划领域定义语言,是一种解决人工智能规划问题的比较前沿的方法。PDDL常用于解决智能规划问题
例如机器人将一个屋子的球搬运到另一间屋子里,通过合理的组织流程建造一间房子等。PDDL的规划
任务(planning task)由五部分组成,
Objects(对象)
Predicates(谓词)
Initial state(初始状态)
Goal specification(目标规范】
Actions/Operators(操作/运算符】

定义规划任务的三要素:
状态
动作:
动作是规划问题的一个关键部分
目标

例子:
四个球移动的任务(Gripper task with four balls)
假设有一个机器人可以在两个房间之间移动,并用两条手臂中的任何一条捡起或扔掉球。最初
所有球和机器人都在第一个房间,我们希望移动球到第二个房间中。
对象:两个房间、四个球和两个机械臂。
Objects:The two rooms,four balls and two robot arms.
谓词:是一个房间?是球?球x在房间y内?机械臂x是空的吗?
Predicates:Is x a room?Is x a ball?Is ball x inside room y?Is robot arm x empty?[
初始状态:所有球和机器人都在第一个房间,所有机器人手臂都是空的。
Initial state:All balls and the robot are in the first room.All robot arms are empty.[
目标说明:所有球必须在第二个房间。
Goal specification:All balls must be in the second room
动作/操作:机器人可以在房间之间移动、捡球或丢球。
Actions/Operators:The robot can move between rooms,pick up a ball or drop a ball.

初始状态:四个球都在房间roomA中
目标:将四个球移动到roomB中
移动操作:机器人从x移动到y
pick-up操作:机器人使用z从y中捡起x
drop操作:机器人使用z从y中丢掉x

问题域描述在这样的规划世界中一个具体问题的条件与目标。
目标:将ball1和ball2两个球从a房间移动到b房间
定义:对象、初始状态和目标规范

下面介绍该实例的智能规划逻辑。前提:假设存在两个房间(RoomA和RoomB)、两个球
(Ball1和Ball2)机器人拥有左手和右手,且机器人和球初始位置是RoomA房间。
问题:如何将两个球从房间RoomB移动到RoomB?

它主要包括领域定义和问题定义两个部分:
领域定义:描述了可能的动作以及它们的效果。每个动作都有一些前提条件,这些条件必须满足才能执行该动作,同时还包含每个动作执行后世界的状态如何改变。
问题定义:描述了一个具体的规划问题,包括初始状态和目标状态。初始状态说明了规划问题开始时世界的状态,而目标状态则描述了希望达到的状态。

http://www.manongjc.com/article/41123.html
https://editor.planning.domains/#
https://planning.wiki/extras

https://zhuanlan.zhihu.com/p/647038300

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值