1 概述
- SHOP2
- Partial order planning
- Calling external function(coded in Lisp)
- Incorporates many features from PDDL, like numeric computations…
- “sort-by” technique can sort the variable bindings.
- Could handle temporal planning problem(by multiple timeline preprocessing)
- JSHOP2
- 易于封装,编写接口。
- 扩展困难(类之间继承关系、耦合关系),语法转化程序(SHOP2语言——>Java)效率低,java编译存在最大行数限制。
- JSHOP2 GUI 用户交互并可实现可视化
- SHOP3
- 支持PDDL语言的输入(PDDL2HTN)
- 支持带目标的规划
- 子程序可分别调用,易于扩展。
- Pyhop/GTPyhop
- python编写的SHOP规划器,体量小,代码精简易读懂
- python语言编写领域知识,无需转化
- 扩展方便,调用外部函数方便。
- 功能较为简单
- VScode+PDDL solver extension
- 经典规划器,IPC大赛中用于学习,开源
- 领域知识语言为PDDL
- Parser & validator 使得编程更容易
- Generate hierarchical view and graph plan
- 支持插件扩展temporal,支持调用TGP,FF,PDDL4j等经典规划器。
2 SHOP3
SHOP3 Manual (shop-planner.github.io)
2.1 ASDF方法
- 调用cmd安装wsl,一款windows系统下的linux子系统。这样即可在win11中运行Linux环境的ASDF。安装时记得以管理员的身份打开cmd.exe文件。之后即可在cmd中运行linux子系统,命令为 wsl + [command]。如 wsl date 可以获取这个linux子系统的系统时间。
- 更新Ubuntu Vm到最新版本,并下载一些支持包。
- install ASDF with git
2.2 QuickLisp方法
-
从官网上下载quicklisp,是基于lisp的一个library,管理多个lisp文件,子系统间的调用关系,并在ACL(Allegro common lisp)中安装。
-
调用指令:第一行是用于安装quicklisp,安装一次以后,每次打开ACL仅需加载。第二行表示使用commonlisp语法中的load函数加载。第三行即加载shop3子系统。
(quicklisp-quickstart:install) (load "~/quicklisp/setup.lisp") (ql:quickload "shop3")
-
编写domain和problem文件,并运行测试。第一行需包含(in-package :shop-user)。之后每次仅需setup并load一下SHOP3包即可。
3 JSHOP2
- 安装配置:JSHOP2学习1:环境配置(超详细教程)_双层蟹黄堡的博客-CSDN博客
- 在notepad++中作为编译器,轻量化的编译环境,支持代码高亮,语法检查,自动匹配等功能。写好domain及problem文件。参考教程:JSHOP2学习2:十分钟建立一个舒适的编译环境_双层蟹黄堡的博客-CSDN博客
- 运用系统命令行,调用预先写好的bat文件,即可使用JSHOP2规划器。