├── .gitignore ├── .gitmodules ├── .travis.yml ├── LICENSE ├── README.md ├── SConstruct ├── domains ├── boxpushing │ ├── README.md │ ├── domain │ │ ├── domain.pddl │ │ ├── domain_injured.pddl │ │ ├── domain_v2.pddl │ │ └── generator │ │ │ └── generate_domain.py │ └── problems │ │ ├── example.pddl │ │ ├── generator │ │ └── generate_instance.py │ │ ├── p1_3_2_2_1_0.pddl │ │ ├── p1_3_2_3_0_0.pddl │ │ ├── p1_6_2_2_2_0.pddl │ │ ├── p4_4_2_3_1_0.pddl │ │ ├── p6_6_2_0_2_0.pddl │ │ ├── p6_6_2_0_4_0.pddl │ │ └── p6_6_3_3_1_1.pddl ├── codmap15 │ ├── README.md │ ├── blocksworld │ │ ├── domain │ │ │ ├── domain.pddl │ │ │ └── domain_constrained.pddl │ │ └── problems │ │ │ ├── probBLOCKS-10-0.pddl │ │ │ ├── probBLOCKS-10-1.pddl │ │ │ ├── probBLOCKS-10-2.pddl │ │ │ ├── probBLOCKS-11-0.pddl │ │ │ ├── probBLOCKS-11-1.pddl │ │ │ ├── probBLOCKS-11-2.pddl │ │ │ ├── probBLOCKS-12-0.pddl │ │ │ ├── probBLOCKS-12-1.pddl │ │ │ ├── probBLOCKS-13-0.pddl │ │ │ ├── probBLOCKS-13-1.pddl │ │ │ ├── probBLOCKS-14-0.pddl │ │ │ ├── probBLOCKS-14-1.pddl │ │ │ ├── probBLOCKS-15-0.pddl │ │ │ ├── probBLOCKS-15-1.pddl │ │ │ ├── probBLOCKS-16-1.pddl │ │ │ ├── probBLOCKS-16-2.pddl │ │ │ ├── probBLOCKS-17-0.pddl │ │ │ ├── probBLOCKS-9-0.pddl │ │ │ ├── probBLOCKS-9-1.pddl │ │ │ └── probBLOCKS-9-2.pddl │ ├── depot │ │ ├── domain │ │ │ ├── domain.pddl │ │ │ └── domain_constrained.pddl │ │ └── problems │ │ │ ├── pfile1.pddl │ │ │ ├── pfile10.pddl │ │ │ ├── pfile11.pddl │ │ │ ├── pfile12.pddl │ │ │ ├── pfile13.pddl │ │ │ ├── pfile14.pddl │ │ │ ├── pfile15.pddl │ │ │ ├── pfile16.pddl │ │ │ ├── pfile17.pddl │ │ │ ├── pfile18.pddl │ │ │ ├── pfile19.pddl │ │ │ ├── pfile2.pddl │ │ │ ├── pfile20.pddl │ │ │ ├── pfile3.pddl │ │ │ ├── pfile4.pddl │ │ │ ├── pfile5.pddl │ │ │ ├── pfile6.pddl │ │ │ ├── pfile7.pddl │ │ │ ├── pfile8.pddl │ │ │ └── pfile9.pddl │ ├── driverlog │ │ ├── domain │ │ │ ├── domain.pddl │ │ │ └── domain_constrained.pddl │ │ └── problems │ │ │ ├── pfile1.pddl │ │ │ ├── pfile10.pddl │ │ │ ├── pfile11.pddl │ │ │ ├── pfile12.pddl │ │ │ ├── pfile13.pddl │ │ │ ├── pfile14.pddl │ │ │ ├── pfile15.pddl │ │ │ ├── pfile16.pddl │ │ │ ├── pfile17.pddl │ │ │ ├── pfile18.pddl │ │ │ ├── pfile19.pddl │ │ │ ├── pfile2.pddl │ │ │ ├── pfile20.pddl │ │ │ ├── pfile3.pddl │ │ │ ├── pfile4.pddl │ │ │ ├── pfile5.pddl │ │ │ ├── pfile6.pddl │ │ │ ├── pfile7.pddl │ │ │ ├── pfile8.pddl │ │ │ └── pfile9.pddl │ ├── elevators08 │ │ ├── domain │ │ │ ├── domain.pddl │ │ │ └── domain_constrained.pddl │ │ └── problems │ │ │ ├── p01.pddl │ │ │ ├── p02.pddl │ │ │ ├── p03.pddl │ │ │ ├── p04.pddl │ │ │ ├── p05.pddl │ │ │ ├── p06.pddl │ │ │ ├── p07.pddl │ │ │ ├── p08.pddl │ │ │ ├── p09.pddl │ │ │ ├── p10.pddl │ │ │ ├── p11.pddl │ │ │ ├── p12.pddl │ │ │ ├── p13.pddl │ │ │ ├── p14.pddl │ │ │ ├── p15.pddl │ │ │ ├── p16.pddl │ │ │ ├── p17.pddl │ │ │ ├── p18.pddl │ │ │ ├── p19.pddl │ │ │ └── p20.pddl │ ├── logistics00 │ │ ├── domain │ │ │ ├── domain.pddl │ │ │ └── domain_constrained.pddl │ │ └── problems │ │ │ ├── probLOGISTICS-10-0.pddl │ │ │ ├── probLOGISTICS-10-1.pddl │ │ │ ├── probLOGISTICS-11-0.pddl │ │ │ ├── probLOGISTICS-11-1.pddl │ │ │ ├── probLOGISTICS-12-0.pddl │ │ │ ├── probLOGISTICS-12-1.pddl │ │ │ ├── probLOGISTICS-13-0.pddl │ │ │ ├── probLOGISTICS-13-1.pddl │ │ │ ├── probLOGISTICS-14-0.pddl │ │ │ ├── probLOGISTICS-14-1.pddl │ │ │ ├── probLOGISTICS-15-0.pddl │ │ │ ├── probLOGISTICS-15-1.pddl │ │ │ ├── probLOGISTICS-4-0.pddl │ │ │ ├── probLOGISTICS-5-0.pddl │ │ │ ├── probLOGISTICS-6-0.pddl │ │ │ ├── probLOGISTICS-7-0.pddl │ │ │ ├── probLOGISTICS-8-0.pddl │ │ │ ├── probLOGISTICS-8-1.pddl │ │ │ ├── probLOGISTICS-9-0.pddl │ │ │ └── probLOGISTICS-9-1.pddl │ ├── rovers │ │ ├── domain │ │ │ ├── domain.pddl │ │ │ └── domain_constrained.pddl │ │ └── problems │ │ │ ├── p10.pddl │ │ │ ├── p11.pddl │ │ │ ├── p12.pddl │ │ │ ├── p13.pddl │ │ │ ├── p14.pddl │ │ │ ├── p15.pddl │ │ │ ├── p16.pddl │ │ │ ├── p17.pddl │ │ │ ├── p18.pddl │ │ │ ├── p19.pddl │ │ │ ├── p20.pddl │ │ │ ├── p21.pddl │ │ │ ├── p22.pddl │ │ │ ├── p23.pddl │ │ │ ├── p24.pddl │ │ │ ├── p25.pddl │ │ │ ├── p26.pddl │ │ │ ├── p27.pddl │ │ │ ├── p28.pddl │ │ │ └── p29.pddl │ ├── satellites │ │ ├── domain │ │ │ └── domain.pddl │ │ └── problems │ │ │ ├── p05-pfile5.pddl │ │ │ ├── p06-pfile6.pddl │ │ │ ├── p07-pfile7.pddl │ │ │ ├── p08-pfile8.pddl │ │ │ ├── p09-pfile9.pddl │ │ │ ├── p10-pfile10.pddl │ │ │ ├── p11-pfile11.pddl │ │ │ ├── p12-pfile12.pddl │ │ │ ├── p13-pfile13.pddl │ │ │ ├── p14-pfile14.pddl │ │ │ ├── p15-pfile15.pddl │ │ │ ├── p16-pfile16.pddl │ │ │ ├── p18-pfile18.pddl │ │ │ ├── p19-pfile19.pddl │ │ │ ├── p20-pfile20.pddl │ │ │ ├── p21-HC-pfile1.pddl │ │ │ ├── p22-HC-pfile2.pddl │ │ │ ├── p23-HC-pfile3.pddl │ │ │ ├── p24-HC-pfile4.pddl │ │ │ └── p25-HC-pfile5.pddl │ ├── sokoban │ │ ├── domain │ │ │ ├── domain.pddl │ │ │ └── domain_constrained.pddl │ │ └── problems │ │ │ ├── p01-1.pddl │ │ │ ├── p01.pddl │ │ │ ├── p02-1.pddl │ │ │ ├── p02.pddl │ │ │ ├── p03-1.pddl │ │ │ ├── p03.pddl │ │ │ ├── p04-1.pddl │ │ │ ├── p04.pddl │ │ │ ├── p05-1.pddl │ │ │ ├── p05.pddl │ │ │ ├── p06-1.pddl │ │ │ ├── p06.pddl │ │ │ ├── p07-1.pddl │ │ │ ├── p07.pddl │ │ │ ├── p08-1.pddl │ │ │ ├── p08.pddl │ │ │ ├── p09-1.pddl │ │ │ ├── p09.pddl │ │ │ ├── p10-1.pddl │ │ │ └── p10.pddl │ ├── taxi │ │ ├── domain │ │ │ ├── domain.pddl │ │ │ └── domain_constrained.pddl │ │ └── problems │ │ │ ├── p01.pddl │ │ │ ├── p02.pddl │ │ │ ├── p03.pddl │ │ │ ├── p04.pddl │ │ │ ├── p05.pddl │ │ │ ├── p06.pddl │ │ │ ├── p07.pddl │ │ │ ├── p08.pddl │ │ │ ├── p09.pddl │ │ │ ├── p10.pddl │ │ │ ├── p11.pddl │ │ │ ├── p12.pddl │ │ │ ├── p13.pddl │ │ │ ├── p14.pddl │ │ │ ├── p15.pddl │ │ │ ├── p16.pddl │ │ │ ├── p17.pddl │ │ │ ├── p18.pddl │ │ │ ├── p19.pddl │ │ │ └── p20.pddl │ ├── wireless │ │ ├── domain │ │ │ └── domain.pddl │ │ └── problems │ │ │ ├── p01.pddl │ │ │ ├── p02.pddl │ │ │ ├── p03.pddl │ │ │ ├── p04.pddl │ │ │ ├── p05.pddl │ │ │ ├── p06.pddl │ │ │ ├── p07.pddl │ │ │ ├── p08.pddl │ │ │ ├── p09.pddl │ │ │ ├── p10.pddl │ │ │ ├── p11.pddl │ │ │ ├── p12.pddl │ │ │ ├── p13.pddl │ │ │ ├── p14.pddl │ │ │ ├── p15.pddl │ │ │ ├── p16.pddl │ │ │ ├── p17.pddl │ │ │ ├── p18.pddl │ │ │ ├── p19.pddl │ │ │ └── p20.pddl │ ├── woodworking08 │ │ ├── domain │ │ │ ├── domain.pddl │ │ │ └── domain_constrained.pddl │ │ └── problems │ │ │ ├── p01.pddl │ │ │ ├── p02.pddl │ │ │ ├── p03.pddl │ │ │ ├── p04.pddl │ │ │ ├── p05.pddl │ │ │ ├── p06.pddl │ │ │ ├── p07.pddl │ │ │ ├── p08.pddl │ │ │ ├── p09.pddl │ │ │ ├── p10.pddl │ │ │ ├── p11.pddl │ │ │ ├── p12.pddl │ │ │ ├── p13.pddl │ │ │ ├── p14.pddl │ │ │ ├── p15.pddl │ │ │ ├── p16.pddl │ │ │ ├── p17.pddl │ │ │ ├── p18.pddl │ │ │ ├── p19.pddl │ │ │ └── p20.pddl │ └── zenotravel │ │ ├── domain │ │ ├── domain.pddl │ │ └── domain_constrained.pddl │ │ └── problems │ │ ├── pfile10.pddl │ │ ├── pfile12.pddl │ │ ├── pfile13.pddl │ │ ├── pfile14.pddl │ │ ├── pfile15.pddl │ │ ├── pfile16.pddl │ │ ├── pfile17.pddl │ │ ├── pfile18.pddl │ │ ├── pfile19.pddl │ │ ├── pfile20.pddl │ │ ├── pfile21.pddl │ │ ├── pfile22.pddl │ │ ├── pfile23.pddl │ │ ├── pfile3.pddl │ │ ├── pfile4.pddl │ │ ├── pfile5.pddl │ │ ├── pfile6.pddl │ │ ├── pfile7.pddl │ │ ├── pfile8.pddl │ │ └── pfile9.pddl ├── doorway │ ├── domain │ │ └── doorway_dom_cal.pddl │ └── problems │ │ └── example.pddl ├── maze │ ├── README.md │ ├── domain │ │ ├── maze_dom_cal.pddl │ │ └── maze_dom_cn.pddl │ └── problems │ │ ├── generator │ │ └── generate.cpp │ │ ├── maze10_12_1.pddl │ │ ├── maze10_12_2.pddl │ │ ├── maze10_12_3.pddl │ │ ├── maze10_12_4.pddl │ │ ├── maze10_12_5.pddl │ │ ├── maze10_16_1.pddl │ │ ├── maze10_16_2.pddl │ │ ├── maze10_16_3.pddl │ │ ├── maze10_16_4.pddl │ │ ├── maze10_16_5.pddl │ │ ├── maze10_20_1.pddl │ │ ├── maze10_20_2.pddl │ │ ├── maze10_20_3.pddl │ │ ├── maze10_20_4.pddl │ │ ├── maze10_20_5.pddl │ │ ├── maze10_4_1.pddl │ │ ├── maze10_4_2.pddl │ │ ├── maze10_4_3.pddl │ │ ├── maze10_4_4.pddl │ │ ├── maze10_4_5.pddl │ │ ├── maze10_8_1.pddl │ │ ├── maze10_8_2.pddl │ │ ├── maze10_8_3.pddl │ │ ├── maze10_8_4.pddl │ │ ├── maze10_8_5.pddl │ │ ├── maze15_12_1.pddl │ │ ├── maze15_12_2.pddl │ │ ├── maze15_12_3.pddl │ │ ├── maze15_12_4.pddl │ │ ├── maze15_12_5.pddl │ │ ├── maze15_16_1.pddl │ │ ├── maze15_16_2.pddl │ │ ├── maze15_16_3.pddl │ │ ├── maze15_16_4.pddl │ │ ├── maze15_16_5.pddl │ │ ├── maze15_20_1.pddl │ │ ├── maze15_20_2.pddl │ │ ├── maze15_20_3.pddl │ │ ├── maze15_20_4.pddl │ │ ├── maze15_20_5.pddl │ │ ├── maze15_4_1.pddl │ │ ├── maze15_4_2.pddl │ │ ├── maze15_4_3.pddl │ │ ├── maze15_4_4.pddl │ │ ├── maze15_4_5.pddl │ │ ├── maze15_8_1.pddl │ │ ├── maze15_8_2.pddl │ │ ├── maze15_8_3.pddl │ │ ├── maze15_8_4.pddl │ │ ├── maze15_8_5.pddl │ │ ├── maze20_12_1.pddl │ │ ├── maze20_12_2.pddl │ │ ├── maze20_12_3.pddl │ │ ├── maze20_12_4.pddl │ │ ├── maze20_12_5.pddl │ │ ├── maze20_16_1.pddl │ │ ├── maze20_16_2.pddl │ │ ├── maze20_16_3.pddl │ │ ├── maze20_16_4.pddl │ │ ├── maze20_16_5.pddl │ │ ├── maze20_20_1.pddl │ │ ├── maze20_20_2.pddl │ │ ├── maze20_20_3.pddl │ │ ├── maze20_20_4.pddl │ │ ├── maze20_20_5.pddl │ │ ├── maze20_4_1.pddl │ │ ├── maze20_4_2.pddl │ │ ├── maze20_4_3.pddl │ │ ├── maze20_4_4.pddl │ │ ├── maze20_4_5.pddl │ │ ├── maze20_8_1.pddl │ │ ├── maze20_8_2.pddl │ │ ├── maze20_8_3.pddl │ │ ├── maze20_8_4.pddl │ │ ├── maze20_8_5.pddl │ │ ├── maze5_12_1.pddl │ │ ├── maze5_12_2.pddl │ │ ├── maze5_12_3.pddl │ │ ├── maze5_12_4.pddl │ │ ├── maze5_12_5.pddl │ │ ├── maze5_16_1.pddl │ │ ├── maze5_16_2.pddl │ │ ├── maze5_16_3.pddl │ │ ├── maze5_16_4.pddl │ │ ├── maze5_16_5.pddl │ │ ├── maze5_20_1.pddl │ │ ├── maze5_20_2.pddl │ │ ├── maze5_20_3.pddl │ │ ├── maze5_20_4.pddl │ │ ├── maze5_20_5.pddl │ │ ├── maze5_4_1.pddl │ │ ├── maze5_4_2.pddl │ │ ├── maze5_4_3.pddl │ │ ├── maze5_4_4.pddl │ │ ├── maze5_4_5.pddl │ │ ├── maze5_8_1.pddl │ │ ├── maze5_8_2.pddl │ │ ├── maze5_8_3.pddl │ │ ├── maze5_8_4.pddl │ │ ├── maze5_8_5.pddl │ │ ├── pfile1.pddl │ │ ├── pfile2.pddl │ │ └── pfile3.pddl ├── multilog │ ├── Multilog_dom.pddl │ └── Multilog_ins.pddl ├── tablemover │ ├── README.md │ ├── domain │ │ ├── Tablemover_dom_cn.pddl │ │ ├── generate_domain.py │ │ ├── table_domain1.pddl │ │ ├── table_domain2.pddl │ │ ├── table_domain4.pddl │ │ └── table_domain8.pddl │ └── problems │ │ ├── generator │ │ ├── generate_instance.py │ │ └── random_connected_graph.py │ │ ├── table16_16_1.pddl │ │ ├── table16_16_2.pddl │ │ ├── table16_2_1.pddl │ │ ├── table16_2_2.pddl │ │ ├── table16_4_1.pddl │ │ ├── table16_4_2.pddl │ │ ├── table16_8_1.pddl │ │ ├── table16_8_2.pddl │ │ ├── table4_16_1.pddl │ │ ├── table4_16_2.pddl │ │ ├── table4_2_1.pddl │ │ ├── table4_2_2.pddl │ │ ├── table4_4_1.pddl │ │ ├── table4_4_2.pddl │ │ ├── table4_8_1.pddl │ │ ├── table4_8_2.pddl │ │ ├── table8_16_1.pddl │ │ ├── table8_16_2.pddl │ │ ├── table8_2_1.pddl │ │ ├── table8_2_2.pddl │ │ ├── table8_4_1.pddl │ │ ├── table8_4_2.pddl │ │ ├── table8_8_1.pddl │ │ └── table8_8_2.pddl ├── traincoupling │ ├── domain │ │ ├── traincoupling_dom_cal.pddl │ │ └── traincoupling_dom_cn.pddl │ └── problems │ │ ├── generator │ │ └── generate_instance.py │ │ └── train1_1.pddl └── workshop │ ├── README.md │ ├── domain │ ├── workshop_dom_cal.pddl │ └── workshop_dom_cn.pddl │ └── problems │ ├── generator │ ├── generate_instance.py │ └── random_connected_graph.py │ ├── workshop1_1.pddl │ ├── workshop2_2_2_4.pddl │ ├── workshop2_2_2_8.pddl │ ├── workshop2_2_4_4.pddl │ ├── workshop2_2_4_8.pddl │ ├── workshop2_4_2_4.pddl │ ├── workshop2_4_2_8.pddl │ ├── workshop2_4_4_4.pddl │ ├── workshop2_4_4_8.pddl │ ├── workshop2_8_2_4.pddl │ ├── workshop2_8_2_8.pddl │ ├── workshop2_8_4_4.pddl │ ├── workshop2_8_4_8.pddl │ ├── workshop4_2_2_4.pddl │ ├── workshop4_2_2_8.pddl │ ├── workshop4_2_4_4.pddl │ ├── workshop4_2_4_8.pddl │ ├── workshop4_4_2_4.pddl │ ├── workshop4_4_2_8.pddl │ ├── workshop4_4_4_4.pddl │ ├── workshop4_4_4_8.pddl │ ├── workshop4_8_2_4.pddl │ ├── workshop4_8_2_8.pddl │ ├── workshop4_8_4_4.pddl │ └── workshop4_8_4_8.pddl ├── examples ├── serialize │ ├── SConscript │ └── serialize.cpp └── serialize_cn │ ├── SConscript │ ├── compress.cpp │ └── serialize.cpp ├── multiagent ├── AgentAction.cpp ├── AgentAction.h ├── ConcurrencyDomain.h ├── ConcurrencyGround.cpp ├── ConcurrencyGround.h ├── ConcurrencyPredicate.cpp ├── ConcurrencyPredicate.h ├── ConcurrentAction.cpp ├── ConcurrentAction.h ├── MultiagentDomain.h ├── NetworkNode.cpp └── NetworkNode.h ├── script ├── build.sh └── runtests.sh └── tests ├── SConscript ├── expected ├── maze │ ├── maze5_4_1.pddl │ ├── maze_dom_cal.pddl │ └── maze_dom_cn.pddl ├── multilog │ ├── Multilog_dom.pddl │ └── Multilog_ins.pddl ├── tablemover │ ├── Tablemover_dom_cn.pddl │ ├── table4_2_1.pddl │ └── table_domain1.pddl └── workshop │ ├── workshop2_2_2_4.pddl │ ├── workshop_dom_cal.pddl │ └── workshop_dom_cn.pddl └── tests.cpp /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | build 3 | lib 4 | .sconsign.dblite 5 | valgrind.txt 6 | ins.txt 7 | *.bin 8 | *.o 9 | *.pyc 10 | domains/maze/problems/generator/generate 11 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "universal-pddl-parser"] 2 | path = universal-pddl-parser 3 | url = https://github.com/aig-upf/universal-pddl-parser 4 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | 2 | language: cpp 3 | 4 | before_script: 5 | - chmod +x ./script/build.sh 6 | - chmod +x ./script/runtests.sh 7 | 8 | # Build against both compilers 9 | compiler: 10 | # - clang 11 | - gcc 12 | 13 | install: 14 | - if [ "$CXX" = "g++" ]; then export CXX="g++-4.8" CC="gcc-4.8"; fi 15 | 16 | addons: 17 | apt: 18 | sources: 19 | - ubuntu-toolchain-r-test 20 | packages: 21 | - gcc-4.8 22 | - g++-4.8 23 | - clang 24 | - valgrind 25 | - git 26 | 27 | script: ./script/build.sh && ./script/runtests.sh 28 | 29 | sudo: false # route your build to the container-based infrastructure for a faster build 30 | -------------------------------------------------------------------------------- /SConstruct: -------------------------------------------------------------------------------- 1 | import os 2 | import glob 3 | import sys 4 | import platform 5 | 6 | def which(program): 7 | """ Helper function emulating unix 'which' command """ 8 | for path in os.environ["PATH"].split(os.pathsep): 9 | path = path.strip('"') 10 | exe_file = os.path.join(path, program) 11 | if os.path.isfile(exe_file) and os.access(exe_file, os.X_OK): 12 | return exe_file 13 | return None 14 | 15 | pkgpath = os.environ.get( "PKG_CONFIG_PATH", "" ) 16 | os.environ["PKG_CONFIG_PATH"] = pkgpath 17 | 18 | src_path = "./multiagent" 19 | 20 | # Read the preferred compiler from the environment - if none specified, choose CLANG if possible 21 | #default_compiler = 'clang++' if which("clang++") else 'g++' 22 | default_compiler = 'g++' 23 | gcc = os.environ.get('CXX', default_compiler) 24 | 25 | base = Environment(tools=["default"], CXX=gcc) 26 | 27 | base['pddl_parser_path'] = os.path.abspath(os.environ.get('PDDL_PARSER_PATH', 'universal-pddl-parser/')) 28 | 29 | include_paths = ['.', base['pddl_parser_path']] 30 | 31 | # Temporary workaround: on mac, when creating the shared library, don't require all symbols to be looked up 32 | if platform.system() == "Darwin": 33 | base.Append(LINKFLAGS=['-undefined', 'dynamic_lookup']) 34 | 35 | base.AppendUnique( 36 | CPPPATH = [ os.path.abspath(p) for p in include_paths ], 37 | CXXFLAGS= ["-Wall", "-pedantic", "-std=c++11", "-g"] 38 | ) 39 | 40 | # The compilation of the (static & dynamic) library 41 | build_dirname = 'build' 42 | base.VariantDir(build_dirname, '.') 43 | 44 | sources = glob.glob( src_path + "/*.cpp" ) 45 | build_files = [build_dirname + '/' + src for src in sources] 46 | 47 | shared_lib = base.SharedLibrary('lib/multiagent', build_files) 48 | static_lib = base.Library('lib/multiagent', build_files) 49 | 50 | # Build both static and dynamic library 51 | base.Default([static_lib, shared_lib]) 52 | base.AlwaysBuild([static_lib, shared_lib]) 53 | 54 | extra = base.Clone() 55 | 56 | extra.Append(LIBS=[ 57 | File(base['pddl_parser_path'] + '/lib/libparser.a'), 58 | File(os.path.abspath('./lib/libmultiagent.a')) 59 | ]) 60 | 61 | # Register the different examples and tests 62 | SConscript('tests/SConscript', exports='extra') 63 | SConscript('examples/serialize/SConscript', exports='extra') 64 | SConscript('examples/serialize_cn/SConscript', exports='extra') 65 | -------------------------------------------------------------------------------- /domains/boxpushing/README.md: -------------------------------------------------------------------------------- 1 | # BoxPushing Domain 2 | This domain is described in [[Brafman and Zoran, 2014]](#ref-brafman-zoran). There are two different specifications, both following [[Kovacs, 2012]](#ref-kovacs) notation: 3 | 4 | * `domain.pddl` uses existential quantifiers. 5 | * `domain_v2.pddl` does not use existential quantifiers. 6 | * `domain_injured.pddl` is an alternative definition of BoxPushing where an agent gets injured if it pushes a box alone. If it is injured it cannot push a box again. However, if a box is pushed by more than 1 agent at a time, these agents do not get injured. This variation is used in [[Shekhar and Brafman, 2018]](#ref-shekhar-brafman). 7 | 8 | The `problems` folder contains some sample problems. Besides, inside this folder there is a folder called `generator` containing a Python script for creating new instances. 9 | 10 | You can use the generator as follows: 11 | 12 | ``` 13 | python generate_instance.py 14 | ``` 15 | 16 | where 17 | 18 | * `rows` is the number of rows of the grid, 19 | * `columns` is the number of columns of the grid, 20 | * `agents` is the number of agents in the grid, 21 | * `small` is the number of small boxes in the grid, 22 | * `medium` is the number of medium boxes in the grid, and 23 | * `large` is the number of large boxes in the grid. 24 | 25 | ## References 26 | 27 | * Shekhar, S., and Brafman, R. I. (2018). [_Forward Search with Interacting Actions_](https://www.aaai.org/ocs/index.php/ICAPS/ICAPS18/paper/view/17742/16983). In Proceedings of the 28th International Conference on Automated Planning and Scheduling (ICAPS 2018). 28 | 29 | * Brafman, R. I., and Zoran, U. (2014). [_Forward Search with Interacting Actions_](http://icaps14.icaps-conference.org/proceedings/dmap/DMAP_proceedings.pdf). In Proceedings of the 2nd ICAPS Distributed and Multi-Agent Planning workshop (ICAPS DMAP-2014). 30 | 31 | * Kovacs, D. L. (2012). [_A Multi-Agent Extension of PDDL 3.1._](http://www.r3-cop.eu/wp-content/uploads/2013/01/A-Multy-Agent-Extension-of-PDDL3.1.pdf) In Proceedings of the 3rd Workshop on the International Planning Competition (IPC), 19–27. 32 | -------------------------------------------------------------------------------- /domains/boxpushing/domain/domain_injured.pddl: -------------------------------------------------------------------------------- 1 | ; variation of the original domain 2 | (define (domain boxpushing) 3 | (:requirements :typing :multi-agent) 4 | (:types largebox mediumbox smallbox - box 5 | box agent - locatable 6 | location) 7 | (:predicates 8 | (at ?l - locatable ?x - location) 9 | (connected ?x - location ?y - location) 10 | (injured ?a - agent) 11 | ) 12 | (:action move 13 | :agent ?a - agent 14 | :parameters (?x - location ?y - location) 15 | :precondition (and 16 | (at ?a ?x) 17 | (connected ?x ?y) 18 | ) 19 | :effect (and 20 | (at ?a ?y) 21 | (not (at ?a ?x)) 22 | ) 23 | ) 24 | (:action push-alone 25 | :agent ?a - agent 26 | :parameters (?b - box ?x - location ?y - location) 27 | :precondition (and 28 | (not (injured ?a)) 29 | (at ?a ?x) 30 | (at ?b ?x) 31 | (connected ?x ?y) 32 | ) 33 | :effect (and 34 | (at ?a ?y) 35 | (at ?b ?y) 36 | (not (at ?a ?x)) 37 | (not (at ?b ?x)) 38 | (injured ?a) 39 | ) 40 | ) 41 | (:action push-together 42 | :agent ?a - agent 43 | :parameters (?b - box ?x - location ?y - location) 44 | :precondition (and 45 | (not (injured ?a)) 46 | (at ?a ?x) 47 | (at ?b ?x) 48 | (connected ?x ?y) 49 | (exists (?a2 - agent) 50 | (and 51 | (not (= ?a ?a2)) 52 | (push-together ?a2 ?b ?x ?y) 53 | ) 54 | ) 55 | ) 56 | :effect (and 57 | (at ?a ?y) 58 | (at ?b ?y) 59 | (not (at ?a ?x)) 60 | (not (at ?b ?x)) 61 | ) 62 | ) 63 | ) 64 | -------------------------------------------------------------------------------- /domains/boxpushing/problems/example.pddl: -------------------------------------------------------------------------------- 1 | (define (problem boxpushing_example) (:domain boxpushing) 2 | (:objects 3 | a1 a2 a3 - agent 4 | r1 r2 - location 5 | b1 - largebox 6 | ) 7 | (:init 8 | (at a1 r2) 9 | (at a2 r2) 10 | (at a3 r2) 11 | (at b1 r1) 12 | (connected r1 r2) 13 | (connected r2 r1) 14 | ) 15 | (:goal (and 16 | (at a1 r1) 17 | (at b1 r2) 18 | )) 19 | ) 20 | -------------------------------------------------------------------------------- /domains/boxpushing/problems/p1_3_2_2_1_0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem p1_3_2_2_1_0) (:domain boxpushing) 2 | (:objects 3 | a1 a2 - agent 4 | s1 s2 - smallbox 5 | m1 - mediumbox 6 | r1x1 r1x2 r1x3 - location 7 | ) 8 | (:init 9 | (at a1 r1x2) 10 | (at a2 r1x2) 11 | (at s1 r1x3) 12 | (at s2 r1x3) 13 | (at m1 r1x1) 14 | (connected r1x1 r1x2) 15 | (connected r1x2 r1x1) 16 | (connected r1x2 r1x3) 17 | (connected r1x3 r1x2) 18 | ) 19 | (:goal (and 20 | (at a1 r1x3) 21 | (at a2 r1x1) 22 | (at s1 r1x2) 23 | (at s2 r1x1) 24 | (at m1 r1x3) 25 | )) 26 | ) 27 | -------------------------------------------------------------------------------- /domains/boxpushing/problems/p1_3_2_3_0_0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem p1_3_2_3_0_0) (:domain boxpushing) 2 | (:objects 3 | a1 a2 - agent 4 | s1 s2 s3 - smallbox 5 | r1x1 r1x2 r1x3 - location 6 | ) 7 | (:init 8 | (at a1 r1x3) 9 | (at a2 r1x3) 10 | (at s1 r1x2) 11 | (at s2 r1x2) 12 | (at s3 r1x3) 13 | (connected r1x1 r1x2) 14 | (connected r1x2 r1x1) 15 | (connected r1x2 r1x3) 16 | (connected r1x3 r1x2) 17 | ) 18 | (:goal (and 19 | (at a1 r1x2) 20 | (at a2 r1x2) 21 | (at s1 r1x1) 22 | (at s2 r1x3) 23 | (at s3 r1x2) 24 | )) 25 | ) 26 | -------------------------------------------------------------------------------- /domains/boxpushing/problems/p1_6_2_2_2_0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem p1_6_2_2_2_0) (:domain boxpushing) 2 | (:objects 3 | a1 a2 - agent 4 | s1 s2 - smallbox 5 | m1 m2 - mediumbox 6 | r1x1 r1x2 r1x3 r1x4 r1x5 r1x6 - location 7 | ) 8 | (:init 9 | (at a1 r1x4) 10 | (at a2 r1x2) 11 | (at s1 r1x1) 12 | (at s2 r1x5) 13 | (at m1 r1x6) 14 | (at m2 r1x2) 15 | (connected r1x1 r1x2) 16 | (connected r1x2 r1x1) 17 | (connected r1x2 r1x3) 18 | (connected r1x3 r1x2) 19 | (connected r1x3 r1x4) 20 | (connected r1x4 r1x3) 21 | (connected r1x4 r1x5) 22 | (connected r1x5 r1x4) 23 | (connected r1x5 r1x6) 24 | (connected r1x6 r1x5) 25 | ) 26 | (:goal (and 27 | (at a1 r1x6) 28 | (at a2 r1x5) 29 | (at s1 r1x4) 30 | (at s2 r1x4) 31 | (at m1 r1x5) 32 | (at m2 r1x1) 33 | )) 34 | ) 35 | -------------------------------------------------------------------------------- /domains/boxpushing/problems/p4_4_2_3_1_0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem p4_4_2_3_1_0) (:domain boxpushing) 2 | (:objects 3 | a1 a2 - agent 4 | s1 s2 s3 - smallbox 5 | m1 - mediumbox 6 | r1x1 r1x2 r1x3 r1x4 r2x1 r2x2 r2x3 r2x4 r3x1 r3x2 r3x3 r3x4 r4x1 r4x2 r4x3 r4x4 - location 7 | ) 8 | (:init 9 | (at a1 r4x2) 10 | (at a2 r2x2) 11 | (at s1 r4x1) 12 | (at s2 r4x3) 13 | (at s3 r4x1) 14 | (at m1 r3x2) 15 | (connected r1x1 r2x1) 16 | (connected r1x1 r1x2) 17 | (connected r1x2 r2x2) 18 | (connected r1x2 r1x1) 19 | (connected r1x2 r1x3) 20 | (connected r1x3 r2x3) 21 | (connected r1x3 r1x2) 22 | (connected r1x3 r1x4) 23 | (connected r1x4 r2x4) 24 | (connected r1x4 r1x3) 25 | (connected r2x1 r1x1) 26 | (connected r2x1 r3x1) 27 | (connected r2x1 r2x2) 28 | (connected r2x2 r1x2) 29 | (connected r2x2 r3x2) 30 | (connected r2x2 r2x1) 31 | (connected r2x2 r2x3) 32 | (connected r2x3 r1x3) 33 | (connected r2x3 r3x3) 34 | (connected r2x3 r2x2) 35 | (connected r2x3 r2x4) 36 | (connected r2x4 r1x4) 37 | (connected r2x4 r3x4) 38 | (connected r2x4 r2x3) 39 | (connected r3x1 r2x1) 40 | (connected r3x1 r4x1) 41 | (connected r3x1 r3x2) 42 | (connected r3x2 r2x2) 43 | (connected r3x2 r4x2) 44 | (connected r3x2 r3x1) 45 | (connected r3x2 r3x3) 46 | (connected r3x3 r2x3) 47 | (connected r3x3 r4x3) 48 | (connected r3x3 r3x2) 49 | (connected r3x3 r3x4) 50 | (connected r3x4 r2x4) 51 | (connected r3x4 r4x4) 52 | (connected r3x4 r3x3) 53 | (connected r4x1 r3x1) 54 | (connected r4x1 r4x2) 55 | (connected r4x2 r3x2) 56 | (connected r4x2 r4x1) 57 | (connected r4x2 r4x3) 58 | (connected r4x3 r3x3) 59 | (connected r4x3 r4x2) 60 | (connected r4x3 r4x4) 61 | (connected r4x4 r3x4) 62 | (connected r4x4 r4x3) 63 | ) 64 | (:goal (and 65 | (at a1 r1x1) 66 | (at a2 r4x1) 67 | (at s1 r4x2) 68 | (at s2 r1x4) 69 | (at s3 r1x3) 70 | (at m1 r2x3) 71 | )) 72 | ) 73 | -------------------------------------------------------------------------------- /domains/codmap15/README.md: -------------------------------------------------------------------------------- 1 | # CoDMAP-15 Domains 2 | The `codmap15` folder contains 12 different domains that were used in the [Competition of Distributed and Multiagent Planners (CoDMAP)](http://agents.fel.cvut.cz/codmap/). Some domains, apart from the original `domain.pddl` file, contain a `domain_constrained.pddl` forcing some constraints on the concurrency between actions using [[Kovacs, 2012]](#ref-kovacs) specification. 3 | 4 | ## References 5 | * Kovacs, D. L. (2012). [_A Multi-Agent Extension of PDDL 3.1._](http://www.r3-cop.eu/wp-content/uploads/2013/01/A-Multy-Agent-Extension-of-PDDL3.1.pdf) In Proceedings of the 3rd Workshop on the International Planning Competition (IPC), 19–27. 6 | -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/domain/domain.pddl: -------------------------------------------------------------------------------- 1 | (define (domain blocks) 2 | (:requirements :typing :multi-agent :unfactored-privacy) 3 | (:types 4 | agent block - object 5 | ) 6 | (:predicates 7 | (on ?x - block ?y - block) 8 | (ontable ?x - block) 9 | (clear ?x - block) 10 | 11 | (:private ?agent - agent 12 | (holding ?agent - agent ?x - block) 13 | (handempty ?agent - agent) 14 | ) 15 | ) 16 | 17 | (:action pick-up 18 | :agent ?a - agent 19 | :parameters (?x - block) 20 | :precondition (and 21 | (clear ?x) 22 | (ontable ?x) 23 | (handempty ?a) 24 | ) 25 | :effect (and 26 | (not (ontable ?x)) 27 | (not (clear ?x)) 28 | (not (handempty ?a)) 29 | (holding ?a ?x) 30 | ) 31 | ) 32 | 33 | 34 | (:action put-down 35 | :agent ?a - agent 36 | :parameters (?x - block) 37 | :precondition 38 | (holding ?a ?x) 39 | :effect (and 40 | (not (holding ?a ?x)) 41 | (clear ?x) 42 | (handempty ?a) 43 | (ontable ?x) 44 | ) 45 | ) 46 | 47 | 48 | (:action stack 49 | :agent ?a - agent 50 | :parameters (?x - block ?y - block) 51 | :precondition (and 52 | (holding ?a ?x) 53 | (clear ?y) 54 | ) 55 | :effect (and 56 | (not (holding ?a ?x)) 57 | (not (clear ?y)) 58 | (clear ?x) 59 | (handempty ?a) 60 | (on ?x ?y) 61 | ) 62 | ) 63 | 64 | 65 | (:action unstack 66 | :agent ?a - agent 67 | :parameters (?x - block ?y - block) 68 | :precondition (and 69 | (on ?x ?y) 70 | (clear ?x) 71 | (handempty ?a) 72 | ) 73 | :effect (and 74 | (holding ?a ?x) 75 | (clear ?y) 76 | (not (clear ?x)) 77 | (not (handempty ?a)) 78 | (not (on ?x ?y)) 79 | ) 80 | ) 81 | 82 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/domain/domain_constrained.pddl: -------------------------------------------------------------------------------- 1 | (define (domain blocks) 2 | (:requirements :typing :multi-agent :unfactored-privacy) 3 | (:types 4 | agent block - object 5 | ) 6 | (:predicates 7 | (on ?x - block ?y - block) 8 | (ontable ?x - block) 9 | (clear ?x - block) 10 | 11 | (:private ?agent - agent 12 | (holding ?agent - agent ?x - block) 13 | (handempty ?agent - agent) 14 | ) 15 | ) 16 | 17 | (:action pick-up 18 | :agent ?a - agent 19 | :parameters (?x - block) 20 | :precondition (and 21 | (clear ?x) 22 | (ontable ?x) 23 | (handempty ?a) 24 | (forall (?a2 - agent) (not (pick-up ?a2 ?x))) 25 | (forall (?a2 - agent ?z - block) (not (stack ?a2 ?z ?x))) 26 | (forall (?a2 - agent ?z - block) (not (unstack ?a2 ?x ?z))) 27 | ) 28 | :effect (and 29 | (not (ontable ?x)) 30 | (not (clear ?x)) 31 | (not (handempty ?a)) 32 | (holding ?a ?x) 33 | ) 34 | ) 35 | 36 | 37 | (:action put-down 38 | :agent ?a - agent 39 | :parameters (?x - block) 40 | :precondition 41 | (holding ?a ?x) 42 | :effect (and 43 | (not (holding ?a ?x)) 44 | (clear ?x) 45 | (handempty ?a) 46 | (ontable ?x) 47 | ) 48 | ) 49 | 50 | 51 | (:action stack 52 | :agent ?a - agent 53 | :parameters (?x - block ?y - block) 54 | :precondition (and 55 | (holding ?a ?x) 56 | (clear ?y) 57 | (forall (?a2 - agent ?z - block) (not (stack ?a2 ?z ?y))) 58 | (forall (?a2 - agent ?z - block) (not (unstack ?a2 ?y ?z))) 59 | (forall (?a2 - agent) (not (pick-up ?a2 ?y))) 60 | ) 61 | :effect (and 62 | (not (holding ?a ?x)) 63 | (not (clear ?y)) 64 | (clear ?x) 65 | (handempty ?a) 66 | (on ?x ?y) 67 | ) 68 | ) 69 | 70 | 71 | (:action unstack 72 | :agent ?a - agent 73 | :parameters (?x - block ?y - block) 74 | :precondition (and 75 | (on ?x ?y) 76 | (clear ?x) 77 | (handempty ?a) 78 | (forall (?a2 - agent ?z - block) (not (stack ?a2 ?z ?x))) 79 | (forall (?a2 - agent) (not (unstack ?a2 ?x ?y))) 80 | (forall (?a2 - agent) (not (pick-up ?a2 ?x))) 81 | ) 82 | :effect (and 83 | (holding ?a ?x) 84 | (clear ?y) 85 | (not (clear ?x)) 86 | (not (handempty ?a)) 87 | (not (on ?x ?y)) 88 | ) 89 | ) 90 | 91 | ) 92 | -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-10-0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | j - block 13 | 14 | (:private a1 15 | a1 - agent 16 | ) 17 | 18 | (:private a2 19 | a2 - agent 20 | ) 21 | 22 | (:private a3 23 | a3 - agent 24 | ) 25 | 26 | (:private a4 27 | a4 - agent 28 | ) 29 | ) 30 | (:init 31 | (handempty a1) 32 | (handempty a2) 33 | (handempty a3) 34 | (handempty a4) 35 | (clear c) 36 | (clear f) 37 | (ontable i) 38 | (ontable f) 39 | (on c e) 40 | (on e j) 41 | (on j b) 42 | (on b g) 43 | (on g h) 44 | (on h a) 45 | (on a d) 46 | (on d i) 47 | ) 48 | (:goal 49 | (and 50 | (on d c) 51 | (on c f) 52 | (on f j) 53 | (on j e) 54 | (on e h) 55 | (on h b) 56 | (on b a) 57 | (on a g) 58 | (on g i) 59 | ) 60 | ) 61 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-10-1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | j - block 13 | 14 | (:private a1 15 | a1 - agent 16 | ) 17 | 18 | (:private a2 19 | a2 - agent 20 | ) 21 | 22 | (:private a3 23 | a3 - agent 24 | ) 25 | 26 | (:private a4 27 | a4 - agent 28 | ) 29 | ) 30 | (:init 31 | (handempty a1) 32 | (handempty a2) 33 | (handempty a3) 34 | (handempty a4) 35 | (clear c) 36 | (clear f) 37 | (ontable b) 38 | (ontable h) 39 | (on c g) 40 | (on g e) 41 | (on e i) 42 | (on i j) 43 | (on j a) 44 | (on a b) 45 | (on f d) 46 | (on d h) 47 | ) 48 | (:goal 49 | (and 50 | (on c b) 51 | (on b d) 52 | (on d f) 53 | (on f i) 54 | (on i a) 55 | (on a e) 56 | (on e h) 57 | (on h g) 58 | (on g j) 59 | ) 60 | ) 61 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-10-2.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | j - block 13 | 14 | (:private a1 15 | a1 - agent 16 | ) 17 | 18 | (:private a2 19 | a2 - agent 20 | ) 21 | 22 | (:private a3 23 | a3 - agent 24 | ) 25 | 26 | (:private a4 27 | a4 - agent 28 | ) 29 | ) 30 | (:init 31 | (handempty a1) 32 | (handempty a2) 33 | (handempty a3) 34 | (handempty a4) 35 | (clear j) 36 | (clear c) 37 | (ontable a) 38 | (ontable c) 39 | (on j i) 40 | (on i h) 41 | (on h f) 42 | (on f d) 43 | (on d e) 44 | (on e g) 45 | (on g b) 46 | (on b a) 47 | ) 48 | (:goal 49 | (and 50 | (on b e) 51 | (on e i) 52 | (on i g) 53 | (on g h) 54 | (on h c) 55 | (on c a) 56 | (on a f) 57 | (on f j) 58 | (on j d) 59 | ) 60 | ) 61 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-11-0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | k - block 13 | j - block 14 | 15 | (:private a1 16 | a1 - agent 17 | ) 18 | 19 | (:private a2 20 | a2 - agent 21 | ) 22 | 23 | (:private a3 24 | a3 - agent 25 | ) 26 | 27 | (:private a4 28 | a4 - agent 29 | ) 30 | ) 31 | (:init 32 | (handempty a1) 33 | (handempty a2) 34 | (handempty a3) 35 | (handempty a4) 36 | (clear b) 37 | (clear j) 38 | (clear c) 39 | (ontable i) 40 | (ontable d) 41 | (ontable e) 42 | (on b g) 43 | (on g h) 44 | (on h k) 45 | (on k a) 46 | (on a f) 47 | (on f i) 48 | (on j d) 49 | (on c e) 50 | ) 51 | (:goal 52 | (and 53 | (on a j) 54 | (on j d) 55 | (on d b) 56 | (on b h) 57 | (on h k) 58 | (on k i) 59 | (on i f) 60 | (on f e) 61 | (on e g) 62 | (on g c) 63 | ) 64 | ) 65 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-11-1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | k - block 13 | j - block 14 | 15 | (:private a1 16 | a1 - agent 17 | ) 18 | 19 | (:private a2 20 | a2 - agent 21 | ) 22 | 23 | (:private a3 24 | a3 - agent 25 | ) 26 | 27 | (:private a4 28 | a4 - agent 29 | ) 30 | ) 31 | (:init 32 | (handempty a1) 33 | (handempty a2) 34 | (handempty a3) 35 | (handempty a4) 36 | (clear j) 37 | (clear f) 38 | (clear d) 39 | (clear g) 40 | (ontable i) 41 | (ontable k) 42 | (ontable h) 43 | (ontable a) 44 | (on j i) 45 | (on f e) 46 | (on e k) 47 | (on d c) 48 | (on c h) 49 | (on g b) 50 | (on b a) 51 | ) 52 | (:goal 53 | (and 54 | (on b d) 55 | (on d j) 56 | (on j k) 57 | (on k h) 58 | (on h a) 59 | (on a c) 60 | (on c f) 61 | (on f g) 62 | (on g i) 63 | (on i e) 64 | ) 65 | ) 66 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-11-2.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | k - block 13 | j - block 14 | 15 | (:private a1 16 | a1 - agent 17 | ) 18 | 19 | (:private a2 20 | a2 - agent 21 | ) 22 | 23 | (:private a3 24 | a3 - agent 25 | ) 26 | 27 | (:private a4 28 | a4 - agent 29 | ) 30 | ) 31 | (:init 32 | (handempty a1) 33 | (handempty a2) 34 | (handempty a3) 35 | (handempty a4) 36 | (clear b) 37 | (clear i) 38 | (ontable a) 39 | (ontable g) 40 | (on b h) 41 | (on h k) 42 | (on k f) 43 | (on f c) 44 | (on c d) 45 | (on d j) 46 | (on j a) 47 | (on i e) 48 | (on e g) 49 | ) 50 | (:goal 51 | (and 52 | (on i g) 53 | (on g c) 54 | (on c d) 55 | (on d e) 56 | (on e j) 57 | (on j b) 58 | (on b h) 59 | (on h a) 60 | (on a f) 61 | (on f k) 62 | ) 63 | ) 64 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-12-0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | k - block 13 | j - block 14 | l - block 15 | 16 | (:private a1 17 | a1 - agent 18 | ) 19 | 20 | (:private a2 21 | a2 - agent 22 | ) 23 | 24 | (:private a3 25 | a3 - agent 26 | ) 27 | 28 | (:private a4 29 | a4 - agent 30 | ) 31 | ) 32 | (:init 33 | (handempty a1) 34 | (handempty a2) 35 | (handempty a3) 36 | (handempty a4) 37 | (clear h) 38 | (clear l) 39 | (clear j) 40 | (ontable c) 41 | (ontable f) 42 | (ontable j) 43 | (on h a) 44 | (on a g) 45 | (on g k) 46 | (on k e) 47 | (on e b) 48 | (on b d) 49 | (on d i) 50 | (on i c) 51 | (on l f) 52 | ) 53 | (:goal 54 | (and 55 | (on i c) 56 | (on c b) 57 | (on b l) 58 | (on l d) 59 | (on d j) 60 | (on j e) 61 | (on e k) 62 | (on k f) 63 | (on f a) 64 | (on a h) 65 | (on h g) 66 | ) 67 | ) 68 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-12-1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | k - block 13 | j - block 14 | l - block 15 | 16 | (:private a1 17 | a1 - agent 18 | ) 19 | 20 | (:private a2 21 | a2 - agent 22 | ) 23 | 24 | (:private a3 25 | a3 - agent 26 | ) 27 | 28 | (:private a4 29 | a4 - agent 30 | ) 31 | ) 32 | (:init 33 | (handempty a1) 34 | (handempty a2) 35 | (handempty a3) 36 | (handempty a4) 37 | (clear c) 38 | (clear k) 39 | (ontable j) 40 | (ontable d) 41 | (on c g) 42 | (on g h) 43 | (on h i) 44 | (on i f) 45 | (on f b) 46 | (on b a) 47 | (on a l) 48 | (on l e) 49 | (on e j) 50 | (on k d) 51 | ) 52 | (:goal 53 | (and 54 | (on j c) 55 | (on c e) 56 | (on e k) 57 | (on k h) 58 | (on h a) 59 | (on a f) 60 | (on f l) 61 | (on l g) 62 | (on g b) 63 | (on b i) 64 | (on i d) 65 | ) 66 | ) 67 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-13-0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | k - block 13 | j - block 14 | m - block 15 | l - block 16 | 17 | (:private a1 18 | a1 - agent 19 | ) 20 | 21 | (:private a2 22 | a2 - agent 23 | ) 24 | 25 | (:private a3 26 | a3 - agent 27 | ) 28 | 29 | (:private a4 30 | a4 - agent 31 | ) 32 | ) 33 | (:init 34 | (handempty a1) 35 | (handempty a2) 36 | (handempty a3) 37 | (handempty a4) 38 | (clear b) 39 | (clear i) 40 | (clear m) 41 | (ontable k) 42 | (ontable g) 43 | (ontable m) 44 | (on b f) 45 | (on f d) 46 | (on d c) 47 | (on c j) 48 | (on j a) 49 | (on a e) 50 | (on e h) 51 | (on h l) 52 | (on l k) 53 | (on i g) 54 | ) 55 | (:goal 56 | (and 57 | (on g i) 58 | (on i c) 59 | (on c d) 60 | (on d f) 61 | (on f a) 62 | (on a m) 63 | (on m h) 64 | (on h e) 65 | (on e l) 66 | (on l j) 67 | (on j b) 68 | (on b k) 69 | ) 70 | ) 71 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-13-1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | k - block 13 | j - block 14 | m - block 15 | l - block 16 | 17 | (:private a1 18 | a1 - agent 19 | ) 20 | 21 | (:private a2 22 | a2 - agent 23 | ) 24 | 25 | (:private a3 26 | a3 - agent 27 | ) 28 | 29 | (:private a4 30 | a4 - agent 31 | ) 32 | ) 33 | (:init 34 | (handempty a1) 35 | (handempty a2) 36 | (handempty a3) 37 | (handempty a4) 38 | (clear j) 39 | (clear b) 40 | (ontable f) 41 | (ontable k) 42 | (on j e) 43 | (on e d) 44 | (on d c) 45 | (on c a) 46 | (on a l) 47 | (on l h) 48 | (on h g) 49 | (on g m) 50 | (on m i) 51 | (on i f) 52 | (on b k) 53 | ) 54 | (:goal 55 | (and 56 | (on d a) 57 | (on a e) 58 | (on e l) 59 | (on l m) 60 | (on m c) 61 | (on c j) 62 | (on j f) 63 | (on f k) 64 | (on k g) 65 | (on g h) 66 | (on h i) 67 | (on i b) 68 | ) 69 | ) 70 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-14-0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | k - block 13 | j - block 14 | m - block 15 | l - block 16 | n - block 17 | 18 | (:private a1 19 | a1 - agent 20 | ) 21 | 22 | (:private a2 23 | a2 - agent 24 | ) 25 | 26 | (:private a3 27 | a3 - agent 28 | ) 29 | 30 | (:private a4 31 | a4 - agent 32 | ) 33 | ) 34 | (:init 35 | (handempty a1) 36 | (handempty a2) 37 | (handempty a3) 38 | (handempty a4) 39 | (clear a) 40 | (clear g) 41 | (clear f) 42 | (ontable e) 43 | (ontable n) 44 | (ontable f) 45 | (on a j) 46 | (on j h) 47 | (on h m) 48 | (on m k) 49 | (on k c) 50 | (on c l) 51 | (on l b) 52 | (on b e) 53 | (on g d) 54 | (on d i) 55 | (on i n) 56 | ) 57 | (:goal 58 | (and 59 | (on e l) 60 | (on l f) 61 | (on f b) 62 | (on b j) 63 | (on j i) 64 | (on i n) 65 | (on n c) 66 | (on c k) 67 | (on k g) 68 | (on g d) 69 | (on d m) 70 | (on m a) 71 | (on a h) 72 | ) 73 | ) 74 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-14-1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | k - block 13 | j - block 14 | m - block 15 | l - block 16 | n - block 17 | 18 | (:private a1 19 | a1 - agent 20 | ) 21 | 22 | (:private a2 23 | a2 - agent 24 | ) 25 | 26 | (:private a3 27 | a3 - agent 28 | ) 29 | 30 | (:private a4 31 | a4 - agent 32 | ) 33 | ) 34 | (:init 35 | (handempty a1) 36 | (handempty a2) 37 | (handempty a3) 38 | (handempty a4) 39 | (clear g) 40 | (clear c) 41 | (clear i) 42 | (clear h) 43 | (clear n) 44 | (ontable j) 45 | (ontable e) 46 | (ontable m) 47 | (ontable b) 48 | (ontable n) 49 | (on g j) 50 | (on c e) 51 | (on i d) 52 | (on d l) 53 | (on l m) 54 | (on h f) 55 | (on f a) 56 | (on a k) 57 | (on k b) 58 | ) 59 | (:goal 60 | (and 61 | (on j d) 62 | (on d b) 63 | (on b h) 64 | (on h m) 65 | (on m k) 66 | (on k f) 67 | (on f g) 68 | (on g a) 69 | (on a i) 70 | (on i e) 71 | (on e l) 72 | (on l n) 73 | (on n c) 74 | ) 75 | ) 76 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-15-0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | k - block 13 | j - block 14 | m - block 15 | l - block 16 | o - block 17 | n - block 18 | 19 | (:private a1 20 | a1 - agent 21 | ) 22 | 23 | (:private a2 24 | a2 - agent 25 | ) 26 | 27 | (:private a3 28 | a3 - agent 29 | ) 30 | 31 | (:private a4 32 | a4 - agent 33 | ) 34 | ) 35 | (:init 36 | (handempty a1) 37 | (handempty a2) 38 | (handempty a3) 39 | (handempty a4) 40 | (clear e) 41 | (clear m) 42 | (clear b) 43 | (clear f) 44 | (clear i) 45 | (ontable g) 46 | (ontable n) 47 | (ontable o) 48 | (ontable k) 49 | (ontable h) 50 | (on e j) 51 | (on j d) 52 | (on d l) 53 | (on l c) 54 | (on c g) 55 | (on m n) 56 | (on b a) 57 | (on a o) 58 | (on f k) 59 | (on i h) 60 | ) 61 | (:goal 62 | (and 63 | (on g o) 64 | (on o h) 65 | (on h k) 66 | (on k m) 67 | (on m f) 68 | (on f e) 69 | (on e a) 70 | (on a b) 71 | (on b l) 72 | (on l j) 73 | (on j d) 74 | (on d n) 75 | (on n i) 76 | (on i c) 77 | ) 78 | ) 79 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-15-1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | k - block 13 | j - block 14 | m - block 15 | l - block 16 | o - block 17 | n - block 18 | 19 | (:private a1 20 | a1 - agent 21 | ) 22 | 23 | (:private a2 24 | a2 - agent 25 | ) 26 | 27 | (:private a3 28 | a3 - agent 29 | ) 30 | 31 | (:private a4 32 | a4 - agent 33 | ) 34 | ) 35 | (:init 36 | (handempty a1) 37 | (handempty a2) 38 | (handempty a3) 39 | (handempty a4) 40 | (clear g) 41 | (clear o) 42 | (ontable i) 43 | (ontable m) 44 | (on g l) 45 | (on l f) 46 | (on f c) 47 | (on c n) 48 | (on n e) 49 | (on e h) 50 | (on h d) 51 | (on d a) 52 | (on a k) 53 | (on k b) 54 | (on b j) 55 | (on j i) 56 | (on o m) 57 | ) 58 | (:goal 59 | (and 60 | (on d g) 61 | (on g f) 62 | (on f k) 63 | (on k j) 64 | (on j e) 65 | (on e m) 66 | (on m a) 67 | (on a b) 68 | (on b c) 69 | (on c n) 70 | (on n o) 71 | (on o i) 72 | (on i l) 73 | (on l h) 74 | ) 75 | ) 76 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-16-1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | k - block 13 | j - block 14 | m - block 15 | l - block 16 | o - block 17 | n - block 18 | p - block 19 | 20 | (:private a1 21 | a1 - agent 22 | ) 23 | 24 | (:private a2 25 | a2 - agent 26 | ) 27 | 28 | (:private a3 29 | a3 - agent 30 | ) 31 | 32 | (:private a4 33 | a4 - agent 34 | ) 35 | ) 36 | (:init 37 | (handempty a1) 38 | (handempty a2) 39 | (handempty a3) 40 | (handempty a4) 41 | (clear f) 42 | (clear h) 43 | (clear o) 44 | (ontable a) 45 | (ontable e) 46 | (ontable g) 47 | (on f l) 48 | (on l m) 49 | (on m j) 50 | (on j p) 51 | (on p n) 52 | (on n i) 53 | (on i b) 54 | (on b d) 55 | (on d c) 56 | (on c k) 57 | (on k a) 58 | (on h e) 59 | (on o g) 60 | ) 61 | (:goal 62 | (and 63 | (on d b) 64 | (on b p) 65 | (on p f) 66 | (on f g) 67 | (on g k) 68 | (on k i) 69 | (on i l) 70 | (on l j) 71 | (on j h) 72 | (on h a) 73 | (on a n) 74 | (on n e) 75 | (on e m) 76 | (on m c) 77 | (on c o) 78 | ) 79 | ) 80 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-16-2.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | k - block 13 | j - block 14 | m - block 15 | l - block 16 | o - block 17 | n - block 18 | p - block 19 | 20 | (:private a1 21 | a1 - agent 22 | ) 23 | 24 | (:private a2 25 | a2 - agent 26 | ) 27 | 28 | (:private a3 29 | a3 - agent 30 | ) 31 | 32 | (:private a4 33 | a4 - agent 34 | ) 35 | ) 36 | (:init 37 | (handempty a1) 38 | (handempty a2) 39 | (handempty a3) 40 | (handempty a4) 41 | (clear e) 42 | (clear l) 43 | (ontable j) 44 | (ontable o) 45 | (on e f) 46 | (on f h) 47 | (on h b) 48 | (on b c) 49 | (on c m) 50 | (on m d) 51 | (on d a) 52 | (on a p) 53 | (on p n) 54 | (on n g) 55 | (on g i) 56 | (on i k) 57 | (on k j) 58 | (on l o) 59 | ) 60 | (:goal 61 | (and 62 | (on i d) 63 | (on d h) 64 | (on h f) 65 | (on f b) 66 | (on b k) 67 | (on k j) 68 | (on j g) 69 | (on g e) 70 | (on e c) 71 | (on c l) 72 | (on l m) 73 | (on m n) 74 | (on n a) 75 | (on a p) 76 | (on p o) 77 | ) 78 | ) 79 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-17-0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | k - block 13 | j - block 14 | m - block 15 | l - block 16 | o - block 17 | n - block 18 | q - block 19 | p - block 20 | 21 | (:private a1 22 | a1 - agent 23 | ) 24 | 25 | (:private a2 26 | a2 - agent 27 | ) 28 | 29 | (:private a3 30 | a3 - agent 31 | ) 32 | 33 | (:private a4 34 | a4 - agent 35 | ) 36 | ) 37 | (:init 38 | (handempty a1) 39 | (handempty a2) 40 | (handempty a3) 41 | (handempty a4) 42 | (clear q) 43 | (clear l) 44 | (clear g) 45 | (clear h) 46 | (clear p) 47 | (ontable m) 48 | (ontable k) 49 | (ontable o) 50 | (ontable n) 51 | (ontable p) 52 | (on q a) 53 | (on a j) 54 | (on j i) 55 | (on i b) 56 | (on b m) 57 | (on l f) 58 | (on f e) 59 | (on e k) 60 | (on g d) 61 | (on d c) 62 | (on c o) 63 | (on h n) 64 | ) 65 | (:goal 66 | (and 67 | (on q n) 68 | (on n l) 69 | (on l o) 70 | (on o j) 71 | (on j h) 72 | (on h c) 73 | (on c e) 74 | (on e m) 75 | (on m p) 76 | (on p a) 77 | (on a g) 78 | (on g b) 79 | (on b i) 80 | (on i k) 81 | (on k f) 82 | (on f d) 83 | ) 84 | ) 85 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-9-0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | 13 | (:private a1 14 | a1 - agent 15 | ) 16 | 17 | (:private a2 18 | a2 - agent 19 | ) 20 | 21 | (:private a3 22 | a3 - agent 23 | ) 24 | 25 | (:private a4 26 | a4 - agent 27 | ) 28 | ) 29 | (:init 30 | (handempty a1) 31 | (handempty a2) 32 | (handempty a3) 33 | (handempty a4) 34 | (clear c) 35 | (clear f) 36 | (ontable c) 37 | (ontable b) 38 | (on f g) 39 | (on g e) 40 | (on e a) 41 | (on a i) 42 | (on i d) 43 | (on d h) 44 | (on h b) 45 | ) 46 | (:goal 47 | (and 48 | (on g d) 49 | (on d b) 50 | (on b c) 51 | (on c a) 52 | (on a i) 53 | (on i f) 54 | (on f e) 55 | (on e h) 56 | ) 57 | ) 58 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-9-1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | 13 | (:private a1 14 | a1 - agent 15 | ) 16 | 17 | (:private a2 18 | a2 - agent 19 | ) 20 | 21 | (:private a3 22 | a3 - agent 23 | ) 24 | 25 | (:private a4 26 | a4 - agent 27 | ) 28 | ) 29 | (:init 30 | (handempty a1) 31 | (handempty a2) 32 | (handempty a3) 33 | (handempty a4) 34 | (clear f) 35 | (ontable a) 36 | (on f e) 37 | (on e b) 38 | (on b d) 39 | (on d c) 40 | (on c i) 41 | (on i g) 42 | (on g h) 43 | (on h a) 44 | ) 45 | (:goal 46 | (and 47 | (on d i) 48 | (on i a) 49 | (on a b) 50 | (on b h) 51 | (on h g) 52 | (on g f) 53 | (on f e) 54 | (on e c) 55 | ) 56 | ) 57 | ) -------------------------------------------------------------------------------- /domains/codmap15/blocksworld/problems/probBLOCKS-9-2.pddl: -------------------------------------------------------------------------------- 1 | (define (problem BLOCKS-4-0) (:domain blocks) 2 | (:objects 3 | a - block 4 | c - block 5 | b - block 6 | e - block 7 | d - block 8 | g - block 9 | f - block 10 | i - block 11 | h - block 12 | 13 | (:private a1 14 | a1 - agent 15 | ) 16 | 17 | (:private a2 18 | a2 - agent 19 | ) 20 | 21 | (:private a3 22 | a3 - agent 23 | ) 24 | 25 | (:private a4 26 | a4 - agent 27 | ) 28 | ) 29 | (:init 30 | (handempty a1) 31 | (handempty a2) 32 | (handempty a3) 33 | (handempty a4) 34 | (clear h) 35 | (clear f) 36 | (ontable g) 37 | (ontable f) 38 | (on h a) 39 | (on a d) 40 | (on d e) 41 | (on e c) 42 | (on c i) 43 | (on i b) 44 | (on b g) 45 | ) 46 | (:goal 47 | (and 48 | (on f g) 49 | (on g h) 50 | (on h d) 51 | (on d i) 52 | (on i e) 53 | (on e b) 54 | (on b c) 55 | (on c a) 56 | ) 57 | ) 58 | ) -------------------------------------------------------------------------------- /domains/codmap15/depot/problems/pfile1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem depotprob1818) (:domain depot) 2 | (:objects 3 | truck1 - truck 4 | truck0 - truck 5 | depot0 - depot 6 | crate1 - crate 7 | crate0 - crate 8 | pallet1 - pallet 9 | pallet0 - pallet 10 | pallet2 - pallet 11 | distributor1 - distributor 12 | distributor0 - distributor 13 | 14 | (:private depot0 15 | hoist0 - hoist 16 | ) 17 | 18 | (:private distributor0 19 | hoist1 - hoist 20 | ) 21 | 22 | (:private distributor1 23 | hoist2 - hoist 24 | ) 25 | 26 | (:private driver1 27 | driver1 - driver 28 | ) 29 | 30 | (:private driver0 31 | driver0 - driver 32 | ) 33 | ) 34 | (:init 35 | (driving driver0 truck0) 36 | (driving driver1 truck1) 37 | (at pallet0 depot0) 38 | (clear crate1) 39 | (at pallet1 distributor0) 40 | (clear crate0) 41 | (at pallet2 distributor1) 42 | (clear pallet2) 43 | (at truck0 distributor1) 44 | (at truck1 depot0) 45 | (at hoist0 depot0) 46 | (available depot0 hoist0) 47 | (at hoist1 distributor0) 48 | (available distributor0 hoist1) 49 | (at hoist2 distributor1) 50 | (available distributor1 hoist2) 51 | (at crate0 distributor0) 52 | (on crate0 pallet1) 53 | (at crate1 depot0) 54 | (on crate1 pallet0) 55 | ) 56 | (:goal 57 | (and 58 | (on crate0 pallet2) 59 | (on crate1 pallet1) 60 | ) 61 | ) 62 | ) 63 | -------------------------------------------------------------------------------- /domains/codmap15/depot/problems/pfile2.pddl: -------------------------------------------------------------------------------- 1 | (define (problem depotprob7512) (:domain depot) 2 | (:objects 3 | truck1 - truck 4 | truck0 - truck 5 | depot0 - depot 6 | crate1 - crate 7 | crate0 - crate 8 | crate3 - crate 9 | crate2 - crate 10 | pallet1 - pallet 11 | pallet0 - pallet 12 | pallet2 - pallet 13 | distributor1 - distributor 14 | distributor0 - distributor 15 | 16 | (:private depot0 17 | hoist0 - hoist 18 | ) 19 | 20 | (:private distributor0 21 | hoist1 - hoist 22 | ) 23 | 24 | (:private distributor1 25 | hoist2 - hoist 26 | ) 27 | 28 | (:private driver1 29 | driver1 - driver 30 | ) 31 | 32 | (:private driver0 33 | driver0 - driver 34 | ) 35 | ) 36 | (:init 37 | (driving driver0 truck0) 38 | (driving driver1 truck1) 39 | (at pallet0 depot0) 40 | (clear crate0) 41 | (at pallet1 distributor0) 42 | (clear crate3) 43 | (at pallet2 distributor1) 44 | (clear crate2) 45 | (at truck0 depot0) 46 | (at truck1 depot0) 47 | (at hoist0 depot0) 48 | (available depot0 hoist0) 49 | (at hoist1 distributor0) 50 | (available distributor0 hoist1) 51 | (at hoist2 distributor1) 52 | (available distributor1 hoist2) 53 | (at crate0 depot0) 54 | (on crate0 pallet0) 55 | (at crate1 distributor1) 56 | (on crate1 pallet2) 57 | (at crate2 distributor1) 58 | (on crate2 crate1) 59 | (at crate3 distributor0) 60 | (on crate3 pallet1) 61 | ) 62 | (:goal 63 | (and 64 | (on crate0 pallet2) 65 | (on crate1 crate3) 66 | (on crate2 pallet0) 67 | (on crate3 pallet1) 68 | ) 69 | ) 70 | ) 71 | -------------------------------------------------------------------------------- /domains/codmap15/depot/problems/pfile3.pddl: -------------------------------------------------------------------------------- 1 | (define (problem depotprob1935) (:domain depot) 2 | (:objects 3 | truck1 - truck 4 | distributor0 - distributor 5 | crate5 - crate 6 | crate4 - crate 7 | depot0 - depot 8 | crate0 - crate 9 | crate3 - crate 10 | crate2 - crate 11 | crate1 - crate 12 | pallet1 - pallet 13 | pallet0 - pallet 14 | pallet2 - pallet 15 | distributor1 - distributor 16 | truck0 - truck 17 | 18 | (:private depot0 19 | hoist0 - hoist 20 | ) 21 | 22 | (:private distributor0 23 | hoist1 - hoist 24 | ) 25 | 26 | (:private distributor1 27 | hoist2 - hoist 28 | ) 29 | 30 | (:private driver1 31 | driver1 - driver 32 | ) 33 | 34 | (:private driver0 35 | driver0 - driver 36 | ) 37 | ) 38 | (:init 39 | (driving driver0 truck0) 40 | (driving driver1 truck1) 41 | (at pallet0 depot0) 42 | (clear crate1) 43 | (at pallet1 distributor0) 44 | (clear crate4) 45 | (at pallet2 distributor1) 46 | (clear crate5) 47 | (at truck0 depot0) 48 | (at truck1 distributor0) 49 | (at hoist0 depot0) 50 | (available depot0 hoist0) 51 | (at hoist1 distributor0) 52 | (available distributor0 hoist1) 53 | (at hoist2 distributor1) 54 | (available distributor1 hoist2) 55 | (at crate0 distributor0) 56 | (on crate0 pallet1) 57 | (at crate1 depot0) 58 | (on crate1 pallet0) 59 | (at crate2 distributor1) 60 | (on crate2 pallet2) 61 | (at crate3 distributor0) 62 | (on crate3 crate0) 63 | (at crate4 distributor0) 64 | (on crate4 crate3) 65 | (at crate5 distributor1) 66 | (on crate5 crate2) 67 | ) 68 | (:goal 69 | (and 70 | (on crate0 crate1) 71 | (on crate1 pallet2) 72 | (on crate2 pallet0) 73 | (on crate3 crate2) 74 | (on crate4 pallet1) 75 | (on crate5 crate0) 76 | ) 77 | ) 78 | ) 79 | -------------------------------------------------------------------------------- /domains/codmap15/depot/problems/pfile4.pddl: -------------------------------------------------------------------------------- 1 | (define (problem depotprob6512) (:domain depot) 2 | (:objects 3 | distributor1 - distributor 4 | distributor0 - distributor 5 | depot0 - depot 6 | pallet1 - pallet 7 | pallet0 - pallet 8 | pallet2 - pallet 9 | truck1 - truck 10 | truck0 - truck 11 | crate5 - crate 12 | crate4 - crate 13 | crate7 - crate 14 | crate6 - crate 15 | crate1 - crate 16 | crate0 - crate 17 | crate3 - crate 18 | crate2 - crate 19 | 20 | (:private depot0 21 | hoist0 - hoist 22 | ) 23 | 24 | (:private distributor0 25 | hoist1 - hoist 26 | ) 27 | 28 | (:private distributor1 29 | hoist2 - hoist 30 | ) 31 | 32 | (:private driver1 33 | driver1 - driver 34 | ) 35 | 36 | (:private driver0 37 | driver0 - driver 38 | ) 39 | ) 40 | (:init 41 | (driving driver0 truck0) 42 | (driving driver1 truck1) 43 | (at pallet0 depot0) 44 | (clear crate7) 45 | (at pallet1 distributor0) 46 | (clear crate2) 47 | (at pallet2 distributor1) 48 | (clear crate6) 49 | (at truck0 distributor1) 50 | (at truck1 distributor1) 51 | (at hoist0 depot0) 52 | (available depot0 hoist0) 53 | (at hoist1 distributor0) 54 | (available distributor0 hoist1) 55 | (at hoist2 distributor1) 56 | (available distributor1 hoist2) 57 | (at crate0 depot0) 58 | (on crate0 pallet0) 59 | (at crate1 depot0) 60 | (on crate1 crate0) 61 | (at crate2 distributor0) 62 | (on crate2 pallet1) 63 | (at crate3 distributor1) 64 | (on crate3 pallet2) 65 | (at crate4 depot0) 66 | (on crate4 crate1) 67 | (at crate5 distributor1) 68 | (on crate5 crate3) 69 | (at crate6 distributor1) 70 | (on crate6 crate5) 71 | (at crate7 depot0) 72 | (on crate7 crate4) 73 | ) 74 | (:goal 75 | (and 76 | (on crate0 crate4) 77 | (on crate2 crate6) 78 | (on crate4 crate7) 79 | (on crate5 pallet2) 80 | (on crate6 pallet1) 81 | (on crate7 pallet0) 82 | ) 83 | ) 84 | ) 85 | -------------------------------------------------------------------------------- /domains/codmap15/depot/problems/pfile5.pddl: -------------------------------------------------------------------------------- 1 | (define (problem depotprob1212) (:domain depot) 2 | (:objects 3 | distributor1 - distributor 4 | distributor0 - distributor 5 | depot0 - depot 6 | pallet1 - pallet 7 | pallet0 - pallet 8 | pallet2 - pallet 9 | crate9 - crate 10 | crate8 - crate 11 | truck1 - truck 12 | truck0 - truck 13 | crate5 - crate 14 | crate4 - crate 15 | crate7 - crate 16 | crate6 - crate 17 | crate1 - crate 18 | crate0 - crate 19 | crate3 - crate 20 | crate2 - crate 21 | 22 | (:private depot0 23 | hoist0 - hoist 24 | ) 25 | 26 | (:private distributor0 27 | hoist1 - hoist 28 | ) 29 | 30 | (:private distributor1 31 | hoist2 - hoist 32 | ) 33 | 34 | (:private driver1 35 | driver1 - driver 36 | ) 37 | 38 | (:private driver0 39 | driver0 - driver 40 | ) 41 | ) 42 | (:init 43 | (driving driver0 truck0) 44 | (driving driver1 truck1) 45 | (at pallet0 depot0) 46 | (clear crate4) 47 | (at pallet1 distributor0) 48 | (clear crate8) 49 | (at pallet2 distributor1) 50 | (clear crate9) 51 | (at truck0 depot0) 52 | (at truck1 distributor0) 53 | (at hoist0 depot0) 54 | (available depot0 hoist0) 55 | (at hoist1 distributor0) 56 | (available distributor0 hoist1) 57 | (at hoist2 distributor1) 58 | (available distributor1 hoist2) 59 | (at crate0 distributor1) 60 | (on crate0 pallet2) 61 | (at crate1 depot0) 62 | (on crate1 pallet0) 63 | (at crate2 distributor1) 64 | (on crate2 crate0) 65 | (at crate3 depot0) 66 | (on crate3 crate1) 67 | (at crate4 depot0) 68 | (on crate4 crate3) 69 | (at crate5 distributor1) 70 | (on crate5 crate2) 71 | (at crate6 distributor0) 72 | (on crate6 pallet1) 73 | (at crate7 distributor0) 74 | (on crate7 crate6) 75 | (at crate8 distributor0) 76 | (on crate8 crate7) 77 | (at crate9 distributor1) 78 | (on crate9 crate5) 79 | ) 80 | (:goal 81 | (and 82 | (on crate0 crate5) 83 | (on crate1 pallet1) 84 | (on crate2 crate0) 85 | (on crate3 pallet2) 86 | (on crate4 crate6) 87 | (on crate5 crate4) 88 | (on crate6 crate9) 89 | (on crate7 crate1) 90 | (on crate8 crate3) 91 | (on crate9 pallet0) 92 | ) 93 | ) 94 | ) 95 | -------------------------------------------------------------------------------- /domains/codmap15/depot/problems/pfile7.pddl: -------------------------------------------------------------------------------- 1 | (define (problem depotprob1234) (:domain depot) 2 | (:objects 3 | distributor1 - distributor 4 | distributor0 - distributor 5 | depot0 - depot 6 | pallet5 - pallet 7 | pallet4 - pallet 8 | pallet1 - pallet 9 | pallet0 - pallet 10 | pallet3 - pallet 11 | pallet2 - pallet 12 | truck1 - truck 13 | truck0 - truck 14 | crate5 - crate 15 | crate4 - crate 16 | crate1 - crate 17 | crate0 - crate 18 | crate3 - crate 19 | crate2 - crate 20 | 21 | (:private depot0 22 | hoist0 - hoist 23 | ) 24 | 25 | (:private distributor0 26 | hoist1 - hoist 27 | ) 28 | 29 | (:private distributor1 30 | hoist2 - hoist 31 | ) 32 | 33 | (:private driver1 34 | driver1 - driver 35 | ) 36 | 37 | (:private driver0 38 | driver0 - driver 39 | ) 40 | ) 41 | (:init 42 | (driving driver0 truck0) 43 | (driving driver1 truck1) 44 | (at pallet0 depot0) 45 | (clear crate5) 46 | (at pallet1 distributor0) 47 | (clear pallet1) 48 | (at pallet2 distributor1) 49 | (clear crate3) 50 | (at pallet3 distributor0) 51 | (clear pallet3) 52 | (at pallet4 distributor0) 53 | (clear crate4) 54 | (at pallet5 distributor1) 55 | (clear crate1) 56 | (at truck0 distributor1) 57 | (at truck1 depot0) 58 | (at hoist0 depot0) 59 | (available depot0 hoist0) 60 | (at hoist1 distributor0) 61 | (available distributor0 hoist1) 62 | (at hoist2 distributor1) 63 | (available distributor1 hoist2) 64 | (at crate0 distributor0) 65 | (on crate0 pallet4) 66 | (at crate1 distributor1) 67 | (on crate1 pallet5) 68 | (at crate2 distributor1) 69 | (on crate2 pallet2) 70 | (at crate3 distributor1) 71 | (on crate3 crate2) 72 | (at crate4 distributor0) 73 | (on crate4 crate0) 74 | (at crate5 depot0) 75 | (on crate5 pallet0) 76 | ) 77 | (:goal 78 | (and 79 | (on crate0 pallet3) 80 | (on crate1 crate4) 81 | (on crate3 pallet1) 82 | (on crate4 pallet5) 83 | (on crate5 crate1) 84 | ) 85 | ) 86 | ) 87 | -------------------------------------------------------------------------------- /domains/codmap15/driverlog/problems/pfile1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem DLOG-2-2-2) (:domain driverlog) 2 | (:objects 3 | truck1 - truck 4 | truck2 - truck 5 | s2 - location 6 | s1 - location 7 | s0 - location 8 | package1 - package 9 | package2 - package 10 | p1-2 - location 11 | p1-0 - location 12 | 13 | (:private driver1 14 | driver1 - driver 15 | ) 16 | 17 | (:private driver2 18 | driver2 - driver 19 | ) 20 | ) 21 | (:init 22 | (at driver1 s2) 23 | (at driver2 s2) 24 | (at truck1 s0) 25 | (empty truck1) 26 | (at truck2 s0) 27 | (empty truck2) 28 | (at package1 s0) 29 | (at package2 s0) 30 | (path s1 p1-0) 31 | (path p1-0 s1) 32 | (path s0 p1-0) 33 | (path p1-0 s0) 34 | (path s1 p1-2) 35 | (path p1-2 s1) 36 | (path s2 p1-2) 37 | (path p1-2 s2) 38 | (link s0 s1) 39 | (link s1 s0) 40 | (link s0 s2) 41 | (link s2 s0) 42 | (link s2 s1) 43 | (link s1 s2) 44 | ) 45 | (:goal 46 | (and 47 | (at truck1 s1) 48 | (at package1 s0) 49 | (at package2 s0) 50 | ) 51 | ) 52 | ) -------------------------------------------------------------------------------- /domains/codmap15/driverlog/problems/pfile2.pddl: -------------------------------------------------------------------------------- 1 | (define (problem DLOG-2-2-3) (:domain driverlog) 2 | (:objects 3 | truck1 - truck 4 | truck2 - truck 5 | s2 - location 6 | s1 - location 7 | s0 - location 8 | p0-2 - location 9 | p0-1 - location 10 | p2-1 - location 11 | package1 - package 12 | package2 - package 13 | package3 - package 14 | 15 | (:private driver1 16 | driver1 - driver 17 | ) 18 | 19 | (:private driver2 20 | driver2 - driver 21 | ) 22 | ) 23 | (:init 24 | (at driver1 s0) 25 | (at driver2 s0) 26 | (at truck1 s0) 27 | (empty truck1) 28 | (at truck2 s1) 29 | (empty truck2) 30 | (at package1 s2) 31 | (at package2 s1) 32 | (at package3 s1) 33 | (path s0 p0-1) 34 | (path p0-1 s0) 35 | (path s1 p0-1) 36 | (path p0-1 s1) 37 | (path s0 p0-2) 38 | (path p0-2 s0) 39 | (path s2 p0-2) 40 | (path p0-2 s2) 41 | (path s2 p2-1) 42 | (path p2-1 s2) 43 | (path s1 p2-1) 44 | (path p2-1 s1) 45 | (link s0 s2) 46 | (link s2 s0) 47 | (link s1 s0) 48 | (link s0 s1) 49 | (link s1 s2) 50 | (link s2 s1) 51 | ) 52 | (:goal 53 | (and 54 | (at truck1 s2) 55 | (at truck2 s0) 56 | (at package1 s0) 57 | (at package2 s2) 58 | (at package3 s0) 59 | ) 60 | ) 61 | ) -------------------------------------------------------------------------------- /domains/codmap15/driverlog/problems/pfile3.pddl: -------------------------------------------------------------------------------- 1 | (define (problem DLOG-2-2-4) (:domain driverlog) 2 | (:objects 3 | truck1 - truck 4 | truck2 - truck 5 | s2 - location 6 | s1 - location 7 | s0 - location 8 | p0-1 - location 9 | p2-1 - location 10 | p2-0 - location 11 | package1 - package 12 | package2 - package 13 | package3 - package 14 | package4 - package 15 | 16 | (:private driver1 17 | driver1 - driver 18 | ) 19 | 20 | (:private driver2 21 | driver2 - driver 22 | ) 23 | ) 24 | (:init 25 | (at driver1 s1) 26 | (at driver2 s0) 27 | (at truck1 s1) 28 | (empty truck1) 29 | (at truck2 s2) 30 | (empty truck2) 31 | (at package1 s0) 32 | (at package2 s0) 33 | (at package3 s1) 34 | (at package4 s1) 35 | (path s0 p0-1) 36 | (path p0-1 s0) 37 | (path s1 p0-1) 38 | (path p0-1 s1) 39 | (path s2 p2-0) 40 | (path p2-0 s2) 41 | (path s0 p2-0) 42 | (path p2-0 s0) 43 | (path s2 p2-1) 44 | (path p2-1 s2) 45 | (path s1 p2-1) 46 | (path p2-1 s1) 47 | (link s1 s0) 48 | (link s0 s1) 49 | (link s1 s2) 50 | (link s2 s1) 51 | (link s2 s0) 52 | (link s0 s2) 53 | ) 54 | (:goal 55 | (and 56 | (at truck1 s1) 57 | (at truck2 s2) 58 | (at package1 s1) 59 | (at package2 s1) 60 | (at package3 s2) 61 | ) 62 | ) 63 | ) -------------------------------------------------------------------------------- /domains/codmap15/driverlog/problems/pfile4.pddl: -------------------------------------------------------------------------------- 1 | (define (problem DLOG-3-2-4) (:domain driverlog) 2 | (:objects 3 | truck1 - truck 4 | truck2 - truck 5 | package4 - package 6 | s1 - location 7 | s0 - location 8 | p0-1 - location 9 | s2 - location 10 | package1 - package 11 | package2 - package 12 | package3 - package 13 | p1-2 - location 14 | 15 | (:private driver1 16 | driver1 - driver 17 | ) 18 | 19 | (:private driver2 20 | driver2 - driver 21 | ) 22 | 23 | (:private driver3 24 | driver3 - driver 25 | ) 26 | ) 27 | (:init 28 | (at driver1 s1) 29 | (at driver2 s1) 30 | (at driver3 s0) 31 | (at truck1 s1) 32 | (empty truck1) 33 | (at truck2 s0) 34 | (empty truck2) 35 | (at package1 s2) 36 | (at package2 s2) 37 | (at package3 s0) 38 | (at package4 s1) 39 | (path s0 p0-1) 40 | (path p0-1 s0) 41 | (path s1 p0-1) 42 | (path p0-1 s1) 43 | (path s1 p1-2) 44 | (path p1-2 s1) 45 | (path s2 p1-2) 46 | (path p1-2 s2) 47 | (link s0 s2) 48 | (link s2 s0) 49 | (link s1 s0) 50 | (link s0 s1) 51 | (link s2 s1) 52 | (link s1 s2) 53 | ) 54 | (:goal 55 | (and 56 | (at truck1 s1) 57 | (at truck2 s2) 58 | (at package1 s1) 59 | (at package2 s2) 60 | (at package3 s2) 61 | (at package4 s0) 62 | ) 63 | ) 64 | ) -------------------------------------------------------------------------------- /domains/codmap15/driverlog/problems/pfile5.pddl: -------------------------------------------------------------------------------- 1 | (define (problem DLOG-3-2-5) (:domain driverlog) 2 | (:objects 3 | truck1 - truck 4 | truck2 - truck 5 | package4 - package 6 | s1 - location 7 | s0 - location 8 | p0-2 - location 9 | p0-1 - location 10 | s2 - location 11 | package1 - package 12 | package2 - package 13 | package3 - package 14 | p1-2 - location 15 | package5 - package 16 | 17 | (:private driver1 18 | driver1 - driver 19 | ) 20 | 21 | (:private driver2 22 | driver2 - driver 23 | ) 24 | 25 | (:private driver3 26 | driver3 - driver 27 | ) 28 | ) 29 | (:init 30 | (at driver1 s1) 31 | (at driver2 s0) 32 | (at driver3 s0) 33 | (at truck1 s1) 34 | (empty truck1) 35 | (at truck2 s1) 36 | (empty truck2) 37 | (at package1 s0) 38 | (at package2 s0) 39 | (at package3 s2) 40 | (at package4 s2) 41 | (at package5 s1) 42 | (path s0 p0-1) 43 | (path p0-1 s0) 44 | (path s1 p0-1) 45 | (path p0-1 s1) 46 | (path s0 p0-2) 47 | (path p0-2 s0) 48 | (path s2 p0-2) 49 | (path p0-2 s2) 50 | (path s1 p1-2) 51 | (path p1-2 s1) 52 | (path s2 p1-2) 53 | (path p1-2 s2) 54 | (link s0 s1) 55 | (link s1 s0) 56 | (link s0 s2) 57 | (link s2 s0) 58 | (link s1 s2) 59 | (link s2 s1) 60 | ) 61 | (:goal 62 | (and 63 | (at truck1 s2) 64 | (at truck2 s2) 65 | (at package1 s1) 66 | (at package2 s1) 67 | (at package3 s1) 68 | (at package4 s0) 69 | (at package5 s1) 70 | ) 71 | ) 72 | ) -------------------------------------------------------------------------------- /domains/codmap15/driverlog/problems/pfile6.pddl: -------------------------------------------------------------------------------- 1 | (define (problem DLOG-3-3-5) (:domain driverlog) 2 | (:objects 3 | truck1 - truck 4 | truck3 - truck 5 | truck2 - truck 6 | package4 - package 7 | s1 - location 8 | s0 - location 9 | p2-0 - location 10 | s2 - location 11 | package1 - package 12 | package2 - package 13 | package3 - package 14 | p1-2 - location 15 | package5 - package 16 | 17 | (:private driver1 18 | driver1 - driver 19 | ) 20 | 21 | (:private driver2 22 | driver2 - driver 23 | ) 24 | 25 | (:private driver3 26 | driver3 - driver 27 | ) 28 | ) 29 | (:init 30 | (at driver1 s2) 31 | (at driver2 s2) 32 | (at driver3 s1) 33 | (at truck1 s0) 34 | (empty truck1) 35 | (at truck2 s1) 36 | (empty truck2) 37 | (at truck3 s1) 38 | (empty truck3) 39 | (at package1 s1) 40 | (at package2 s1) 41 | (at package3 s0) 42 | (at package4 s1) 43 | (at package5 s1) 44 | (path s1 p1-2) 45 | (path p1-2 s1) 46 | (path s2 p1-2) 47 | (path p1-2 s2) 48 | (path s2 p2-0) 49 | (path p2-0 s2) 50 | (path s0 p2-0) 51 | (path p2-0 s0) 52 | (link s0 s1) 53 | (link s1 s0) 54 | (link s0 s2) 55 | (link s2 s0) 56 | (link s2 s1) 57 | (link s1 s2) 58 | ) 59 | (:goal 60 | (and 61 | (at truck1 s0) 62 | (at truck2 s0) 63 | (at truck3 s2) 64 | (at package1 s2) 65 | (at package2 s1) 66 | (at package3 s0) 67 | (at package4 s1) 68 | (at package5 s1) 69 | ) 70 | ) 71 | ) -------------------------------------------------------------------------------- /domains/codmap15/driverlog/problems/pfile7.pddl: -------------------------------------------------------------------------------- 1 | (define (problem DLOG-3-3-6) (:domain driverlog) 2 | (:objects 3 | truck1 - truck 4 | truck3 - truck 5 | truck2 - truck 6 | s2 - location 7 | s1 - location 8 | s0 - location 9 | p0-2 - location 10 | p0-1 - location 11 | p2-1 - location 12 | package1 - package 13 | package2 - package 14 | package3 - package 15 | package4 - package 16 | package5 - package 17 | package6 - package 18 | 19 | (:private driver1 20 | driver1 - driver 21 | ) 22 | 23 | (:private driver2 24 | driver2 - driver 25 | ) 26 | 27 | (:private driver3 28 | driver3 - driver 29 | ) 30 | ) 31 | (:init 32 | (at driver1 s1) 33 | (at driver2 s2) 34 | (at driver3 s2) 35 | (at truck1 s1) 36 | (empty truck1) 37 | (at truck2 s1) 38 | (empty truck2) 39 | (at truck3 s1) 40 | (empty truck3) 41 | (at package1 s0) 42 | (at package2 s2) 43 | (at package3 s1) 44 | (at package4 s1) 45 | (at package5 s1) 46 | (at package6 s0) 47 | (path s0 p0-1) 48 | (path p0-1 s0) 49 | (path s1 p0-1) 50 | (path p0-1 s1) 51 | (path s0 p0-2) 52 | (path p0-2 s0) 53 | (path s2 p0-2) 54 | (path p0-2 s2) 55 | (path s2 p2-1) 56 | (path p2-1 s2) 57 | (path s1 p2-1) 58 | (path p2-1 s1) 59 | (link s1 s0) 60 | (link s0 s1) 61 | (link s1 s2) 62 | (link s2 s1) 63 | (link s2 s0) 64 | (link s0 s2) 65 | ) 66 | (:goal 67 | (and 68 | (at truck1 s1) 69 | (at truck2 s0) 70 | (at package1 s0) 71 | (at package2 s1) 72 | (at package3 s1) 73 | (at package4 s2) 74 | (at package5 s0) 75 | (at package6 s0) 76 | ) 77 | ) 78 | ) -------------------------------------------------------------------------------- /domains/codmap15/driverlog/problems/pfile8.pddl: -------------------------------------------------------------------------------- 1 | (define (problem DLOG-3-3-7) (:domain driverlog) 2 | (:objects 3 | p2-1 - location 4 | p2-0 - location 5 | package1 - package 6 | package2 - package 7 | package3 - package 8 | package4 - package 9 | package5 - package 10 | package6 - package 11 | package7 - package 12 | truck1 - truck 13 | truck3 - truck 14 | truck2 - truck 15 | s2 - location 16 | s1 - location 17 | s0 - location 18 | p1-0 - location 19 | 20 | (:private driver1 21 | driver1 - driver 22 | ) 23 | 24 | (:private driver2 25 | driver2 - driver 26 | ) 27 | 28 | (:private driver3 29 | driver3 - driver 30 | ) 31 | ) 32 | (:init 33 | (at driver1 s2) 34 | (at driver2 s0) 35 | (at driver3 s1) 36 | (at truck1 s2) 37 | (empty truck1) 38 | (at truck2 s2) 39 | (empty truck2) 40 | (at truck3 s2) 41 | (empty truck3) 42 | (at package1 s0) 43 | (at package2 s1) 44 | (at package3 s0) 45 | (at package4 s0) 46 | (at package5 s1) 47 | (at package6 s2) 48 | (at package7 s2) 49 | (path s1 p1-0) 50 | (path p1-0 s1) 51 | (path s0 p1-0) 52 | (path p1-0 s0) 53 | (path s2 p2-0) 54 | (path p2-0 s2) 55 | (path s0 p2-0) 56 | (path p2-0 s0) 57 | (path s2 p2-1) 58 | (path p2-1 s2) 59 | (path s1 p2-1) 60 | (path p2-1 s1) 61 | (link s0 s1) 62 | (link s1 s0) 63 | (link s0 s2) 64 | (link s2 s0) 65 | (link s1 s2) 66 | (link s2 s1) 67 | ) 68 | (:goal 69 | (and 70 | (at truck2 s1) 71 | (at truck3 s0) 72 | (at package1 s2) 73 | (at package2 s0) 74 | (at package3 s1) 75 | (at package4 s2) 76 | (at package5 s1) 77 | (at package6 s2) 78 | (at package7 s1) 79 | ) 80 | ) 81 | ) -------------------------------------------------------------------------------- /domains/codmap15/driverlog/problems/pfile9.pddl: -------------------------------------------------------------------------------- 1 | (define (problem DLOG-2-3-6) (:domain driverlog) 2 | (:objects 3 | p4-0 - location 4 | p0-1 - location 5 | s4 - location 6 | package1 - package 7 | package2 - package 8 | package3 - package 9 | p1-2 - location 10 | package5 - package 11 | package6 - package 12 | truck1 - truck 13 | truck3 - truck 14 | truck2 - truck 15 | s3 - location 16 | package4 - package 17 | s1 - location 18 | s0 - location 19 | p1-3 - location 20 | s2 - location 21 | p3-2 - location 22 | p3-4 - location 23 | 24 | (:private driver1 25 | driver1 - driver 26 | ) 27 | 28 | (:private driver2 29 | driver2 - driver 30 | ) 31 | ) 32 | (:init 33 | (at driver1 s4) 34 | (at driver2 s1) 35 | (at truck1 s2) 36 | (empty truck1) 37 | (at truck2 s0) 38 | (empty truck2) 39 | (at truck3 s3) 40 | (empty truck3) 41 | (at package1 s2) 42 | (at package2 s1) 43 | (at package3 s3) 44 | (at package4 s0) 45 | (at package5 s1) 46 | (at package6 s1) 47 | (path s0 p0-1) 48 | (path p0-1 s0) 49 | (path s1 p0-1) 50 | (path p0-1 s1) 51 | (path s1 p1-2) 52 | (path p1-2 s1) 53 | (path s2 p1-2) 54 | (path p1-2 s2) 55 | (path s1 p1-3) 56 | (path p1-3 s1) 57 | (path s3 p1-3) 58 | (path p1-3 s3) 59 | (path s3 p3-2) 60 | (path p3-2 s3) 61 | (path s2 p3-2) 62 | (path p3-2 s2) 63 | (path s3 p3-4) 64 | (path p3-4 s3) 65 | (path s4 p3-4) 66 | (path p3-4 s4) 67 | (path s4 p4-0) 68 | (path p4-0 s4) 69 | (path s0 p4-0) 70 | (path p4-0 s0) 71 | (link s0 s2) 72 | (link s2 s0) 73 | (link s0 s3) 74 | (link s3 s0) 75 | (link s1 s0) 76 | (link s0 s1) 77 | (link s2 s1) 78 | (link s1 s2) 79 | (link s3 s2) 80 | (link s2 s3) 81 | (link s4 s0) 82 | (link s0 s4) 83 | (link s4 s2) 84 | (link s2 s4) 85 | (link s4 s3) 86 | (link s3 s4) 87 | ) 88 | (:goal 89 | (and 90 | (at truck1 s3) 91 | (at truck2 s3) 92 | (at package1 s3) 93 | (at package2 s2) 94 | (at package3 s1) 95 | (at package4 s0) 96 | (at package5 s1) 97 | (at package6 s1) 98 | ) 99 | ) 100 | ) -------------------------------------------------------------------------------- /domains/codmap15/logistics00/domain/domain.pddl: -------------------------------------------------------------------------------- 1 | (define (domain logistics) 2 | (:requirements :typing :multi-agent :unfactored-privacy) 3 | (:types 4 | location vehicle package city - object 5 | airport - location 6 | truck airplane - vehicle 7 | ) 8 | (:predicates 9 | (at ?obj - object ?loc - location) 10 | (in ?obj1 - package ?veh - vehicle) 11 | 12 | (:private ?agent - truck 13 | (in-city ?agent - truck ?loc - location ?city - city) 14 | ) 15 | ) 16 | 17 | (:action load-airplane 18 | :agent ?airplane - airplane 19 | :parameters (?obj - package ?loc - airport) 20 | :precondition (and 21 | (at ?obj ?loc) 22 | (at ?airplane ?loc) 23 | ) 24 | :effect (and 25 | (not (at ?obj ?loc)) 26 | (in ?obj ?airplane) 27 | ) 28 | ) 29 | 30 | 31 | (:action unload-airplane 32 | :agent ?airplane - airplane 33 | :parameters (?obj - package ?loc - airport) 34 | :precondition (and 35 | (in ?obj ?airplane) 36 | (at ?airplane ?loc) 37 | ) 38 | :effect (and 39 | (not (in ?obj ?airplane)) 40 | (at ?obj ?loc) 41 | ) 42 | ) 43 | 44 | 45 | (:action fly-airplane 46 | :agent ?airplane - airplane 47 | :parameters (?loc-from - airport ?loc-to - airport) 48 | :precondition 49 | (at ?airplane ?loc-from) 50 | :effect (and 51 | (not (at ?airplane ?loc-from)) 52 | (at ?airplane ?loc-to) 53 | ) 54 | ) 55 | 56 | 57 | (:action load-truck 58 | :agent ?truck - truck 59 | :parameters (?obj - package ?loc - location) 60 | :precondition (and 61 | (at ?truck ?loc) 62 | (at ?obj ?loc) 63 | ) 64 | :effect (and 65 | (not (at ?obj ?loc)) 66 | (in ?obj ?truck) 67 | ) 68 | ) 69 | 70 | 71 | (:action unload-truck 72 | :agent ?truck - truck 73 | :parameters (?obj - package ?loc - location) 74 | :precondition (and 75 | (at ?truck ?loc) 76 | (in ?obj ?truck) 77 | ) 78 | :effect (and 79 | (not (in ?obj ?truck)) 80 | (at ?obj ?loc) 81 | ) 82 | ) 83 | 84 | 85 | (:action drive-truck 86 | :agent ?truck - truck 87 | :parameters (?loc-from - location ?loc-to - location ?city - city) 88 | :precondition (and 89 | (at ?truck ?loc-from) 90 | (in-city ?truck ?loc-from ?city) 91 | (in-city ?truck ?loc-to ?city) 92 | ) 93 | :effect (and 94 | (not (at ?truck ?loc-from)) 95 | (at ?truck ?loc-to) 96 | ) 97 | ) 98 | 99 | ) 100 | -------------------------------------------------------------------------------- /domains/codmap15/logistics00/problems/probLOGISTICS-10-0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem logistics-10-0) (:domain logistics) 2 | (:objects 3 | apt3 - airport 4 | apt2 - airport 5 | apt1 - airport 6 | apt4 - airport 7 | pos4 - location 8 | pos3 - location 9 | pos1 - location 10 | obj21 - package 11 | obj22 - package 12 | obj23 - package 13 | obj33 - package 14 | obj32 - package 15 | obj31 - package 16 | obj42 - package 17 | obj43 - package 18 | obj41 - package 19 | obj11 - package 20 | obj13 - package 21 | obj12 - package 22 | 23 | (:private apn1 24 | apn1 - airplane 25 | ) 26 | 27 | (:private tru4 28 | cit4 - city 29 | tru4 - truck 30 | ) 31 | 32 | (:private tru3 33 | tru3 - truck 34 | cit3 - city 35 | ) 36 | 37 | (:private tru2 38 | cit2 - city 39 | tru2 - truck 40 | pos2 - location 41 | ) 42 | 43 | (:private tru1 44 | tru1 - truck 45 | cit1 - city 46 | ) 47 | ) 48 | (:init 49 | (at apn1 apt1) 50 | (at tru1 pos1) 51 | (at obj11 pos1) 52 | (at obj12 pos1) 53 | (at obj13 pos1) 54 | (at tru2 pos2) 55 | (at obj21 pos2) 56 | (at obj22 pos2) 57 | (at obj23 pos2) 58 | (at tru3 pos3) 59 | (at obj31 pos3) 60 | (at obj32 pos3) 61 | (at obj33 pos3) 62 | (at tru4 pos4) 63 | (at obj41 pos4) 64 | (at obj42 pos4) 65 | (at obj43 pos4) 66 | (in-city tru1 pos1 cit1) 67 | (in-city tru1 apt1 cit1) 68 | (in-city tru2 pos2 cit2) 69 | (in-city tru2 apt2 cit2) 70 | (in-city tru3 pos3 cit3) 71 | (in-city tru3 apt3 cit3) 72 | (in-city tru4 pos4 cit4) 73 | (in-city tru4 apt4 cit4) 74 | ) 75 | (:goal 76 | (and 77 | (at obj31 pos3) 78 | (at obj33 apt3) 79 | (at obj41 apt3) 80 | (at obj23 pos4) 81 | (at obj11 pos3) 82 | (at obj22 apt2) 83 | (at obj12 apt1) 84 | (at obj21 pos4) 85 | (at obj42 pos4) 86 | (at obj32 pos1) 87 | ) 88 | ) 89 | ) 90 | -------------------------------------------------------------------------------- /domains/codmap15/logistics00/problems/probLOGISTICS-10-1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem logistics-10-1) (:domain logistics) 2 | (:objects 3 | apt3 - airport 4 | apt2 - airport 5 | apt1 - airport 6 | apt4 - airport 7 | pos4 - location 8 | pos3 - location 9 | pos1 - location 10 | obj21 - package 11 | obj22 - package 12 | obj23 - package 13 | obj33 - package 14 | obj32 - package 15 | obj31 - package 16 | obj42 - package 17 | obj43 - package 18 | obj41 - package 19 | obj11 - package 20 | obj13 - package 21 | obj12 - package 22 | 23 | (:private apn1 24 | apn1 - airplane 25 | ) 26 | 27 | (:private tru4 28 | cit4 - city 29 | tru4 - truck 30 | ) 31 | 32 | (:private tru3 33 | tru3 - truck 34 | cit3 - city 35 | ) 36 | 37 | (:private tru2 38 | cit2 - city 39 | tru2 - truck 40 | pos2 - location 41 | ) 42 | 43 | (:private tru1 44 | tru1 - truck 45 | cit1 - city 46 | ) 47 | ) 48 | (:init 49 | (at apn1 apt2) 50 | (at tru1 pos1) 51 | (at obj11 pos1) 52 | (at obj12 pos1) 53 | (at obj13 pos1) 54 | (at tru2 pos2) 55 | (at obj21 pos2) 56 | (at obj22 pos2) 57 | (at obj23 pos2) 58 | (at tru3 pos3) 59 | (at obj31 pos3) 60 | (at obj32 pos3) 61 | (at obj33 pos3) 62 | (at tru4 pos4) 63 | (at obj41 pos4) 64 | (at obj42 pos4) 65 | (at obj43 pos4) 66 | (in-city tru1 pos1 cit1) 67 | (in-city tru1 apt1 cit1) 68 | (in-city tru2 pos2 cit2) 69 | (in-city tru2 apt2 cit2) 70 | (in-city tru3 pos3 cit3) 71 | (in-city tru3 apt3 cit3) 72 | (in-city tru4 pos4 cit4) 73 | (in-city tru4 apt4 cit4) 74 | ) 75 | (:goal 76 | (and 77 | (at obj43 apt4) 78 | (at obj32 pos3) 79 | (at obj42 apt3) 80 | (at obj12 pos1) 81 | (at obj41 apt3) 82 | (at obj23 pos3) 83 | (at obj13 apt4) 84 | (at obj22 pos4) 85 | (at obj31 apt3) 86 | (at obj33 apt1) 87 | ) 88 | ) 89 | ) 90 | -------------------------------------------------------------------------------- /domains/codmap15/logistics00/problems/probLOGISTICS-11-0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem logistics-11-0) (:domain logistics) 2 | (:objects 3 | apt3 - airport 4 | apt2 - airport 5 | apt1 - airport 6 | apt4 - airport 7 | pos4 - location 8 | pos1 - location 9 | obj21 - package 10 | obj22 - package 11 | obj23 - package 12 | obj33 - package 13 | obj32 - package 14 | obj31 - package 15 | obj42 - package 16 | obj43 - package 17 | obj41 - package 18 | obj11 - package 19 | obj13 - package 20 | obj12 - package 21 | 22 | (:private apn1 23 | apn1 - airplane 24 | ) 25 | 26 | (:private tru4 27 | cit4 - city 28 | tru4 - truck 29 | ) 30 | 31 | (:private tru3 32 | tru3 - truck 33 | cit3 - city 34 | pos3 - location 35 | ) 36 | 37 | (:private tru2 38 | cit2 - city 39 | tru2 - truck 40 | pos2 - location 41 | ) 42 | 43 | (:private tru1 44 | tru1 - truck 45 | cit1 - city 46 | ) 47 | ) 48 | (:init 49 | (at apn1 apt3) 50 | (at tru1 pos1) 51 | (at obj11 pos1) 52 | (at obj12 pos1) 53 | (at obj13 pos1) 54 | (at tru2 pos2) 55 | (at obj21 pos2) 56 | (at obj22 pos2) 57 | (at obj23 pos2) 58 | (at tru3 pos3) 59 | (at obj31 pos3) 60 | (at obj32 pos3) 61 | (at obj33 pos3) 62 | (at tru4 pos4) 63 | (at obj41 pos4) 64 | (at obj42 pos4) 65 | (at obj43 pos4) 66 | (in-city tru1 pos1 cit1) 67 | (in-city tru1 apt1 cit1) 68 | (in-city tru2 pos2 cit2) 69 | (in-city tru2 apt2 cit2) 70 | (in-city tru3 pos3 cit3) 71 | (in-city tru3 apt3 cit3) 72 | (in-city tru4 pos4 cit4) 73 | (in-city tru4 apt4 cit4) 74 | ) 75 | (:goal 76 | (and 77 | (at obj33 apt1) 78 | (at obj22 apt2) 79 | (at obj43 pos4) 80 | (at obj11 pos1) 81 | (at obj23 pos1) 82 | (at obj31 pos1) 83 | (at obj12 apt2) 84 | (at obj13 pos4) 85 | (at obj42 apt2) 86 | (at obj21 pos4) 87 | (at obj41 pos4) 88 | ) 89 | ) 90 | ) 91 | -------------------------------------------------------------------------------- /domains/codmap15/logistics00/problems/probLOGISTICS-11-1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem logistics-11-1) (:domain logistics) 2 | (:objects 3 | tru1 - truck 4 | tru3 - truck 5 | tru2 - truck 6 | tru4 - truck 7 | apt3 - airport 8 | apt2 - airport 9 | apt1 - airport 10 | apt4 - airport 11 | pos4 - location 12 | pos2 - location 13 | pos3 - location 14 | pos1 - location 15 | obj21 - package 16 | obj22 - package 17 | obj23 - package 18 | obj33 - package 19 | obj32 - package 20 | obj31 - package 21 | cit1 - city 22 | cit2 - city 23 | cit4 - city 24 | obj42 - package 25 | obj43 - package 26 | obj41 - package 27 | obj11 - package 28 | obj13 - package 29 | obj12 - package 30 | 31 | (:private apn1 32 | apn1 - airplane 33 | ) 34 | 35 | (:private tru3 36 | cit3 - city 37 | ) 38 | ) 39 | (:init 40 | (at apn1 apt3) 41 | (at tru1 pos1) 42 | (at obj11 pos1) 43 | (at obj12 pos1) 44 | (at obj13 pos1) 45 | (at tru2 pos2) 46 | (at obj21 pos2) 47 | (at obj22 pos2) 48 | (at obj23 pos2) 49 | (at tru3 pos3) 50 | (at obj31 pos3) 51 | (at obj32 pos3) 52 | (at obj33 pos3) 53 | (at tru4 pos4) 54 | (at obj41 pos4) 55 | (at obj42 pos4) 56 | (at obj43 pos4) 57 | (in-city tru1 pos1 cit1) 58 | (in-city tru1 apt1 cit1) 59 | (in-city tru2 pos2 cit2) 60 | (in-city tru2 apt2 cit2) 61 | (in-city tru3 pos3 cit3) 62 | (in-city tru3 apt3 cit3) 63 | (in-city tru4 pos4 cit4) 64 | (in-city tru4 apt4 cit4) 65 | ) 66 | (:goal 67 | (and 68 | (at obj13 pos2) 69 | (at obj21 apt3) 70 | (at obj42 pos4) 71 | (at obj41 pos2) 72 | (at obj11 apt2) 73 | (at obj22 pos4) 74 | (at obj23 apt4) 75 | (at obj32 apt3) 76 | (at obj12 apt3) 77 | (at obj33 pos2) 78 | (at obj43 pos1) 79 | ) 80 | ) 81 | ) 82 | -------------------------------------------------------------------------------- /domains/codmap15/logistics00/problems/probLOGISTICS-12-0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem logistics-12-0) (:domain logistics) 2 | (:objects 3 | apt3 - airport 4 | apt2 - airport 5 | apt1 - airport 6 | apt4 - airport 7 | pos4 - location 8 | pos2 - location 9 | pos3 - location 10 | obj21 - package 11 | obj22 - package 12 | obj23 - package 13 | obj33 - package 14 | obj32 - package 15 | obj31 - package 16 | obj42 - package 17 | obj43 - package 18 | obj41 - package 19 | obj11 - package 20 | obj13 - package 21 | obj12 - package 22 | 23 | (:private apn1 24 | apn1 - airplane 25 | ) 26 | 27 | (:private tru4 28 | cit4 - city 29 | tru4 - truck 30 | ) 31 | 32 | (:private tru3 33 | tru3 - truck 34 | cit3 - city 35 | ) 36 | 37 | (:private tru2 38 | cit2 - city 39 | tru2 - truck 40 | ) 41 | 42 | (:private tru1 43 | tru1 - truck 44 | cit1 - city 45 | pos1 - location 46 | ) 47 | ) 48 | (:init 49 | (at apn1 apt1) 50 | (at tru1 pos1) 51 | (at obj11 pos1) 52 | (at obj12 pos1) 53 | (at obj13 pos1) 54 | (at tru2 pos2) 55 | (at obj21 pos2) 56 | (at obj22 pos2) 57 | (at obj23 pos2) 58 | (at tru3 pos3) 59 | (at obj31 pos3) 60 | (at obj32 pos3) 61 | (at obj33 pos3) 62 | (at tru4 pos4) 63 | (at obj41 pos4) 64 | (at obj42 pos4) 65 | (at obj43 pos4) 66 | (in-city tru1 pos1 cit1) 67 | (in-city tru1 apt1 cit1) 68 | (in-city tru2 pos2 cit2) 69 | (in-city tru2 apt2 cit2) 70 | (in-city tru3 pos3 cit3) 71 | (in-city tru3 apt3 cit3) 72 | (in-city tru4 pos4 cit4) 73 | (in-city tru4 apt4 cit4) 74 | ) 75 | (:goal 76 | (and 77 | (at obj13 apt1) 78 | (at obj42 pos4) 79 | (at obj31 pos3) 80 | (at obj33 pos2) 81 | (at obj43 pos4) 82 | (at obj32 apt4) 83 | (at obj21 apt2) 84 | (at obj11 apt4) 85 | (at obj22 pos2) 86 | (at obj41 apt1) 87 | (at obj12 apt4) 88 | (at obj23 pos4) 89 | ) 90 | ) 91 | ) 92 | -------------------------------------------------------------------------------- /domains/codmap15/logistics00/problems/probLOGISTICS-12-1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem logistics-12-1) (:domain logistics) 2 | (:objects 3 | tru1 - truck 4 | tru3 - truck 5 | tru2 - truck 6 | tru4 - truck 7 | apt3 - airport 8 | apt2 - airport 9 | apt1 - airport 10 | apt4 - airport 11 | pos4 - location 12 | pos2 - location 13 | pos3 - location 14 | pos1 - location 15 | obj21 - package 16 | obj22 - package 17 | obj23 - package 18 | obj33 - package 19 | obj32 - package 20 | obj31 - package 21 | cit1 - city 22 | cit3 - city 23 | cit4 - city 24 | obj42 - package 25 | obj43 - package 26 | obj41 - package 27 | obj11 - package 28 | obj13 - package 29 | obj12 - package 30 | 31 | (:private apn1 32 | apn1 - airplane 33 | ) 34 | 35 | (:private tru2 36 | cit2 - city 37 | ) 38 | ) 39 | (:init 40 | (at apn1 apt1) 41 | (at tru1 pos1) 42 | (at obj11 pos1) 43 | (at obj12 pos1) 44 | (at obj13 pos1) 45 | (at tru2 pos2) 46 | (at obj21 pos2) 47 | (at obj22 pos2) 48 | (at obj23 pos2) 49 | (at tru3 pos3) 50 | (at obj31 pos3) 51 | (at obj32 pos3) 52 | (at obj33 pos3) 53 | (at tru4 pos4) 54 | (at obj41 pos4) 55 | (at obj42 pos4) 56 | (at obj43 pos4) 57 | (in-city tru1 pos1 cit1) 58 | (in-city tru1 apt1 cit1) 59 | (in-city tru2 pos2 cit2) 60 | (in-city tru2 apt2 cit2) 61 | (in-city tru3 pos3 cit3) 62 | (in-city tru3 apt3 cit3) 63 | (in-city tru4 pos4 cit4) 64 | (in-city tru4 apt4 cit4) 65 | ) 66 | (:goal 67 | (and 68 | (at obj31 pos1) 69 | (at obj23 pos4) 70 | (at obj12 pos4) 71 | (at obj21 pos1) 72 | (at obj11 apt1) 73 | (at obj41 pos1) 74 | (at obj33 pos1) 75 | (at obj22 pos3) 76 | (at obj32 apt3) 77 | (at obj42 apt2) 78 | (at obj43 apt4) 79 | (at obj13 apt2) 80 | ) 81 | ) 82 | ) 83 | -------------------------------------------------------------------------------- /domains/codmap15/logistics00/problems/probLOGISTICS-4-0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem logistics-4-0) (:domain logistics) 2 | (:objects 3 | obj21 - package 4 | obj22 - package 5 | obj23 - package 6 | apt2 - airport 7 | apt1 - airport 8 | obj11 - package 9 | obj13 - package 10 | obj12 - package 11 | pos1 - location 12 | 13 | (:private apn1 14 | apn1 - airplane 15 | ) 16 | 17 | (:private tru2 18 | cit2 - city 19 | tru2 - truck 20 | pos2 - location 21 | ) 22 | 23 | (:private tru1 24 | tru1 - truck 25 | cit1 - city 26 | ) 27 | ) 28 | (:init 29 | (at apn1 apt2) 30 | (at tru1 pos1) 31 | (at obj11 pos1) 32 | (at obj12 pos1) 33 | (at obj13 pos1) 34 | (at tru2 pos2) 35 | (at obj21 pos2) 36 | (at obj22 pos2) 37 | (at obj23 pos2) 38 | (in-city tru1 pos1 cit1) 39 | (in-city tru1 apt1 cit1) 40 | (in-city tru2 pos2 cit2) 41 | (in-city tru2 apt2 cit2) 42 | ) 43 | (:goal 44 | (and 45 | (at obj11 apt1) 46 | (at obj23 pos1) 47 | (at obj13 apt1) 48 | (at obj21 pos1) 49 | ) 50 | ) 51 | ) 52 | -------------------------------------------------------------------------------- /domains/codmap15/logistics00/problems/probLOGISTICS-5-0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem logistics-5-0) (:domain logistics) 2 | (:objects 3 | obj21 - package 4 | obj22 - package 5 | obj23 - package 6 | apt2 - airport 7 | apt1 - airport 8 | obj11 - package 9 | obj13 - package 10 | obj12 - package 11 | pos2 - location 12 | 13 | (:private apn1 14 | apn1 - airplane 15 | ) 16 | 17 | (:private tru2 18 | cit2 - city 19 | tru2 - truck 20 | ) 21 | 22 | (:private tru1 23 | tru1 - truck 24 | cit1 - city 25 | pos1 - location 26 | ) 27 | ) 28 | (:init 29 | (at apn1 apt1) 30 | (at tru1 pos1) 31 | (at obj11 pos1) 32 | (at obj12 pos1) 33 | (at obj13 pos1) 34 | (at tru2 pos2) 35 | (at obj21 pos2) 36 | (at obj22 pos2) 37 | (at obj23 pos2) 38 | (in-city tru1 pos1 cit1) 39 | (in-city tru1 apt1 cit1) 40 | (in-city tru2 pos2 cit2) 41 | (in-city tru2 apt2 cit2) 42 | ) 43 | (:goal 44 | (and 45 | (at obj23 apt2) 46 | (at obj22 apt1) 47 | (at obj13 apt2) 48 | (at obj12 pos2) 49 | (at obj11 pos2) 50 | ) 51 | ) 52 | ) 53 | -------------------------------------------------------------------------------- /domains/codmap15/logistics00/problems/probLOGISTICS-6-0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem logistics-6-0) (:domain logistics) 2 | (:objects 3 | obj21 - package 4 | obj22 - package 5 | obj23 - package 6 | apt2 - airport 7 | apt1 - airport 8 | obj11 - package 9 | obj13 - package 10 | obj12 - package 11 | pos2 - location 12 | 13 | (:private apn1 14 | apn1 - airplane 15 | ) 16 | 17 | (:private tru2 18 | cit2 - city 19 | tru2 - truck 20 | ) 21 | 22 | (:private tru1 23 | tru1 - truck 24 | cit1 - city 25 | pos1 - location 26 | ) 27 | ) 28 | (:init 29 | (at apn1 apt1) 30 | (at tru1 pos1) 31 | (at obj11 pos1) 32 | (at obj12 pos1) 33 | (at obj13 pos1) 34 | (at tru2 pos2) 35 | (at obj21 pos2) 36 | (at obj22 pos2) 37 | (at obj23 pos2) 38 | (in-city tru1 pos1 cit1) 39 | (in-city tru1 apt1 cit1) 40 | (in-city tru2 pos2 cit2) 41 | (in-city tru2 apt2 cit2) 42 | ) 43 | (:goal 44 | (and 45 | (at obj12 apt2) 46 | (at obj23 apt1) 47 | (at obj21 apt2) 48 | (at obj22 pos2) 49 | (at obj13 pos2) 50 | (at obj11 apt2) 51 | ) 52 | ) 53 | ) 54 | -------------------------------------------------------------------------------- /domains/codmap15/logistics00/problems/probLOGISTICS-7-0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem logistics-7-0) (:domain logistics) 2 | (:objects 3 | obj21 - package 4 | obj22 - package 5 | obj23 - package 6 | obj33 - package 7 | obj32 - package 8 | obj31 - package 9 | apt3 - airport 10 | apt2 - airport 11 | apt1 - airport 12 | obj11 - package 13 | obj13 - package 14 | obj12 - package 15 | pos2 - location 16 | pos1 - location 17 | 18 | (:private apn1 19 | apn1 - airplane 20 | ) 21 | 22 | (:private tru3 23 | tru3 - truck 24 | cit3 - city 25 | pos3 - location 26 | ) 27 | 28 | (:private tru2 29 | cit2 - city 30 | tru2 - truck 31 | ) 32 | 33 | (:private tru1 34 | tru1 - truck 35 | cit1 - city 36 | ) 37 | ) 38 | (:init 39 | (at apn1 apt1) 40 | (at tru1 pos1) 41 | (at obj11 pos1) 42 | (at obj12 pos1) 43 | (at obj13 pos1) 44 | (at tru2 pos2) 45 | (at obj21 pos2) 46 | (at obj22 pos2) 47 | (at obj23 pos2) 48 | (at tru3 pos3) 49 | (at obj31 pos3) 50 | (at obj32 pos3) 51 | (at obj33 pos3) 52 | (in-city tru1 pos1 cit1) 53 | (in-city tru1 apt1 cit1) 54 | (in-city tru2 pos2 cit2) 55 | (in-city tru2 apt2 cit2) 56 | (in-city tru3 pos3 cit3) 57 | (in-city tru3 apt3 cit3) 58 | ) 59 | (:goal 60 | (and 61 | (at obj22 pos2) 62 | (at obj33 apt1) 63 | (at obj12 pos2) 64 | (at obj13 apt3) 65 | (at obj31 apt2) 66 | (at obj23 apt1) 67 | (at obj32 pos1) 68 | ) 69 | ) 70 | ) 71 | -------------------------------------------------------------------------------- /domains/codmap15/logistics00/problems/probLOGISTICS-8-0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem logistics-8-0) (:domain logistics) 2 | (:objects 3 | obj21 - package 4 | obj22 - package 5 | obj23 - package 6 | obj33 - package 7 | obj32 - package 8 | obj31 - package 9 | apt3 - airport 10 | apt2 - airport 11 | apt1 - airport 12 | obj11 - package 13 | obj13 - package 14 | obj12 - package 15 | pos2 - location 16 | pos3 - location 17 | pos1 - location 18 | 19 | (:private apn1 20 | apn1 - airplane 21 | ) 22 | 23 | (:private tru3 24 | tru3 - truck 25 | cit3 - city 26 | ) 27 | 28 | (:private tru2 29 | cit2 - city 30 | tru2 - truck 31 | ) 32 | 33 | (:private tru1 34 | tru1 - truck 35 | cit1 - city 36 | ) 37 | ) 38 | (:init 39 | (at apn1 apt1) 40 | (at tru1 pos1) 41 | (at obj11 pos1) 42 | (at obj12 pos1) 43 | (at obj13 pos1) 44 | (at tru2 pos2) 45 | (at obj21 pos2) 46 | (at obj22 pos2) 47 | (at obj23 pos2) 48 | (at tru3 pos3) 49 | (at obj31 pos3) 50 | (at obj32 pos3) 51 | (at obj33 pos3) 52 | (in-city tru1 pos1 cit1) 53 | (in-city tru1 apt1 cit1) 54 | (in-city tru2 pos2 cit2) 55 | (in-city tru2 apt2 cit2) 56 | (in-city tru3 pos3 cit3) 57 | (in-city tru3 apt3 cit3) 58 | ) 59 | (:goal 60 | (and 61 | (at obj11 pos3) 62 | (at obj21 pos2) 63 | (at obj31 apt3) 64 | (at obj22 pos3) 65 | (at obj12 pos1) 66 | (at obj23 apt2) 67 | (at obj13 apt2) 68 | (at obj32 apt1) 69 | ) 70 | ) 71 | ) 72 | -------------------------------------------------------------------------------- /domains/codmap15/logistics00/problems/probLOGISTICS-8-1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem logistics-8-1) (:domain logistics) 2 | (:objects 3 | obj21 - package 4 | obj22 - package 5 | obj23 - package 6 | obj33 - package 7 | obj32 - package 8 | obj31 - package 9 | apt3 - airport 10 | apt2 - airport 11 | apt1 - airport 12 | obj11 - package 13 | obj13 - package 14 | obj12 - package 15 | pos2 - location 16 | pos3 - location 17 | 18 | (:private apn1 19 | apn1 - airplane 20 | ) 21 | 22 | (:private tru3 23 | tru3 - truck 24 | cit3 - city 25 | ) 26 | 27 | (:private tru2 28 | cit2 - city 29 | tru2 - truck 30 | ) 31 | 32 | (:private tru1 33 | tru1 - truck 34 | cit1 - city 35 | pos1 - location 36 | ) 37 | ) 38 | (:init 39 | (at apn1 apt3) 40 | (at tru1 pos1) 41 | (at obj11 pos1) 42 | (at obj12 pos1) 43 | (at obj13 pos1) 44 | (at tru2 pos2) 45 | (at obj21 pos2) 46 | (at obj22 pos2) 47 | (at obj23 pos2) 48 | (at tru3 pos3) 49 | (at obj31 pos3) 50 | (at obj32 pos3) 51 | (at obj33 pos3) 52 | (in-city tru1 pos1 cit1) 53 | (in-city tru1 apt1 cit1) 54 | (in-city tru2 pos2 cit2) 55 | (in-city tru2 apt2 cit2) 56 | (in-city tru3 pos3 cit3) 57 | (in-city tru3 apt3 cit3) 58 | ) 59 | (:goal 60 | (and 61 | (at obj22 pos3) 62 | (at obj13 pos2) 63 | (at obj32 apt2) 64 | (at obj33 apt3) 65 | (at obj23 apt2) 66 | (at obj31 apt1) 67 | (at obj21 pos3) 68 | (at obj12 pos3) 69 | ) 70 | ) 71 | ) 72 | -------------------------------------------------------------------------------- /domains/codmap15/logistics00/problems/probLOGISTICS-9-0.pddl: -------------------------------------------------------------------------------- 1 | (define (problem logistics-9-0) (:domain logistics) 2 | (:objects 3 | obj21 - package 4 | obj22 - package 5 | obj23 - package 6 | obj33 - package 7 | obj32 - package 8 | obj31 - package 9 | apt3 - airport 10 | apt2 - airport 11 | apt1 - airport 12 | obj11 - package 13 | obj13 - package 14 | obj12 - package 15 | pos3 - location 16 | pos1 - location 17 | 18 | (:private apn1 19 | apn1 - airplane 20 | ) 21 | 22 | (:private tru3 23 | tru3 - truck 24 | cit3 - city 25 | ) 26 | 27 | (:private tru2 28 | cit2 - city 29 | tru2 - truck 30 | pos2 - location 31 | ) 32 | 33 | (:private tru1 34 | tru1 - truck 35 | cit1 - city 36 | ) 37 | ) 38 | (:init 39 | (at apn1 apt2) 40 | (at tru1 pos1) 41 | (at obj11 pos1) 42 | (at obj12 pos1) 43 | (at obj13 pos1) 44 | (at tru2 pos2) 45 | (at obj21 pos2) 46 | (at obj22 pos2) 47 | (at obj23 pos2) 48 | (at tru3 pos3) 49 | (at obj31 pos3) 50 | (at obj32 pos3) 51 | (at obj33 pos3) 52 | (in-city tru1 pos1 cit1) 53 | (in-city tru1 apt1 cit1) 54 | (in-city tru2 pos2 cit2) 55 | (in-city tru2 apt2 cit2) 56 | (in-city tru3 pos3 cit3) 57 | (in-city tru3 apt3 cit3) 58 | ) 59 | (:goal 60 | (and 61 | (at obj23 pos3) 62 | (at obj32 pos1) 63 | (at obj22 pos1) 64 | (at obj31 apt3) 65 | (at obj11 pos1) 66 | (at obj33 pos3) 67 | (at obj13 apt3) 68 | (at obj12 pos1) 69 | (at obj21 apt1) 70 | ) 71 | ) 72 | ) 73 | -------------------------------------------------------------------------------- /domains/codmap15/logistics00/problems/probLOGISTICS-9-1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem logistics-9-1) (:domain logistics) 2 | (:objects 3 | obj21 - package 4 | obj22 - package 5 | obj23 - package 6 | obj33 - package 7 | obj32 - package 8 | obj31 - package 9 | apt3 - airport 10 | apt2 - airport 11 | apt1 - airport 12 | obj11 - package 13 | obj13 - package 14 | obj12 - package 15 | pos2 - location 16 | pos3 - location 17 | 18 | (:private apn1 19 | apn1 - airplane 20 | ) 21 | 22 | (:private tru3 23 | tru3 - truck 24 | cit3 - city 25 | ) 26 | 27 | (:private tru2 28 | cit2 - city 29 | tru2 - truck 30 | ) 31 | 32 | (:private tru1 33 | tru1 - truck 34 | cit1 - city 35 | pos1 - location 36 | ) 37 | ) 38 | (:init 39 | (at apn1 apt1) 40 | (at tru1 pos1) 41 | (at obj11 pos1) 42 | (at obj12 pos1) 43 | (at obj13 pos1) 44 | (at tru2 pos2) 45 | (at obj21 pos2) 46 | (at obj22 pos2) 47 | (at obj23 pos2) 48 | (at tru3 pos3) 49 | (at obj31 pos3) 50 | (at obj32 pos3) 51 | (at obj33 pos3) 52 | (in-city tru1 pos1 cit1) 53 | (in-city tru1 apt1 cit1) 54 | (in-city tru2 pos2 cit2) 55 | (in-city tru2 apt2 cit2) 56 | (in-city tru3 pos3 cit3) 57 | (in-city tru3 apt3 cit3) 58 | ) 59 | (:goal 60 | (and 61 | (at obj11 apt2) 62 | (at obj31 pos3) 63 | (at obj13 pos3) 64 | (at obj23 apt3) 65 | (at obj33 apt3) 66 | (at obj22 pos2) 67 | (at obj32 apt3) 68 | (at obj21 pos2) 69 | (at obj12 pos3) 70 | ) 71 | ) 72 | ) 73 | -------------------------------------------------------------------------------- /domains/codmap15/satellites/domain/domain.pddl: -------------------------------------------------------------------------------- 1 | (define (domain satellite) 2 | (:requirements :typing :multi-agent :unfactored-privacy) 3 | (:types 4 | satellite direction instrument mode - object 5 | ) 6 | (:predicates 7 | (pointing ?s - satellite ?d - direction) 8 | (have_image ?d - direction ?m - mode) 9 | (calibrated ?i - instrument) 10 | (supports ?i - instrument ?m - mode) 11 | (on_board ?i - instrument ?agent - satellite) 12 | (calibration_target ?i - instrument ?d - direction) 13 | (power_avail ?agent - satellite) 14 | (power_on ?i - instrument) 15 | ) 16 | 17 | (:action turn_to 18 | :agent ?s - satellite 19 | :parameters (?d_new - direction ?d_prev - direction) 20 | :precondition 21 | (pointing ?s ?d_prev) 22 | :effect (and 23 | (pointing ?s ?d_new) 24 | (not (pointing ?s ?d_prev)) 25 | ) 26 | ) 27 | 28 | 29 | (:action switch_on 30 | :agent ?s - satellite 31 | :parameters (?i - instrument) 32 | :precondition (and 33 | (on_board ?i ?s) 34 | (power_avail ?s) 35 | ) 36 | :effect (and 37 | (power_on ?i) 38 | (not (calibrated ?i)) 39 | (not (power_avail ?s)) 40 | ) 41 | ) 42 | 43 | 44 | (:action switch_off 45 | :agent ?s - satellite 46 | :parameters (?i - instrument) 47 | :precondition (and 48 | (on_board ?i ?s) 49 | (power_on ?i) 50 | ) 51 | :effect (and 52 | (power_avail ?s) 53 | (not (power_on ?i)) 54 | ) 55 | ) 56 | 57 | 58 | (:action calibrate 59 | :agent ?s - satellite 60 | :parameters (?i - instrument ?d - direction) 61 | :precondition (and 62 | (on_board ?i ?s) 63 | (calibration_target ?i ?d) 64 | (pointing ?s ?d) 65 | (power_on ?i) 66 | ) 67 | :effect 68 | (calibrated ?i) 69 | ) 70 | 71 | 72 | (:action take_image 73 | :agent ?s - satellite 74 | :parameters (?i - instrument ?d - direction ?m - mode) 75 | :precondition (and 76 | (calibrated ?i) 77 | (on_board ?i ?s) 78 | (supports ?i ?m) 79 | (power_on ?i) 80 | (pointing ?s ?d) 81 | (power_on ?i) 82 | ) 83 | :effect 84 | (have_image ?d ?m) 85 | ) 86 | 87 | ) 88 | -------------------------------------------------------------------------------- /domains/codmap15/satellites/problems/p06-pfile6.pddl: -------------------------------------------------------------------------------- 1 | (define (problem strips-sat-x-1) (:domain satellite) 2 | (:objects 3 | star10 - direction 4 | star9 - direction 5 | thermograph2 - mode 6 | infrared1 - mode 7 | infrared3 - mode 8 | planet5 - direction 9 | planet4 - direction 10 | star7 - direction 11 | spectrograph0 - mode 12 | star1 - direction 13 | star0 - direction 14 | star2 - direction 15 | star6 - direction 16 | groundstation3 - direction 17 | phenomenon8 - direction 18 | 19 | (:private satellite0 20 | instrument0 - instrument 21 | satellite0 - satellite 22 | ) 23 | 24 | (:private satellite1 25 | instrument2 - instrument 26 | instrument3 - instrument 27 | satellite1 - satellite 28 | instrument1 - instrument 29 | ) 30 | 31 | (:private satellite2 32 | satellite2 - satellite 33 | instrument4 - instrument 34 | ) 35 | ) 36 | (:init 37 | (supports instrument0 infrared1) 38 | (supports instrument0 spectrograph0) 39 | (calibration_target instrument0 star1) 40 | (on_board instrument0 satellite0) 41 | (power_avail satellite0) 42 | (pointing satellite0 phenomenon8) 43 | (supports instrument1 infrared3) 44 | (calibration_target instrument1 star2) 45 | (supports instrument2 infrared1) 46 | (supports instrument2 infrared3) 47 | (supports instrument2 thermograph2) 48 | (calibration_target instrument2 star2) 49 | (supports instrument3 infrared1) 50 | (supports instrument3 infrared3) 51 | (supports instrument3 spectrograph0) 52 | (calibration_target instrument3 star2) 53 | (on_board instrument1 satellite1) 54 | (on_board instrument2 satellite1) 55 | (on_board instrument3 satellite1) 56 | (power_avail satellite1) 57 | (pointing satellite1 star6) 58 | (supports instrument4 infrared3) 59 | (calibration_target instrument4 star0) 60 | (on_board instrument4 satellite2) 61 | (power_avail satellite2) 62 | (pointing satellite2 star6) 63 | ) 64 | (:goal 65 | (and 66 | (have_image planet4 thermograph2) 67 | (have_image planet5 spectrograph0) 68 | (have_image star6 thermograph2) 69 | (have_image star7 infrared3) 70 | (have_image phenomenon8 spectrograph0) 71 | (have_image star9 infrared1) 72 | (have_image star10 infrared3) 73 | ) 74 | ) 75 | ) -------------------------------------------------------------------------------- /domains/codmap15/sokoban/domain/domain.pddl: -------------------------------------------------------------------------------- 1 | (define (domain sokoban-sequential) 2 | (:requirements :typing :multi-agent :unfactored-privacy) 3 | (:types 4 | thing location direction - object 5 | player stone - thing 6 | ) 7 | (:predicates 8 | (at-goal ?s - stone) 9 | (MOVE-DIR ?from - location ?to - location ?dir - direction) 10 | (at ?obj - thing ?l - location) 11 | (IS-NONGOAL ?l - location) 12 | (clear ?l - location) 13 | (IS-GOAL ?l - location) 14 | ) 15 | 16 | (:action move 17 | :agent ?p - player 18 | :parameters (?from - location ?to - location ?dir - direction) 19 | :precondition (and 20 | (at ?p ?from) 21 | (clear ?to) 22 | (MOVE-DIR ?from ?to ?dir) 23 | ) 24 | :effect (and 25 | (not (at ?p ?from)) 26 | (not (clear ?to)) 27 | (at ?p ?to) 28 | (clear ?from) 29 | ) 30 | ) 31 | 32 | 33 | (:action push-to-nongoal 34 | :agent ?p - player 35 | :parameters (?s - stone ?ppos - location ?from - location ?to - location ?dir - direction) 36 | :precondition (and 37 | (at ?p ?ppos) 38 | (at ?s ?from) 39 | (clear ?to) 40 | (MOVE-DIR ?ppos ?from ?dir) 41 | (MOVE-DIR ?from ?to ?dir) 42 | (IS-NONGOAL ?to) 43 | ) 44 | :effect (and 45 | (not (at ?p ?ppos)) 46 | (not (at ?s ?from)) 47 | (not (clear ?to)) 48 | (at ?p ?from) 49 | (at ?s ?to) 50 | (clear ?ppos) 51 | (not (at-goal ?s)) 52 | ) 53 | ) 54 | 55 | 56 | (:action push-to-goal 57 | :agent ?p - player 58 | :parameters (?s - stone ?ppos - location ?from - location ?to - location ?dir - direction) 59 | :precondition (and 60 | (at ?p ?ppos) 61 | (at ?s ?from) 62 | (clear ?to) 63 | (MOVE-DIR ?ppos ?from ?dir) 64 | (MOVE-DIR ?from ?to ?dir) 65 | (IS-GOAL ?to) 66 | ) 67 | :effect (and 68 | (not (at ?p ?ppos)) 69 | (not (at ?s ?from)) 70 | (not (clear ?to)) 71 | (at ?p ?from) 72 | (at ?s ?to) 73 | (clear ?ppos) 74 | (at-goal ?s) 75 | ) 76 | ) 77 | 78 | ) 79 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p01.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-01) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 - taxi 7 | p1 p2 - passenger 8 | g1 g2 c h1 h2 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g2 c) 14 | (directly-connected c g1) 15 | (directly-connected c g2) 16 | (directly-connected c h1) 17 | (directly-connected c h2) 18 | (directly-connected h1 c) 19 | (directly-connected h2 c) 20 | (at t1 g1) 21 | (at t2 g2) 22 | (empty t1) 23 | (empty t2) 24 | (at p1 h1) 25 | (at p2 h2) 26 | (free h1) 27 | (free h2) 28 | (free c) 29 | (goal-of p1 c) 30 | (goal-of p2 c) 31 | ) 32 | 33 | (:goal 34 | (and (at t1 g1) 35 | (at t2 g2) 36 | (at p1 c) 37 | (at p2 c) 38 | ) 39 | ) 40 | ) 41 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p02.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-02) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 t3 - taxi 7 | p1 p2 p3 - passenger 8 | g1 g2 g3 c h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g2 c) 14 | (directly-connected g3 c) 15 | (directly-connected c g1) 16 | (directly-connected c g2) 17 | (directly-connected c g3) 18 | (directly-connected c h1) 19 | (directly-connected c h2) 20 | (directly-connected c h3) 21 | (directly-connected h1 c) 22 | (directly-connected h2 c) 23 | (directly-connected h3 c) 24 | (at t1 g1) 25 | (at t2 g2) 26 | (at t3 g3) 27 | (empty t1) 28 | (empty t2) 29 | (empty t3) 30 | (at p1 h1) 31 | (at p2 h2) 32 | (at p3 h3) 33 | (free h1) 34 | (free h2) 35 | (free h3) 36 | (free c) 37 | (goal-of p1 c) 38 | (goal-of p2 c) 39 | (goal-of p3 c) 40 | ) 41 | 42 | (:goal 43 | (and (at t1 g1) 44 | (at t2 g2) 45 | (at t3 g3) 46 | (at p1 c) 47 | (at p2 c) 48 | (at p3 c) 49 | ) 50 | ) 51 | ) 52 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p03.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-03) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 t3 - taxi 7 | p1 p2 p3 - passenger 8 | g1 g2 g3 c h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g2 c) 14 | (directly-connected g3 c) 15 | (directly-connected c g1) 16 | (directly-connected c g2) 17 | (directly-connected c g3) 18 | (directly-connected c h1) 19 | (directly-connected c h2) 20 | (directly-connected c h3) 21 | (directly-connected h1 c) 22 | (directly-connected h2 c) 23 | (directly-connected h3 c) 24 | (at t1 g1) 25 | (at t2 g2) 26 | (at t3 g3) 27 | (empty t1) 28 | (empty t2) 29 | (empty t3) 30 | (at p1 h1) 31 | (at p2 h2) 32 | (at p3 h3) 33 | (free h1) 34 | (free h2) 35 | (free h3) 36 | (free c) 37 | (goal-of p1 h2) 38 | (goal-of p2 h3) 39 | (goal-of p3 h1) 40 | ) 41 | 42 | (:goal 43 | (and (at t1 g1) 44 | (at t2 g2) 45 | (at t3 g3) 46 | (at p1 h2) 47 | (at p2 h3) 48 | (at p3 h1) 49 | ) 50 | ) 51 | ) 52 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p04.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-04) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 t3 - taxi 7 | p1 p2 p3 - passenger 8 | g1 g2 g3 c h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g2 c) 14 | (directly-connected g3 c) 15 | (directly-connected c g1) 16 | (directly-connected c g2) 17 | (directly-connected c g3) 18 | (directly-connected c h1) 19 | (directly-connected c h2) 20 | (directly-connected c h3) 21 | (directly-connected h1 c) 22 | (directly-connected h1 h2) 23 | (directly-connected h2 c) 24 | (directly-connected h2 h1) 25 | (directly-connected h2 h3) 26 | (directly-connected h3 c) 27 | (directly-connected h3 h2) 28 | (at t1 g1) 29 | (at t2 g2) 30 | (at t3 g3) 31 | (empty t1) 32 | (empty t2) 33 | (empty t3) 34 | (at p1 h1) 35 | (at p2 h2) 36 | (at p3 h3) 37 | (free h1) 38 | (free h2) 39 | (free h3) 40 | (free c) 41 | (goal-of p1 h2) 42 | (goal-of p2 h3) 43 | (goal-of p3 h1) 44 | ) 45 | 46 | (:goal 47 | (and (at t1 g1) 48 | (at t2 g2) 49 | (at t3 g3) 50 | (at p1 h2) 51 | (at p2 h3) 52 | (at p3 h1) 53 | ) 54 | ) 55 | ) 56 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p05.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-05) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 t3 - taxi 7 | p1 p2 p3 p4 - passenger 8 | g1 g2 g3 c h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g2 c) 14 | (directly-connected g3 c) 15 | (directly-connected c g1) 16 | (directly-connected c g2) 17 | (directly-connected c g3) 18 | (directly-connected c h1) 19 | (directly-connected c h2) 20 | (directly-connected c h3) 21 | (directly-connected h1 c) 22 | (directly-connected h1 h2) 23 | (directly-connected h2 c) 24 | (directly-connected h2 h1) 25 | (directly-connected h2 h3) 26 | (directly-connected h3 c) 27 | (directly-connected h3 h2) 28 | (at t1 g1) 29 | (at t2 g2) 30 | (at t3 g3) 31 | (empty t1) 32 | (empty t2) 33 | (empty t3) 34 | (at p1 h1) 35 | (at p2 h2) 36 | (at p3 h3) 37 | (at p4 h3) 38 | (free h1) 39 | (free h2) 40 | (free h3) 41 | (free c) 42 | (goal-of p1 h2) 43 | (goal-of p2 h3) 44 | (goal-of p3 h1) 45 | (goal-of p4 h2) 46 | ) 47 | 48 | (:goal 49 | (and (at t1 g1) 50 | (at t2 g2) 51 | (at t3 g3) 52 | (at p1 h2) 53 | (at p2 h3) 54 | (at p3 h1) 55 | (at p4 h2) 56 | ) 57 | ) 58 | ) 59 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p06.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-06) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 t3 - taxi 7 | p1 p2 p3 p4 - passenger 8 | g1 g2 g3 c h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g2 c) 14 | (directly-connected g3 c) 15 | (directly-connected c g1) 16 | (directly-connected c g2) 17 | (directly-connected c g3) 18 | (directly-connected c h1) 19 | (directly-connected c h2) 20 | (directly-connected c h3) 21 | (directly-connected h1 c) 22 | (directly-connected h1 h2) 23 | (directly-connected h2 c) 24 | (directly-connected h2 h1) 25 | (directly-connected h2 h3) 26 | (directly-connected h3 c) 27 | (directly-connected h3 h2) 28 | (at t1 g1) 29 | (at t2 g2) 30 | (at t3 g3) 31 | (empty t1) 32 | (empty t2) 33 | (empty t3) 34 | (at p1 h1) 35 | (at p2 h1) 36 | (at p3 h2) 37 | (at p4 h2) 38 | (free h1) 39 | (free h2) 40 | (free h3) 41 | (free c) 42 | (goal-of p1 h2) 43 | (goal-of p2 h2) 44 | (goal-of p3 h1) 45 | (goal-of p4 h1) 46 | ) 47 | 48 | (:goal 49 | (and (at t1 g1) 50 | (at t2 g2) 51 | (at t3 g3) 52 | (at p1 h2) 53 | (at p2 h2) 54 | (at p3 h1) 55 | (at p4 h1) 56 | ) 57 | ) 58 | ) 59 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p07.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-07) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 t3 - taxi 7 | p1 p2 p3 p4 - passenger 8 | g1 g2 g3 c h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g2 c) 14 | (directly-connected g3 c) 15 | (directly-connected c g1) 16 | (directly-connected c g2) 17 | (directly-connected c g3) 18 | (directly-connected c h1) 19 | (directly-connected c h2) 20 | (directly-connected c h3) 21 | (directly-connected h1 c) 22 | (directly-connected h1 h2) 23 | (directly-connected h2 c) 24 | (directly-connected h2 h1) 25 | (directly-connected h2 h3) 26 | (directly-connected h3 c) 27 | (directly-connected h3 h2) 28 | (at t1 h1) 29 | (at t2 g2) 30 | (at t3 g3) 31 | (empty t1) 32 | (empty t2) 33 | (empty t3) 34 | (at p1 h1) 35 | (at p2 h1) 36 | (at p3 h2) 37 | (at p4 h2) 38 | (free g1) 39 | (free h2) 40 | (free h3) 41 | (free c) 42 | (goal-of p1 h2) 43 | (goal-of p2 h2) 44 | (goal-of p3 h1) 45 | (goal-of p4 h1) 46 | ) 47 | 48 | (:goal 49 | (and (at t1 g1) 50 | (at t2 g2) 51 | (at t3 g3) 52 | (at p1 h2) 53 | (at p2 h2) 54 | (at p3 h1) 55 | (at p4 h1) 56 | ) 57 | ) 58 | ) 59 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p08.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-08) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 t3 - taxi 7 | p1 p2 p3 p4 - passenger 8 | g1 g2 g3 c d h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g1 d) 14 | (directly-connected g2 c) 15 | (directly-connected g2 d) 16 | (directly-connected g3 c) 17 | (directly-connected g3 d) 18 | (directly-connected c g1) 19 | (directly-connected c g2) 20 | (directly-connected c g3) 21 | (directly-connected c d) 22 | (directly-connected c h1) 23 | (directly-connected c h2) 24 | (directly-connected c h3) 25 | (directly-connected d g1) 26 | (directly-connected d g2) 27 | (directly-connected d g3) 28 | (directly-connected d c) 29 | (directly-connected d h1) 30 | (directly-connected d h2) 31 | (directly-connected d h3) 32 | (directly-connected h1 c) 33 | (directly-connected h1 d) 34 | (directly-connected h1 h2) 35 | (directly-connected h2 c) 36 | (directly-connected h2 d) 37 | (directly-connected h2 h1) 38 | (directly-connected h2 h3) 39 | (directly-connected h3 c) 40 | (directly-connected h3 d) 41 | (directly-connected h3 h2) 42 | (at t1 g1) 43 | (at t2 g2) 44 | (at t3 g3) 45 | (empty t1) 46 | (empty t2) 47 | (empty t3) 48 | (at p1 h1) 49 | (at p2 h2) 50 | (at p3 h3) 51 | (at p4 d) 52 | (free h1) 53 | (free h2) 54 | (free h3) 55 | (free c) 56 | (free d) 57 | (goal-of p1 h2) 58 | (goal-of p2 h3) 59 | (goal-of p3 d) 60 | (goal-of p4 h1) 61 | ) 62 | 63 | (:goal 64 | (and (at t1 g1) 65 | (at t2 g2) 66 | (at t3 g3) 67 | (at p1 h2) 68 | (at p2 h3) 69 | (at p3 d) 70 | (at p4 h1) 71 | ) 72 | ) 73 | ) 74 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p09.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-09) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 t3 - taxi 7 | p1 p2 p3 p4 - passenger 8 | g1 g2 g3 c d h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g1 d) 14 | (directly-connected g2 c) 15 | (directly-connected g2 d) 16 | (directly-connected g3 c) 17 | (directly-connected g3 d) 18 | (directly-connected c g1) 19 | (directly-connected c g2) 20 | (directly-connected c g3) 21 | (directly-connected c d) 22 | (directly-connected c h1) 23 | (directly-connected c h2) 24 | (directly-connected c h3) 25 | (directly-connected d g1) 26 | (directly-connected d g2) 27 | (directly-connected d g3) 28 | (directly-connected d c) 29 | (directly-connected d h1) 30 | (directly-connected d h2) 31 | (directly-connected d h3) 32 | (directly-connected h1 c) 33 | (directly-connected h1 d) 34 | (directly-connected h1 h2) 35 | (directly-connected h2 c) 36 | (directly-connected h2 d) 37 | (directly-connected h2 h1) 38 | (directly-connected h2 h3) 39 | (directly-connected h3 c) 40 | (directly-connected h3 d) 41 | (directly-connected h3 h2) 42 | (at t1 g1) 43 | (at t2 g2) 44 | (at t3 g3) 45 | (empty t1) 46 | (empty t2) 47 | (empty t3) 48 | (at p1 h1) 49 | (at p2 h2) 50 | (at p3 h3) 51 | (at p4 d) 52 | (free h1) 53 | (free h2) 54 | (free h3) 55 | (free c) 56 | (free d) 57 | (goal-of p1 h3) 58 | (goal-of p2 d) 59 | (goal-of p3 h1) 60 | (goal-of p4 h2) 61 | ) 62 | 63 | (:goal 64 | (and (at t1 g1) 65 | (at t2 g2) 66 | (at t3 g3) 67 | (at p1 h3) 68 | (at p2 d) 69 | (at p3 h1) 70 | (at p4 h2) 71 | ) 72 | ) 73 | ) 74 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p10.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-10) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 t3 - taxi 7 | p1 p2 p3 p4 - passenger 8 | g1 g2 g3 c d h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g1 d) 14 | (directly-connected g2 c) 15 | (directly-connected g2 d) 16 | (directly-connected g3 c) 17 | (directly-connected g3 d) 18 | (directly-connected c g1) 19 | (directly-connected c g2) 20 | (directly-connected c g3) 21 | (directly-connected c d) 22 | (directly-connected c h1) 23 | (directly-connected c h2) 24 | (directly-connected c h3) 25 | (directly-connected d g1) 26 | (directly-connected d g2) 27 | (directly-connected d g3) 28 | (directly-connected d c) 29 | (directly-connected d h1) 30 | (directly-connected d h2) 31 | (directly-connected d h3) 32 | (directly-connected h1 c) 33 | (directly-connected h1 d) 34 | (directly-connected h1 h2) 35 | (directly-connected h2 c) 36 | (directly-connected h2 d) 37 | (directly-connected h2 h1) 38 | (directly-connected h2 h3) 39 | (directly-connected h3 c) 40 | (directly-connected h3 d) 41 | (directly-connected h3 h2) 42 | (at t1 g1) 43 | (at t2 g2) 44 | (at t3 g3) 45 | (empty t1) 46 | (empty t2) 47 | (empty t3) 48 | (at p1 h1) 49 | (at p2 h2) 50 | (at p3 h3) 51 | (at p4 d) 52 | (free h1) 53 | (free h2) 54 | (free h3) 55 | (free c) 56 | (free d) 57 | (goal-of p1 d) 58 | (goal-of p2 h1) 59 | (goal-of p3 h2) 60 | (goal-of p4 h3) 61 | ) 62 | 63 | (:goal 64 | (and (at t1 g1) 65 | (at t2 g2) 66 | (at t3 g3) 67 | (at p1 d) 68 | (at p2 h1) 69 | (at p3 h2) 70 | (at p4 h3) 71 | ) 72 | ) 73 | ) 74 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p11.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-11) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 - taxi 7 | p1 p2 p3 p4 - passenger 8 | g1 g2 g3 c d h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g1 d) 14 | (directly-connected g2 c) 15 | (directly-connected g2 d) 16 | (directly-connected g3 c) 17 | (directly-connected g3 d) 18 | (directly-connected c g1) 19 | (directly-connected c g2) 20 | (directly-connected c g3) 21 | (directly-connected c d) 22 | (directly-connected c h1) 23 | (directly-connected c h2) 24 | (directly-connected c h3) 25 | (directly-connected d g1) 26 | (directly-connected d g2) 27 | (directly-connected d g3) 28 | (directly-connected d c) 29 | (directly-connected d h1) 30 | (directly-connected d h2) 31 | (directly-connected d h3) 32 | (directly-connected h1 c) 33 | (directly-connected h1 d) 34 | (directly-connected h1 h2) 35 | (directly-connected h2 c) 36 | (directly-connected h2 d) 37 | (directly-connected h2 h1) 38 | (directly-connected h2 h3) 39 | (directly-connected h3 c) 40 | (directly-connected h3 d) 41 | (directly-connected h3 h2) 42 | (at t1 g1) 43 | (at t2 g2) 44 | (empty t1) 45 | (empty t2) 46 | (at p1 h1) 47 | (at p2 h2) 48 | (at p3 h3) 49 | (at p4 d) 50 | (free g3) 51 | (free h1) 52 | (free h2) 53 | (free h3) 54 | (free c) 55 | (free d) 56 | (goal-of p1 d) 57 | (goal-of p2 h1) 58 | (goal-of p3 h2) 59 | (goal-of p4 h3) 60 | ) 61 | 62 | (:goal 63 | (and (at t1 g1) 64 | (at t2 g2) 65 | (at p1 d) 66 | (at p2 h1) 67 | (at p3 h2) 68 | (at p4 h3) 69 | ) 70 | ) 71 | ) 72 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p12.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-12) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 - taxi 7 | p1 p2 p3 p4 p5 - passenger 8 | g1 g2 g3 c d h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g1 d) 14 | (directly-connected g2 c) 15 | (directly-connected g2 d) 16 | (directly-connected g3 c) 17 | (directly-connected g3 d) 18 | (directly-connected c g1) 19 | (directly-connected c g2) 20 | (directly-connected c g3) 21 | (directly-connected c d) 22 | (directly-connected c h1) 23 | (directly-connected c h2) 24 | (directly-connected c h3) 25 | (directly-connected d g1) 26 | (directly-connected d g2) 27 | (directly-connected d g3) 28 | (directly-connected d c) 29 | (directly-connected d h1) 30 | (directly-connected d h2) 31 | (directly-connected d h3) 32 | (directly-connected h1 c) 33 | (directly-connected h1 d) 34 | (directly-connected h1 h2) 35 | (directly-connected h2 c) 36 | (directly-connected h2 d) 37 | (directly-connected h2 h1) 38 | (directly-connected h2 h3) 39 | (directly-connected h3 c) 40 | (directly-connected h3 d) 41 | (directly-connected h3 h2) 42 | (at t1 g1) 43 | (at t2 g2) 44 | (empty t1) 45 | (empty t2) 46 | (at p1 h1) 47 | (at p2 h2) 48 | (at p3 h3) 49 | (at p4 d) 50 | (at p5 g3) 51 | (free g3) 52 | (free h1) 53 | (free h2) 54 | (free h3) 55 | (free c) 56 | (free d) 57 | (goal-of p1 d) 58 | (goal-of p2 h1) 59 | (goal-of p3 h2) 60 | (goal-of p4 h3) 61 | (goal-of p5 c) 62 | ) 63 | 64 | (:goal 65 | (and (at t1 g1) 66 | (at t2 g2) 67 | (at p1 d) 68 | (at p2 h1) 69 | (at p3 h2) 70 | (at p4 h3) 71 | (at p5 c) 72 | ) 73 | ) 74 | ) 75 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p13.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-13) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 - taxi 7 | p1 p2 p3 p4 p5 - passenger 8 | g1 g2 g3 c d h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g1 d) 14 | (directly-connected g2 c) 15 | (directly-connected g2 d) 16 | (directly-connected g3 c) 17 | (directly-connected g3 d) 18 | (directly-connected c g1) 19 | (directly-connected c g2) 20 | (directly-connected c g3) 21 | (directly-connected c d) 22 | (directly-connected c h1) 23 | (directly-connected c h2) 24 | (directly-connected c h3) 25 | (directly-connected d g1) 26 | (directly-connected d g2) 27 | (directly-connected d g3) 28 | (directly-connected d c) 29 | (directly-connected d h1) 30 | (directly-connected d h2) 31 | (directly-connected d h3) 32 | (directly-connected h1 c) 33 | (directly-connected h1 d) 34 | (directly-connected h1 h2) 35 | (directly-connected h2 c) 36 | (directly-connected h2 d) 37 | (directly-connected h2 h1) 38 | (directly-connected h2 h3) 39 | (directly-connected h3 c) 40 | (directly-connected h3 d) 41 | (directly-connected h3 h2) 42 | (at t1 g1) 43 | (at t2 g2) 44 | (empty t1) 45 | (empty t2) 46 | (at p1 h1) 47 | (at p2 h2) 48 | (at p3 h3) 49 | (at p4 d) 50 | (at p5 g3) 51 | (free g3) 52 | (free h1) 53 | (free h2) 54 | (free h3) 55 | (free c) 56 | (free d) 57 | (goal-of p1 c) 58 | (goal-of p2 c) 59 | (goal-of p3 c) 60 | (goal-of p4 c) 61 | (goal-of p5 c) 62 | ) 63 | 64 | (:goal 65 | (and (at t1 g1) 66 | (at t2 g2) 67 | (at p1 c) 68 | (at p2 c) 69 | (at p3 c) 70 | (at p4 c) 71 | (at p5 c) 72 | ) 73 | ) 74 | ) 75 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p14.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-14) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 t3 - taxi 7 | p1 p2 p3 p4 p5 - passenger 8 | g1 g2 g3 c d h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g1 d) 14 | (directly-connected g2 c) 15 | (directly-connected g2 d) 16 | (directly-connected g3 c) 17 | (directly-connected g3 d) 18 | (directly-connected c g1) 19 | (directly-connected c g2) 20 | (directly-connected c g3) 21 | (directly-connected c d) 22 | (directly-connected c h1) 23 | (directly-connected c h2) 24 | (directly-connected c h3) 25 | (directly-connected d g1) 26 | (directly-connected d g2) 27 | (directly-connected d g3) 28 | (directly-connected d c) 29 | (directly-connected d h1) 30 | (directly-connected d h2) 31 | (directly-connected d h3) 32 | (directly-connected h1 c) 33 | (directly-connected h1 d) 34 | (directly-connected h1 h2) 35 | (directly-connected h2 c) 36 | (directly-connected h2 d) 37 | (directly-connected h2 h1) 38 | (directly-connected h2 h3) 39 | (directly-connected h3 c) 40 | (directly-connected h3 d) 41 | (directly-connected h3 h2) 42 | (at t1 g1) 43 | (at t2 g2) 44 | (at t3 g3) 45 | (empty t1) 46 | (empty t2) 47 | (empty t3) 48 | (at p1 h1) 49 | (at p2 h2) 50 | (at p3 h3) 51 | (at p4 d) 52 | (at p5 g3) 53 | (free h1) 54 | (free h2) 55 | (free h3) 56 | (free c) 57 | (free d) 58 | (goal-of p1 c) 59 | (goal-of p2 c) 60 | (goal-of p3 c) 61 | (goal-of p4 c) 62 | (goal-of p5 c) 63 | ) 64 | 65 | (:goal 66 | (and (at t1 g1) 67 | (at t2 g2) 68 | (at t3 g3) 69 | (at p1 c) 70 | (at p2 c) 71 | (at p3 c) 72 | (at p4 c) 73 | (at p5 c) 74 | ) 75 | ) 76 | ) 77 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p15.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-15) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 t3 - taxi 7 | p1 p2 p3 p4 p5 p6 - passenger 8 | g1 g2 g3 c d h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g1 d) 14 | (directly-connected g2 c) 15 | (directly-connected g2 d) 16 | (directly-connected g3 c) 17 | (directly-connected g3 d) 18 | (directly-connected c g1) 19 | (directly-connected c g2) 20 | (directly-connected c g3) 21 | (directly-connected c d) 22 | (directly-connected c h1) 23 | (directly-connected c h2) 24 | (directly-connected c h3) 25 | (directly-connected d g1) 26 | (directly-connected d g2) 27 | (directly-connected d g3) 28 | (directly-connected d c) 29 | (directly-connected d h1) 30 | (directly-connected d h2) 31 | (directly-connected d h3) 32 | (directly-connected h1 c) 33 | (directly-connected h1 d) 34 | (directly-connected h1 h2) 35 | (directly-connected h2 c) 36 | (directly-connected h2 d) 37 | (directly-connected h2 h1) 38 | (directly-connected h2 h3) 39 | (directly-connected h3 c) 40 | (directly-connected h3 d) 41 | (directly-connected h3 h2) 42 | (at t1 g1) 43 | (at t2 g2) 44 | (at t3 g3) 45 | (empty t1) 46 | (empty t2) 47 | (empty t3) 48 | (at p1 h1) 49 | (at p2 h2) 50 | (at p3 h3) 51 | (at p4 d) 52 | (at p5 g3) 53 | (at p6 h1) 54 | (free h1) 55 | (free h2) 56 | (free h3) 57 | (free c) 58 | (free d) 59 | (goal-of p1 c) 60 | (goal-of p2 c) 61 | (goal-of p3 c) 62 | (goal-of p4 c) 63 | (goal-of p5 c) 64 | (goal-of p6 c) 65 | ) 66 | 67 | (:goal 68 | (and (at t1 g1) 69 | (at t2 g2) 70 | (at t3 g3) 71 | (at p1 c) 72 | (at p2 c) 73 | (at p3 c) 74 | (at p4 c) 75 | (at p5 c) 76 | (at p6 c) 77 | ) 78 | ) 79 | ) 80 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p16.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-16) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 t3 - taxi 7 | p1 p2 p3 p4 p5 p6 - passenger 8 | g1 g2 g3 c d h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g1 d) 14 | (directly-connected g2 c) 15 | (directly-connected g2 d) 16 | (directly-connected g3 c) 17 | (directly-connected g3 d) 18 | (directly-connected c g1) 19 | (directly-connected c g2) 20 | (directly-connected c g3) 21 | (directly-connected c d) 22 | (directly-connected c h1) 23 | (directly-connected c h2) 24 | (directly-connected c h3) 25 | (directly-connected d g1) 26 | (directly-connected d g2) 27 | (directly-connected d g3) 28 | (directly-connected d c) 29 | (directly-connected d h1) 30 | (directly-connected d h2) 31 | (directly-connected d h3) 32 | (directly-connected h1 c) 33 | (directly-connected h1 d) 34 | (directly-connected h1 h2) 35 | (directly-connected h2 c) 36 | (directly-connected h2 d) 37 | (directly-connected h2 h1) 38 | (directly-connected h2 h3) 39 | (directly-connected h3 c) 40 | (directly-connected h3 d) 41 | (directly-connected h3 h2) 42 | (at t1 g1) 43 | (at t2 g2) 44 | (at t3 g3) 45 | (empty t1) 46 | (empty t2) 47 | (empty t3) 48 | (at p1 h1) 49 | (at p2 h2) 50 | (at p3 h3) 51 | (at p4 d) 52 | (at p5 g3) 53 | (at p6 h1) 54 | (free h1) 55 | (free h2) 56 | (free h3) 57 | (free c) 58 | (free d) 59 | (goal-of p1 h2) 60 | (goal-of p2 h3) 61 | (goal-of p3 c) 62 | (goal-of p4 c) 63 | (goal-of p5 d) 64 | (goal-of p6 h3) 65 | ) 66 | 67 | (:goal 68 | (and (at t1 g1) 69 | (at t2 g2) 70 | (at t3 g3) 71 | (at p1 h2) 72 | (at p2 h3) 73 | (at p3 c) 74 | (at p4 c) 75 | (at p5 d) 76 | (at p6 h3) 77 | ) 78 | ) 79 | ) 80 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p17.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-17) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 t3 - taxi 7 | p1 p2 p3 p4 p5 p6 p7 - passenger 8 | g1 g2 g3 c d h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g1 d) 14 | (directly-connected g2 c) 15 | (directly-connected g2 d) 16 | (directly-connected g3 c) 17 | (directly-connected g3 d) 18 | (directly-connected c g1) 19 | (directly-connected c g2) 20 | (directly-connected c g3) 21 | (directly-connected c d) 22 | (directly-connected c h1) 23 | (directly-connected c h2) 24 | (directly-connected c h3) 25 | (directly-connected d g1) 26 | (directly-connected d g2) 27 | (directly-connected d g3) 28 | (directly-connected d c) 29 | (directly-connected d h1) 30 | (directly-connected d h2) 31 | (directly-connected d h3) 32 | (directly-connected h1 c) 33 | (directly-connected h1 d) 34 | (directly-connected h1 h2) 35 | (directly-connected h2 c) 36 | (directly-connected h2 d) 37 | (directly-connected h2 h1) 38 | (directly-connected h2 h3) 39 | (directly-connected h3 c) 40 | (directly-connected h3 d) 41 | (directly-connected h3 h2) 42 | (at t1 g1) 43 | (at t2 g2) 44 | (at t3 g3) 45 | (empty t1) 46 | (empty t2) 47 | (empty t3) 48 | (at p1 h1) 49 | (at p2 h2) 50 | (at p3 h3) 51 | (at p4 d) 52 | (at p5 g3) 53 | (at p6 h1) 54 | (at p7 c) 55 | (free h1) 56 | (free h2) 57 | (free h3) 58 | (free c) 59 | (free d) 60 | (goal-of p1 h2) 61 | (goal-of p2 h3) 62 | (goal-of p3 c) 63 | (goal-of p4 c) 64 | (goal-of p5 d) 65 | (goal-of p6 h3) 66 | (goal-of p7 d) 67 | ) 68 | 69 | (:goal 70 | (and (at t1 g1) 71 | (at t2 g2) 72 | (at t3 g3) 73 | (at p1 h2) 74 | (at p2 h3) 75 | (at p3 c) 76 | (at p4 c) 77 | (at p5 d) 78 | (at p6 h3) 79 | (at p7 d) 80 | ) 81 | ) 82 | ) 83 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p18.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-18) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 t3 - taxi 7 | p1 p2 p3 p4 p5 p6 p7 - passenger 8 | g1 g2 g3 c d h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g1 d) 14 | (directly-connected g2 c) 15 | (directly-connected g2 d) 16 | (directly-connected g3 c) 17 | (directly-connected g3 d) 18 | (directly-connected c g1) 19 | (directly-connected c g2) 20 | (directly-connected c g3) 21 | (directly-connected c d) 22 | (directly-connected c h1) 23 | (directly-connected c h2) 24 | (directly-connected c h3) 25 | (directly-connected d g1) 26 | (directly-connected d g2) 27 | (directly-connected d g3) 28 | (directly-connected d c) 29 | (directly-connected d h1) 30 | (directly-connected d h2) 31 | (directly-connected d h3) 32 | (directly-connected h1 c) 33 | (directly-connected h1 d) 34 | (directly-connected h1 h2) 35 | (directly-connected h2 c) 36 | (directly-connected h2 d) 37 | (directly-connected h2 h1) 38 | (directly-connected h2 h3) 39 | (directly-connected h3 c) 40 | (directly-connected h3 d) 41 | (directly-connected h3 h2) 42 | (at t1 g1) 43 | (at t2 g2) 44 | (at t3 d) 45 | (empty t1) 46 | (empty t2) 47 | (empty t3) 48 | (at p1 h1) 49 | (at p2 h2) 50 | (at p3 h3) 51 | (at p4 d) 52 | (at p5 g3) 53 | (at p6 h1) 54 | (at p7 c) 55 | (free h1) 56 | (free h2) 57 | (free h3) 58 | (free c) 59 | (free g3) 60 | (goal-of p1 h2) 61 | (goal-of p2 h3) 62 | (goal-of p3 c) 63 | (goal-of p4 c) 64 | (goal-of p5 d) 65 | (goal-of p6 h3) 66 | (goal-of p7 d) 67 | ) 68 | 69 | (:goal 70 | (and (at t1 g1) 71 | (at t2 g2) 72 | (at t3 d) 73 | (at p1 h2) 74 | (at p2 h3) 75 | (at p3 c) 76 | (at p4 c) 77 | (at p5 d) 78 | (at p6 h3) 79 | (at p7 d) 80 | ) 81 | ) 82 | ) 83 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p19.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-19) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 t3 - taxi 7 | p1 p2 p3 p4 p5 p6 p7 - passenger 8 | g1 g2 g3 c d h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g1 d) 14 | (directly-connected g2 c) 15 | (directly-connected g2 d) 16 | (directly-connected g3 c) 17 | (directly-connected g3 d) 18 | (directly-connected c g1) 19 | (directly-connected c g2) 20 | (directly-connected c g3) 21 | (directly-connected c d) 22 | (directly-connected c h1) 23 | (directly-connected c h2) 24 | (directly-connected c h3) 25 | (directly-connected d g1) 26 | (directly-connected d g2) 27 | (directly-connected d g3) 28 | (directly-connected d c) 29 | (directly-connected d h1) 30 | (directly-connected d h2) 31 | (directly-connected d h3) 32 | (directly-connected h1 c) 33 | (directly-connected h1 d) 34 | (directly-connected h1 h2) 35 | (directly-connected h2 c) 36 | (directly-connected h2 d) 37 | (directly-connected h2 h1) 38 | (directly-connected h2 h3) 39 | (directly-connected h3 c) 40 | (directly-connected h3 d) 41 | (directly-connected h3 h2) 42 | (at t1 g1) 43 | (at t2 d) 44 | (at t3 c) 45 | (empty t1) 46 | (empty t2) 47 | (empty t3) 48 | (at p1 h1) 49 | (at p2 h2) 50 | (at p3 h3) 51 | (at p4 d) 52 | (at p5 g3) 53 | (at p6 h1) 54 | (at p7 c) 55 | (free h1) 56 | (free h2) 57 | (free h3) 58 | (free g2) 59 | (free g3) 60 | (goal-of p1 h2) 61 | (goal-of p2 h3) 62 | (goal-of p3 c) 63 | (goal-of p4 c) 64 | (goal-of p5 d) 65 | (goal-of p6 h3) 66 | (goal-of p7 d) 67 | ) 68 | 69 | (:goal 70 | (and (at t1 g1) 71 | (at t2 d) 72 | (at t3 c) 73 | (at p1 h2) 74 | (at p2 h3) 75 | (at p3 c) 76 | (at p4 c) 77 | (at p5 d) 78 | (at p6 h3) 79 | (at p7 d) 80 | ) 81 | ) 82 | ) 83 | -------------------------------------------------------------------------------- /domains/codmap15/taxi/problems/p20.pddl: -------------------------------------------------------------------------------- 1 | (define (problem taxi-20) 2 | 3 | (:domain taxi) 4 | 5 | (:objects 6 | t1 t2 t3 - taxi 7 | p1 p2 p3 p4 p5 p6 p7 - passenger 8 | g1 g2 g3 c d h1 h2 h3 - location 9 | ) 10 | 11 | (:init 12 | (directly-connected g1 c) 13 | (directly-connected g1 d) 14 | (directly-connected g2 c) 15 | (directly-connected g2 d) 16 | (directly-connected g3 c) 17 | (directly-connected g3 d) 18 | (directly-connected c g1) 19 | (directly-connected c g2) 20 | (directly-connected c g3) 21 | (directly-connected c d) 22 | (directly-connected c h1) 23 | (directly-connected c h2) 24 | (directly-connected c h3) 25 | (directly-connected d g1) 26 | (directly-connected d g2) 27 | (directly-connected d g3) 28 | (directly-connected d c) 29 | (directly-connected d h1) 30 | (directly-connected d h2) 31 | (directly-connected d h3) 32 | (directly-connected h1 c) 33 | (directly-connected h1 d) 34 | (directly-connected h1 h2) 35 | (directly-connected h2 c) 36 | (directly-connected h2 d) 37 | (directly-connected h2 h1) 38 | (directly-connected h2 h3) 39 | (directly-connected h3 c) 40 | (directly-connected h3 d) 41 | (directly-connected h3 h2) 42 | (at t1 g1) 43 | (at t2 d) 44 | (at t3 c) 45 | (empty t1) 46 | (empty t2) 47 | (empty t3) 48 | (at p1 h1) 49 | (at p2 h2) 50 | (at p3 h3) 51 | (at p4 d) 52 | (at p5 g3) 53 | (at p6 h1) 54 | (at p7 g1) 55 | (free h1) 56 | (free h2) 57 | (free h3) 58 | (free g2) 59 | (free g3) 60 | (goal-of p1 c) 61 | (goal-of p2 c) 62 | (goal-of p3 c) 63 | (goal-of p4 c) 64 | (goal-of p5 c) 65 | (goal-of p6 c) 66 | (goal-of p7 c) 67 | ) 68 | 69 | (:goal 70 | (and (at t1 g1) 71 | (at t2 d) 72 | (at t3 c) 73 | (at p1 c) 74 | (at p2 c) 75 | (at p3 c) 76 | (at p4 c) 77 | (at p5 c) 78 | (at p6 c) 79 | (at p7 c) 80 | ) 81 | ) 82 | ) 83 | -------------------------------------------------------------------------------- /domains/codmap15/zenotravel/domain/domain.pddl: -------------------------------------------------------------------------------- 1 | (define (domain zeno-travel) 2 | (:requirements :typing :multi-agent :unfactored-privacy) 3 | (:types 4 | locatable city flevel - object 5 | aircraft person - locatable 6 | ) 7 | (:predicates 8 | (at ?x - locatable ?c - city) 9 | (next ?l1 - flevel ?l2 - flevel) 10 | 11 | (:private ?agent - aircraft 12 | (fuel-level ?agent - aircraft ?l - flevel) 13 | (in ?p - person ?agent - aircraft) 14 | ) 15 | ) 16 | 17 | (:action board 18 | :agent ?a - aircraft 19 | :parameters (?p - person ?c - city) 20 | :precondition (and 21 | (at ?p ?c) 22 | (at ?a ?c) 23 | ) 24 | :effect (and 25 | (in ?p ?a) 26 | (not (at ?p ?c)) 27 | ) 28 | ) 29 | 30 | 31 | (:action debark 32 | :agent ?a - aircraft 33 | :parameters (?p - person ?c - city) 34 | :precondition (and 35 | (in ?p ?a) 36 | (at ?a ?c) 37 | ) 38 | :effect (and 39 | (at ?p ?c) 40 | (not (in ?p ?a)) 41 | ) 42 | ) 43 | 44 | 45 | (:action fly 46 | :agent ?a - aircraft 47 | :parameters (?c1 - city ?c2 - city ?l1 - flevel ?l2 - flevel) 48 | :precondition (and 49 | (at ?a ?c1) 50 | (fuel-level ?a ?l1) 51 | (next ?l2 ?l1) 52 | ) 53 | :effect (and 54 | (at ?a ?c2) 55 | (fuel-level ?a ?l2) 56 | (not (at ?a ?c1)) 57 | (not (fuel-level ?a ?l1)) 58 | ) 59 | ) 60 | 61 | 62 | (:action zoom 63 | :agent ?a - aircraft 64 | :parameters (?c1 - city ?c2 - city ?l1 - flevel ?l2 - flevel ?l3 - flevel) 65 | :precondition (and 66 | (at ?a ?c1) 67 | (fuel-level ?a ?l1) 68 | (next ?l2 ?l1) 69 | (next ?l3 ?l2) 70 | ) 71 | :effect (and 72 | (at ?a ?c2) 73 | (fuel-level ?a ?l3) 74 | (not (at ?a ?c1)) 75 | (not (fuel-level ?a ?l1)) 76 | ) 77 | ) 78 | 79 | 80 | (:action refuel 81 | :agent ?a - aircraft 82 | :parameters (?c - city ?l - flevel ?l1 - flevel) 83 | :precondition (and 84 | (fuel-level ?a ?l) 85 | (next ?l ?l1) 86 | (at ?a ?c) 87 | ) 88 | :effect (and 89 | (fuel-level ?a ?l1) 90 | (not (fuel-level ?a ?l)) 91 | ) 92 | ) 93 | 94 | ) -------------------------------------------------------------------------------- /domains/codmap15/zenotravel/domain/domain_constrained.pddl: -------------------------------------------------------------------------------- 1 | (define (domain zeno-travel) 2 | (:requirements :typing :multi-agent :unfactored-privacy) 3 | (:types 4 | locatable city flevel - object 5 | aircraft person - locatable 6 | ) 7 | (:predicates 8 | (at ?x - locatable ?c - city) 9 | (next ?l1 - flevel ?l2 - flevel) 10 | 11 | (:private ?agent - aircraft 12 | (fuel-level ?agent - aircraft ?l - flevel) 13 | (in ?p - person ?agent - aircraft) 14 | ) 15 | ) 16 | 17 | (:action board 18 | :agent ?a - aircraft 19 | :parameters (?p - person ?c - city) 20 | :precondition (and 21 | (at ?p ?c) 22 | (at ?a ?c) 23 | (forall (?a2 - aircraft) (not (board ?a2 ?p ?c))) 24 | ) 25 | :effect (and 26 | (in ?p ?a) 27 | (not (at ?p ?c)) 28 | ) 29 | ) 30 | 31 | 32 | (:action debark 33 | :agent ?a - aircraft 34 | :parameters (?p - person ?c - city) 35 | :precondition (and 36 | (in ?p ?a) 37 | (at ?a ?c) 38 | ) 39 | :effect (and 40 | (at ?p ?c) 41 | (not (in ?p ?a)) 42 | ) 43 | ) 44 | 45 | 46 | (:action fly 47 | :agent ?a - aircraft 48 | :parameters (?c1 - city ?c2 - city ?l1 - flevel ?l2 - flevel) 49 | :precondition (and 50 | (at ?a ?c1) 51 | (fuel-level ?a ?l1) 52 | (next ?l2 ?l1) 53 | ) 54 | :effect (and 55 | (at ?a ?c2) 56 | (fuel-level ?a ?l2) 57 | (not (at ?a ?c1)) 58 | (not (fuel-level ?a ?l1)) 59 | ) 60 | ) 61 | 62 | 63 | (:action zoom 64 | :agent ?a - aircraft 65 | :parameters (?c1 - city ?c2 - city ?l1 - flevel ?l2 - flevel ?l3 - flevel) 66 | :precondition (and 67 | (at ?a ?c1) 68 | (fuel-level ?a ?l1) 69 | (next ?l2 ?l1) 70 | (next ?l3 ?l2) 71 | ) 72 | :effect (and 73 | (at ?a ?c2) 74 | (fuel-level ?a ?l3) 75 | (not (at ?a ?c1)) 76 | (not (fuel-level ?a ?l1)) 77 | ) 78 | ) 79 | 80 | 81 | (:action refuel 82 | :agent ?a - aircraft 83 | :parameters (?c - city ?l - flevel ?l1 - flevel) 84 | :precondition (and 85 | (fuel-level ?a ?l) 86 | (next ?l ?l1) 87 | (at ?a ?c) 88 | ) 89 | :effect (and 90 | (fuel-level ?a ?l1) 91 | (not (fuel-level ?a ?l)) 92 | ) 93 | ) 94 | 95 | ) 96 | -------------------------------------------------------------------------------- /domains/codmap15/zenotravel/problems/pfile10.pddl: -------------------------------------------------------------------------------- 1 | (define (problem ZTRAVEL-3-8) (:domain zeno-travel) 2 | (:objects 3 | person2 - person 4 | person3 - person 5 | person1 - person 6 | person6 - person 7 | person7 - person 8 | person4 - person 9 | person5 - person 10 | city2 - city 11 | city3 - city 12 | city0 - city 13 | city1 - city 14 | person8 - person 15 | city4 - city 16 | fl1 - flevel 17 | fl0 - flevel 18 | fl3 - flevel 19 | fl2 - flevel 20 | fl5 - flevel 21 | fl4 - flevel 22 | fl6 - flevel 23 | 24 | (:private plane1 25 | plane1 - aircraft 26 | ) 27 | 28 | (:private plane2 29 | plane2 - aircraft 30 | ) 31 | 32 | (:private plane3 33 | plane3 - aircraft 34 | ) 35 | ) 36 | (:init 37 | (at plane1 city0) 38 | (fuel-level plane1 fl2) 39 | (at plane2 city4) 40 | (fuel-level plane2 fl5) 41 | (at plane3 city2) 42 | (fuel-level plane3 fl2) 43 | (at person1 city3) 44 | (at person2 city3) 45 | (at person3 city4) 46 | (at person4 city4) 47 | (at person5 city1) 48 | (at person6 city0) 49 | (at person7 city1) 50 | (at person8 city0) 51 | (next fl0 fl1) 52 | (next fl1 fl2) 53 | (next fl2 fl3) 54 | (next fl3 fl4) 55 | (next fl4 fl5) 56 | (next fl5 fl6) 57 | ) 58 | (:goal 59 | (and 60 | (at person1 city1) 61 | (at person2 city2) 62 | (at person3 city3) 63 | (at person4 city1) 64 | (at person5 city0) 65 | (at person6 city3) 66 | (at person7 city4) 67 | (at person8 city3) 68 | ) 69 | ) 70 | ) 71 | -------------------------------------------------------------------------------- /domains/codmap15/zenotravel/problems/pfile12.pddl: -------------------------------------------------------------------------------- 1 | (define (problem ZTRAVEL-3-8) (:domain zeno-travel) 2 | (:objects 3 | person2 - person 4 | person3 - person 5 | person1 - person 6 | person6 - person 7 | person7 - person 8 | person4 - person 9 | person5 - person 10 | city2 - city 11 | city3 - city 12 | person8 - person 13 | city1 - city 14 | city0 - city 15 | city4 - city 16 | city5 - city 17 | fl1 - flevel 18 | fl0 - flevel 19 | fl3 - flevel 20 | fl2 - flevel 21 | fl5 - flevel 22 | fl4 - flevel 23 | fl6 - flevel 24 | 25 | (:private plane1 26 | plane1 - aircraft 27 | ) 28 | 29 | (:private plane2 30 | plane2 - aircraft 31 | ) 32 | 33 | (:private plane3 34 | plane3 - aircraft 35 | ) 36 | ) 37 | (:init 38 | (at plane1 city2) 39 | (fuel-level plane1 fl3) 40 | (at plane2 city3) 41 | (fuel-level plane2 fl6) 42 | (at plane3 city5) 43 | (fuel-level plane3 fl2) 44 | (at person1 city4) 45 | (at person2 city4) 46 | (at person3 city0) 47 | (at person4 city4) 48 | (at person5 city1) 49 | (at person6 city2) 50 | (at person7 city5) 51 | (at person8 city5) 52 | (next fl0 fl1) 53 | (next fl1 fl2) 54 | (next fl2 fl3) 55 | (next fl3 fl4) 56 | (next fl4 fl5) 57 | (next fl5 fl6) 58 | ) 59 | (:goal 60 | (and 61 | (at person1 city2) 62 | (at person2 city1) 63 | (at person3 city1) 64 | (at person4 city4) 65 | (at person5 city4) 66 | (at person6 city1) 67 | (at person7 city3) 68 | (at person8 city4) 69 | ) 70 | ) 71 | ) -------------------------------------------------------------------------------- /domains/codmap15/zenotravel/problems/pfile13.pddl: -------------------------------------------------------------------------------- 1 | (define (problem ZTRAVEL-3-10) (:domain zeno-travel) 2 | (:objects 3 | person10 - person 4 | person2 - person 5 | person3 - person 6 | person1 - person 7 | person6 - person 8 | person7 - person 9 | person4 - person 10 | person5 - person 11 | city2 - city 12 | city3 - city 13 | city0 - city 14 | person9 - person 15 | person8 - person 16 | city4 - city 17 | city5 - city 18 | city1 - city 19 | fl1 - flevel 20 | fl0 - flevel 21 | fl3 - flevel 22 | fl2 - flevel 23 | fl5 - flevel 24 | fl4 - flevel 25 | fl6 - flevel 26 | 27 | (:private plane1 28 | plane1 - aircraft 29 | ) 30 | 31 | (:private plane2 32 | plane2 - aircraft 33 | ) 34 | 35 | (:private plane3 36 | plane3 - aircraft 37 | ) 38 | ) 39 | (:init 40 | (at plane1 city4) 41 | (fuel-level plane1 fl2) 42 | (at plane2 city3) 43 | (fuel-level plane2 fl6) 44 | (at plane3 city3) 45 | (fuel-level plane3 fl6) 46 | (at person1 city1) 47 | (at person2 city2) 48 | (at person3 city1) 49 | (at person4 city4) 50 | (at person5 city5) 51 | (at person6 city1) 52 | (at person7 city0) 53 | (at person8 city2) 54 | (at person9 city1) 55 | (at person10 city5) 56 | (next fl0 fl1) 57 | (next fl1 fl2) 58 | (next fl2 fl3) 59 | (next fl3 fl4) 60 | (next fl4 fl5) 61 | (next fl5 fl6) 62 | ) 63 | (:goal 64 | (and 65 | (at person1 city4) 66 | (at person2 city5) 67 | (at person3 city4) 68 | (at person4 city0) 69 | (at person5 city2) 70 | (at person6 city3) 71 | (at person8 city0) 72 | (at person9 city3) 73 | (at person10 city4) 74 | ) 75 | ) 76 | ) 77 | -------------------------------------------------------------------------------- /domains/codmap15/zenotravel/problems/pfile14.pddl: -------------------------------------------------------------------------------- 1 | (define (problem ZTRAVEL-5-10) (:domain zeno-travel) 2 | (:objects 3 | person10 - person 4 | fl6 - flevel 5 | person2 - person 6 | person3 - person 7 | city8 - city 8 | city9 - city 9 | person6 - person 10 | person7 - person 11 | person4 - person 12 | person5 - person 13 | city2 - city 14 | city3 - city 15 | city0 - city 16 | city1 - city 17 | city6 - city 18 | person8 - person 19 | city4 - city 20 | city5 - city 21 | person9 - person 22 | fl1 - flevel 23 | fl0 - flevel 24 | fl3 - flevel 25 | fl2 - flevel 26 | fl5 - flevel 27 | fl4 - flevel 28 | city7 - city 29 | person1 - person 30 | 31 | (:private plane2 32 | plane2 - aircraft 33 | ) 34 | 35 | (:private plane1 36 | plane1 - aircraft 37 | ) 38 | 39 | (:private plane3 40 | plane3 - aircraft 41 | ) 42 | 43 | (:private plane4 44 | plane4 - aircraft 45 | ) 46 | 47 | (:private plane5 48 | plane5 - aircraft 49 | ) 50 | ) 51 | (:init 52 | (at plane1 city5) 53 | (fuel-level plane1 fl2) 54 | (at plane2 city2) 55 | (fuel-level plane2 fl6) 56 | (at plane3 city4) 57 | (fuel-level plane3 fl6) 58 | (at plane4 city8) 59 | (fuel-level plane4 fl3) 60 | (at plane5 city9) 61 | (fuel-level plane5 fl4) 62 | (at person1 city9) 63 | (at person2 city1) 64 | (at person3 city0) 65 | (at person4 city9) 66 | (at person5 city6) 67 | (at person6 city0) 68 | (at person7 city7) 69 | (at person8 city6) 70 | (at person9 city4) 71 | (at person10 city7) 72 | (next fl0 fl1) 73 | (next fl1 fl2) 74 | (next fl2 fl3) 75 | (next fl3 fl4) 76 | (next fl4 fl5) 77 | (next fl5 fl6) 78 | ) 79 | (:goal 80 | (and 81 | (at person2 city8) 82 | (at person3 city2) 83 | (at person4 city7) 84 | (at person5 city1) 85 | (at person6 city6) 86 | (at person7 city5) 87 | (at person8 city1) 88 | (at person9 city5) 89 | (at person10 city9) 90 | ) 91 | ) 92 | ) 93 | -------------------------------------------------------------------------------- /domains/codmap15/zenotravel/problems/pfile3.pddl: -------------------------------------------------------------------------------- 1 | (define (problem ZTRAVEL-2-4) (:domain zeno-travel) 2 | (:objects 3 | fl1 - flevel 4 | fl0 - flevel 5 | fl3 - flevel 6 | fl2 - flevel 7 | fl5 - flevel 8 | fl4 - flevel 9 | fl6 - flevel 10 | person2 - person 11 | person3 - person 12 | person1 - person 13 | person4 - person 14 | city2 - city 15 | city0 - city 16 | city1 - city 17 | 18 | (:private plane1 19 | plane1 - aircraft 20 | ) 21 | 22 | (:private plane2 23 | plane2 - aircraft 24 | ) 25 | ) 26 | (:init 27 | (at plane1 city0) 28 | (fuel-level plane1 fl4) 29 | (at plane2 city2) 30 | (fuel-level plane2 fl5) 31 | (at person1 city0) 32 | (at person2 city0) 33 | (at person3 city1) 34 | (at person4 city1) 35 | (next fl0 fl1) 36 | (next fl1 fl2) 37 | (next fl2 fl3) 38 | (next fl3 fl4) 39 | (next fl4 fl5) 40 | (next fl5 fl6) 41 | ) 42 | (:goal 43 | (and 44 | (at person1 city1) 45 | (at person2 city0) 46 | (at person3 city0) 47 | (at person4 city1) 48 | ) 49 | ) 50 | ) 51 | -------------------------------------------------------------------------------- /domains/codmap15/zenotravel/problems/pfile4.pddl: -------------------------------------------------------------------------------- 1 | (define (problem ZTRAVEL-2-5) (:domain zeno-travel) 2 | (:objects 3 | person2 - person 4 | person3 - person 5 | person1 - person 6 | person4 - person 7 | person5 - person 8 | city2 - city 9 | city0 - city 10 | city1 - city 11 | fl1 - flevel 12 | fl0 - flevel 13 | fl3 - flevel 14 | fl2 - flevel 15 | fl5 - flevel 16 | fl4 - flevel 17 | fl6 - flevel 18 | 19 | (:private plane2 20 | plane2 - aircraft 21 | ) 22 | 23 | (:private plane1 24 | plane1 - aircraft 25 | ) 26 | ) 27 | (:init 28 | (at plane1 city2) 29 | (fuel-level plane1 fl5) 30 | (at plane2 city2) 31 | (fuel-level plane2 fl0) 32 | (at person1 city0) 33 | (at person2 city1) 34 | (at person3 city0) 35 | (at person4 city0) 36 | (at person5 city2) 37 | (next fl0 fl1) 38 | (next fl1 fl2) 39 | (next fl2 fl3) 40 | (next fl3 fl4) 41 | (next fl4 fl5) 42 | (next fl5 fl6) 43 | ) 44 | (:goal 45 | (and 46 | (at person2 city2) 47 | (at person3 city0) 48 | (at person4 city1) 49 | (at person5 city2) 50 | ) 51 | ) 52 | ) 53 | -------------------------------------------------------------------------------- /domains/codmap15/zenotravel/problems/pfile5.pddl: -------------------------------------------------------------------------------- 1 | (define (problem ZTRAVEL-2-4) (:domain zeno-travel) 2 | (:objects 3 | fl1 - flevel 4 | fl0 - flevel 5 | fl3 - flevel 6 | fl2 - flevel 7 | fl5 - flevel 8 | fl4 - flevel 9 | fl6 - flevel 10 | person2 - person 11 | person3 - person 12 | person1 - person 13 | person4 - person 14 | city2 - city 15 | city3 - city 16 | city0 - city 17 | city1 - city 18 | 19 | (:private plane1 20 | plane1 - aircraft 21 | ) 22 | 23 | (:private plane2 24 | plane2 - aircraft 25 | ) 26 | ) 27 | (:init 28 | (at plane1 city1) 29 | (fuel-level plane1 fl6) 30 | (at plane2 city2) 31 | (fuel-level plane2 fl0) 32 | (at person1 city3) 33 | (at person2 city0) 34 | (at person3 city0) 35 | (at person4 city1) 36 | (next fl0 fl1) 37 | (next fl1 fl2) 38 | (next fl2 fl3) 39 | (next fl3 fl4) 40 | (next fl4 fl5) 41 | (next fl5 fl6) 42 | ) 43 | (:goal 44 | (and 45 | (at person1 city2) 46 | (at person2 city3) 47 | (at person3 city3) 48 | (at person4 city3) 49 | ) 50 | ) 51 | ) -------------------------------------------------------------------------------- /domains/codmap15/zenotravel/problems/pfile6.pddl: -------------------------------------------------------------------------------- 1 | (define (problem ZTRAVEL-2-5) (:domain zeno-travel) 2 | (:objects 3 | person2 - person 4 | person3 - person 5 | person1 - person 6 | person4 - person 7 | person5 - person 8 | city2 - city 9 | city3 - city 10 | city0 - city 11 | city1 - city 12 | fl1 - flevel 13 | fl0 - flevel 14 | fl3 - flevel 15 | fl2 - flevel 16 | fl5 - flevel 17 | fl4 - flevel 18 | fl6 - flevel 19 | 20 | (:private plane1 21 | plane1 - aircraft 22 | ) 23 | 24 | (:private plane2 25 | plane2 - aircraft 26 | ) 27 | ) 28 | (:init 29 | (at plane1 city2) 30 | (fuel-level plane1 fl5) 31 | (at plane2 city1) 32 | (fuel-level plane2 fl3) 33 | (at person1 city0) 34 | (at person2 city0) 35 | (at person3 city3) 36 | (at person4 city1) 37 | (at person5 city2) 38 | (next fl0 fl1) 39 | (next fl1 fl2) 40 | (next fl2 fl3) 41 | (next fl3 fl4) 42 | (next fl4 fl5) 43 | (next fl5 fl6) 44 | ) 45 | (:goal 46 | (and 47 | (at person1 city3) 48 | (at person2 city1) 49 | (at person3 city3) 50 | (at person4 city3) 51 | (at person5 city1) 52 | ) 53 | ) 54 | ) -------------------------------------------------------------------------------- /domains/codmap15/zenotravel/problems/pfile7.pddl: -------------------------------------------------------------------------------- 1 | (define (problem ZTRAVEL-2-6) (:domain zeno-travel) 2 | (:objects 3 | person2 - person 4 | person3 - person 5 | person1 - person 6 | person6 - person 7 | person4 - person 8 | person5 - person 9 | city2 - city 10 | city3 - city 11 | city0 - city 12 | city1 - city 13 | fl1 - flevel 14 | fl0 - flevel 15 | fl3 - flevel 16 | fl2 - flevel 17 | fl5 - flevel 18 | fl4 - flevel 19 | fl6 - flevel 20 | 21 | (:private plane1 22 | plane1 - aircraft 23 | ) 24 | 25 | (:private plane2 26 | plane2 - aircraft 27 | ) 28 | ) 29 | (:init 30 | (at plane1 city2) 31 | (fuel-level plane1 fl1) 32 | (at plane2 city1) 33 | (fuel-level plane2 fl1) 34 | (at person1 city3) 35 | (at person2 city3) 36 | (at person3 city3) 37 | (at person4 city1) 38 | (at person5 city3) 39 | (at person6 city0) 40 | (next fl0 fl1) 41 | (next fl1 fl2) 42 | (next fl2 fl3) 43 | (next fl3 fl4) 44 | (next fl4 fl5) 45 | (next fl5 fl6) 46 | ) 47 | (:goal 48 | (and 49 | (at person1 city2) 50 | (at person3 city3) 51 | (at person4 city3) 52 | (at person5 city2) 53 | (at person6 city2) 54 | ) 55 | ) 56 | ) 57 | -------------------------------------------------------------------------------- /domains/codmap15/zenotravel/problems/pfile8.pddl: -------------------------------------------------------------------------------- 1 | (define (problem ZTRAVEL-3-6) (:domain zeno-travel) 2 | (:objects 3 | person2 - person 4 | person3 - person 5 | person1 - person 6 | person6 - person 7 | person4 - person 8 | person5 - person 9 | city2 - city 10 | city3 - city 11 | city0 - city 12 | city1 - city 13 | city4 - city 14 | fl1 - flevel 15 | fl0 - flevel 16 | fl3 - flevel 17 | fl2 - flevel 18 | fl5 - flevel 19 | fl4 - flevel 20 | fl6 - flevel 21 | 22 | (:private plane1 23 | plane1 - aircraft 24 | ) 25 | 26 | (:private plane2 27 | plane2 - aircraft 28 | ) 29 | 30 | (:private plane3 31 | plane3 - aircraft 32 | ) 33 | ) 34 | (:init 35 | (at plane1 city0) 36 | (fuel-level plane1 fl6) 37 | (at plane2 city3) 38 | (fuel-level plane2 fl0) 39 | (at plane3 city0) 40 | (fuel-level plane3 fl3) 41 | (at person1 city1) 42 | (at person2 city0) 43 | (at person3 city2) 44 | (at person4 city0) 45 | (at person5 city3) 46 | (at person6 city4) 47 | (next fl0 fl1) 48 | (next fl1 fl2) 49 | (next fl2 fl3) 50 | (next fl3 fl4) 51 | (next fl4 fl5) 52 | (next fl5 fl6) 53 | ) 54 | (:goal 55 | (and 56 | (at person1 city0) 57 | (at person2 city0) 58 | (at person3 city1) 59 | (at person4 city0) 60 | (at person5 city3) 61 | (at person6 city2) 62 | ) 63 | ) 64 | ) 65 | -------------------------------------------------------------------------------- /domains/codmap15/zenotravel/problems/pfile9.pddl: -------------------------------------------------------------------------------- 1 | (define (problem ZTRAVEL-3-7) (:domain zeno-travel) 2 | (:objects 3 | person2 - person 4 | person3 - person 5 | person1 - person 6 | person6 - person 7 | person7 - person 8 | person4 - person 9 | person5 - person 10 | city2 - city 11 | city3 - city 12 | city0 - city 13 | city1 - city 14 | city4 - city 15 | fl1 - flevel 16 | fl0 - flevel 17 | fl3 - flevel 18 | fl2 - flevel 19 | fl5 - flevel 20 | fl4 - flevel 21 | fl6 - flevel 22 | 23 | (:private plane1 24 | plane1 - aircraft 25 | ) 26 | 27 | (:private plane2 28 | plane2 - aircraft 29 | ) 30 | 31 | (:private plane3 32 | plane3 - aircraft 33 | ) 34 | ) 35 | (:init 36 | (at plane1 city2) 37 | (fuel-level plane1 fl5) 38 | (at plane2 city2) 39 | (fuel-level plane2 fl2) 40 | (at plane3 city1) 41 | (fuel-level plane3 fl0) 42 | (at person1 city4) 43 | (at person2 city1) 44 | (at person3 city2) 45 | (at person4 city0) 46 | (at person5 city4) 47 | (at person6 city3) 48 | (at person7 city3) 49 | (next fl0 fl1) 50 | (next fl1 fl2) 51 | (next fl2 fl3) 52 | (next fl3 fl4) 53 | (next fl4 fl5) 54 | (next fl5 fl6) 55 | ) 56 | (:goal 57 | (and 58 | (at person1 city2) 59 | (at person2 city0) 60 | (at person3 city4) 61 | (at person4 city3) 62 | (at person5 city1) 63 | (at person6 city4) 64 | (at person7 city4) 65 | ) 66 | ) 67 | ) -------------------------------------------------------------------------------- /domains/doorway/problems/example.pddl: -------------------------------------------------------------------------------- 1 | (define (problem p1) (:domain doorway) 2 | (:objects 3 | a1 a2 a3 - agent 4 | l1 - heavybox 5 | r1 r2 - location 6 | ) 7 | (:init 8 | (at a1 r1) 9 | (at a2 r1) 10 | (at a3 r1) 11 | (at l1 r1) 12 | (connected r1 r2) 13 | (connected r2 r1) 14 | (handsempty a1) 15 | (handsempty a2) 16 | (handsempty a3) 17 | ) 18 | (:goal (and 19 | (at l1 r2) 20 | )) 21 | ) 22 | -------------------------------------------------------------------------------- /domains/maze/README.md: -------------------------------------------------------------------------------- 1 | # Maze Domain 2 | 3 | This domain is described in [[Crosby, Jonsson and Rovatsos, 2014]](#ref-crosby-ecai14). In this case, there are two different domains depending on the multiagent notation used: 4 | 5 | * `maze_dom_cal.pddl` for [[Kovacs, 2012]](#ref-kovacs) notation. 6 | * `maze_dom_cn.pddl` for [[Crosby, Jonsson and Rovatsos, 2014]](#ref-crosby-ecai14) notation. 7 | 8 | The problems in the `problems` folder can be related to any of the domains. Besides, inside this folder there is a folder called `generator` containing C++ code for creating new instances. You can compile it as follows: 9 | 10 | ``` 11 | g++ generate.cpp -o generate 12 | ``` 13 | 14 | The usage of the generator is the following: 15 | 16 | ``` 17 | generate 18 | ``` 19 | 20 | where: 21 | 22 | * `agents` is the number of agents. 23 | * `iter` is the number of instances for each combination of ``. 24 | * `lo` and `hi` are the minimum and maximum size of the grid respectively. The generator will create an instance for `lo` size. Then it will progressively increase this quantity by `step`, `2 * step`, `3 * step`, ... until reaching or surpassing `hi`. 25 | * `door`: percentage of opened doors in the maze. 26 | * `bridge`: percentage of bridges in the maze. 27 | * `boat`: percentage of boats in the maze. 28 | * `switch`: percentage of switches (with an associated locked door) in the maze. 29 | 30 | ## References 31 | 32 | * Kovacs, D. L. (2012). [_A Multi-Agent Extension of PDDL 3.1._](http://www.r3-cop.eu/wp-content/uploads/2013/01/A-Multy-Agent-Extension-of-PDDL3.1.pdf) In Proceedings of the 3rd Workshop on the International Planning Competition (IPC), 19–27. 33 | 34 | * Crosby, M., Jonsson, A., and Rovatsos, M. (2014). [_A Single-Agent Approach to Multiagent Planning_](https://doi.org/10.3233/978-1-61499-419-0-237). Proceedings of the 21st European Conference on Artificial Intelligence (ECAI-14), 237-242. 35 | 36 | -------------------------------------------------------------------------------- /domains/maze/domain/maze_dom_cn.pddl: -------------------------------------------------------------------------------- 1 | (define (domain maze) 2 | (:requirements :typing :concurrency-network :multi-agent) 3 | (:types agent location door bridge boat switch) 4 | (:predicates 5 | (at ?a - agent ?x - location) 6 | (has-switch ?s - switch ?x - location ?y - location ?z - location) 7 | (blocked ?x - location ?y - location) 8 | (has-door ?d - door ?x - location ?y - location) 9 | (has-boat ?b - boat ?x - location ?y - location) 10 | (has-bridge ?b - bridge ?x - location ?y - location) 11 | ) 12 | (:action move 13 | :agent ?a - agent 14 | :parameters (?d - door ?x - location ?y - location) 15 | :precondition (and 16 | (at ?a ?x) 17 | (not (blocked ?x ?y)) 18 | (has-door ?d ?x ?y) 19 | ) 20 | :effect (and 21 | (at ?a ?y) 22 | (not (at ?a ?x)) 23 | ) 24 | ) 25 | (:action row 26 | :agent ?a - agent 27 | :parameters (?b - boat ?x - location ?y - location) 28 | :precondition (and 29 | (at ?a ?x) 30 | (has-boat ?b ?x ?y) 31 | ) 32 | :effect (and 33 | (at ?a ?y) 34 | (not (at ?a ?x)) 35 | ) 36 | ) 37 | (:action cross 38 | :agent ?a - agent 39 | :parameters (?b - bridge ?x - location ?y - location) 40 | :precondition (and 41 | (at ?a ?x) 42 | (has-bridge ?b ?x ?y) 43 | ) 44 | :effect (and 45 | (at ?a ?y) 46 | (not (at ?a ?x)) 47 | (not (has-bridge ?b ?x ?y)) 48 | (not (has-bridge ?b ?y ?x)) 49 | ) 50 | ) 51 | (:action pushswitch 52 | :agent ?a - agent 53 | :parameters (?s - switch ?x - location ?y - location ?z - location) 54 | :precondition (and 55 | (at ?a ?x) 56 | (has-switch ?s ?x ?y ?z) 57 | ) 58 | :effect (and 59 | (not (blocked ?y ?z)) 60 | (not (blocked ?z ?y)) 61 | ) 62 | ) 63 | (:concurrency-constraint v1 64 | :parameters (?d - door) 65 | :bounds (1 1) 66 | :actions ( (move 1) ) 67 | ) 68 | (:concurrency-constraint v2 69 | :parameters (?b - boat ?x - location) 70 | :bounds (2 inf) 71 | :actions ( (row 1 2) ) 72 | ) 73 | (:concurrency-constraint v3 74 | :parameters (?b - bridge) 75 | :bounds (1 inf) 76 | :actions ( (cross 1) ) 77 | ) 78 | (:concurrency-constraint v4 79 | :parameters (?s - switch) 80 | :bounds (1 1) 81 | :actions ( (pushswitch 1) ) 82 | ) 83 | ) 84 | -------------------------------------------------------------------------------- /domains/maze/problems/pfile1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem maze1) (:domain maze) 2 | (:objects 3 | a1 a2 a3 - agent 4 | loc11 loc12 loc13 loc21 loc22 loc23 loc31 loc32 loc33 - location 5 | d1 d2 d3 d4 d5 d6 d7 - door 6 | b1 b2 - bridge 7 | bt1 bt2 - boat 8 | s1 s2 - switch 9 | ) 10 | (:init 11 | (at a1 loc11) 12 | (at a2 loc13) 13 | (at a3 loc32) 14 | 15 | (has-door d1 loc11 loc12) 16 | (has-door d1 loc12 loc11) 17 | (has-door d2 loc12 loc13) 18 | (has-door d2 loc13 loc12) 19 | (has-door d3 loc31 loc32) 20 | (has-door d3 loc32 loc31) 21 | (has-door d4 loc11 loc21) 22 | (has-door d4 loc21 loc11) 23 | (has-door d5 loc22 loc32) 24 | (has-door d5 loc32 loc22) 25 | (has-door d6 loc13 loc23) 26 | (has-door d6 loc23 loc13) 27 | (has-door d7 loc23 loc33) 28 | (has-door d7 loc33 loc23) 29 | 30 | (has-switch s1 loc33 loc13 loc12) 31 | (blocked loc13 loc12) 32 | (blocked loc12 loc13) 33 | (has-switch s2 loc21 loc22 loc32) 34 | (blocked loc22 loc32) 35 | (blocked loc32 loc22) 36 | 37 | (has-bridge b1 loc22 loc23) 38 | (has-bridge b1 loc23 loc22) 39 | (has-bridge b2 loc32 loc33) 40 | (has-bridge b2 loc33 loc32) 41 | 42 | (has-boat bt1 loc12 loc22) 43 | (has-boat bt1 loc22 loc12) 44 | (has-boat bt2 loc21 loc31) 45 | (has-boat bt2 loc31 loc21) 46 | ) 47 | (:goal 48 | (and 49 | (at a1 loc33) 50 | (at a2 loc31) 51 | (at a3 loc12) 52 | ) 53 | ) 54 | ) 55 | -------------------------------------------------------------------------------- /domains/maze/problems/pfile2.pddl: -------------------------------------------------------------------------------- 1 | (define (problem maze1) (:domain maze) 2 | (:objects 3 | a1 a2 a3 - agent 4 | loc11 loc12 loc13 loc21 loc22 loc23 loc31 loc32 loc33 - location 5 | d1 d2 d3 d4 d5 d6 d7 - door 6 | b1 b2 b3 - bridge 7 | bt1 bt2 - boat 8 | s1 s2 - switch 9 | ) 10 | (:init 11 | (at a1 loc11) 12 | (at a2 loc13) 13 | (at a3 loc32) 14 | 15 | (has-door d1 loc11 loc12) 16 | (has-door d1 loc12 loc11) 17 | (has-door d2 loc12 loc13) 18 | (has-door d2 loc13 loc12) 19 | (has-door d3 loc31 loc32) 20 | (has-door d3 loc32 loc31) 21 | (has-door d4 loc11 loc21) 22 | (has-door d4 loc21 loc11) 23 | (has-door d5 loc22 loc32) 24 | (has-door d5 loc32 loc22) 25 | ; (has-door d6 loc13 loc23) 26 | ; (has-door d6 loc23 loc13) 27 | (has-door d7 loc23 loc33) 28 | (has-door d7 loc33 loc23) 29 | 30 | (has-switch s1 loc33 loc13 loc12) 31 | (blocked loc13 loc12) 32 | (blocked loc12 loc13) 33 | (has-switch s2 loc21 loc22 loc32) 34 | (blocked loc22 loc32) 35 | (blocked loc32 loc22) 36 | 37 | (has-bridge b1 loc22 loc23) 38 | (has-bridge b1 loc23 loc22) 39 | (has-bridge b2 loc32 loc33) 40 | (has-bridge b2 loc33 loc32) 41 | (has-bridge b3 loc13 loc23) 42 | (has-bridge b3 loc23 loc13) 43 | 44 | (has-boat bt1 loc12 loc22) 45 | (has-boat bt1 loc22 loc12) 46 | (has-boat bt2 loc21 loc31) 47 | (has-boat bt2 loc31 loc21) 48 | ) 49 | (:goal 50 | (and 51 | (at a1 loc33) 52 | (at a2 loc31) 53 | (at a3 loc12) 54 | ) 55 | ) 56 | ) 57 | -------------------------------------------------------------------------------- /domains/maze/problems/pfile3.pddl: -------------------------------------------------------------------------------- 1 | (define (problem maze1) (:domain maze) 2 | (:objects 3 | a1 a2 - agent 4 | loc11 loc12 - location 5 | bt1 - boat 6 | ) 7 | (:init 8 | (at a1 loc11) 9 | (at a2 loc11) 10 | 11 | (has-boat bt1 loc11 loc12) 12 | (has-boat bt1 loc12 loc11) 13 | ) 14 | (:goal 15 | (and 16 | (at a1 loc12) 17 | (at a2 loc12) 18 | ) 19 | ) 20 | ) 21 | -------------------------------------------------------------------------------- /domains/multilog/Multilog_ins.pddl: -------------------------------------------------------------------------------- 1 | (define (problem logistics-4-0) 2 | (:domain logistics) 3 | (:objects 4 | pos1 - location 5 | apt2 - airport 6 | obj11 - package 7 | apt1 - airport 8 | obj22 - package 9 | obj21 - package 10 | obj23 - package 11 | obj13 - package 12 | obj12 - package 13 | 14 | (:private apn1 15 | apn1 - airplane 16 | ) 17 | 18 | (:private tru2 19 | tru2 - truck 20 | pos2 - location 21 | cit2 - city 22 | ) 23 | 24 | (:private tru1 25 | tru1 - truck 26 | cit1 - city 27 | ) 28 | ) 29 | (:init 30 | (at apn1 apt2) (at tru1 pos1) (at obj11 pos1) 31 | (at obj12 pos1) (at obj13 pos1) (at tru2 pos2) (at obj21 pos2) (at obj22 pos2) 32 | (at obj23 pos2) (in-city pos1 cit1) (in-city apt1 cit1) (in-city pos2 cit2) 33 | (in-city apt2 cit2)) 34 | (:goal (and (at obj11 apt1) (at obj23 pos1) (at obj13 apt1) (at obj21 pos1))) 35 | ) 36 | -------------------------------------------------------------------------------- /domains/tablemover/README.md: -------------------------------------------------------------------------------- 1 | # TableMover Domain 2 | 3 | This domain is described in [[Boutilier and Brafman, 2001]](#ref-boutilier). The `domain` folder contains a domain generator called `generate_domain.py`. The difference between two TableMover domains is given by the number of tables in the problem since tables are used as constants. The generator creates domains using [[Kovacs, 2012]](#ref-kovacs) notation, and it is used as follows: 4 | 5 | ``` 6 | python generate_domain.py 7 | ``` 8 | 9 | where `num-tables` is the number of tables in the domain, and `add-move-agent-action` indicates whether to add or not the action for moving agents between rooms (i.e. no need to be move the table to go from one room to another). 10 | 11 | In the same `domain` folder you can find TableMover domains ranging from 1 to 4 tables (`table_domain1.pddl`, ..., `table_domain4.pddl`). 12 | 13 | The `problems` folder also contains a generator inside the `generator` subfolder. The script is called `generate_instance.py` and it is used as follows: 14 | 15 | ``` 16 | python generate_instance.py 17 | ``` 18 | 19 | where: 20 | 21 | * `num_nodes` is the number of rooms. 22 | * `num_edges` is the number of links between rooms (they are randomly created). 23 | * `num_agents` is the number of agents. 24 | * `num_tables` is the number of tables. 25 | * `instance_number` is a number used to differentiate between two instances with the same number of nodes, edges, ... 26 | 27 | ## References 28 | 29 | * Boutilier, C. and Brafman, R. I. (2001). [_Partial-Order Planning with Concurrent Interacting Actions._](http://dx.doi.org/10.1613/jair.740) Journal of Artificial Intelligence Research (JAIR) 14, 105-136. 30 | 31 | * Kovacs, D. L. (2012). [_A Multi-Agent Extension of PDDL 3.1._](http://www.r3-cop.eu/wp-content/uploads/2013/01/A-Multy-Agent-Extension-of-PDDL3.1.pdf) In Proceedings of the 3rd Workshop on the International Planning Competition (IPC), 19–27. 32 | 33 | -------------------------------------------------------------------------------- /domains/tablemover/problems/table16_2_1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem table16_2_1_1) (:domain tablemover) 2 | (:objects 3 | a0 - agent 4 | a1 - agent 5 | b0 - block 6 | b1 - block 7 | r0 - room 8 | r1 - room 9 | r2 - room 10 | r3 - room 11 | r4 - room 12 | r5 - room 13 | r6 - room 14 | r7 - room 15 | r8 - room 16 | r9 - room 17 | r10 - room 18 | r11 - room 19 | r12 - room 20 | r13 - room 21 | r14 - room 22 | r15 - room 23 | left0 right0 - side0 24 | ) 25 | (:init 26 | (on-floor b0) 27 | (on-floor b1) 28 | (inroom b0 r4) 29 | (inroom b1 r6) 30 | (inroom a0 r0) 31 | (inroom a1 r0) 32 | (available a0) 33 | (available a1) 34 | (handempty a0) 35 | (handempty a1) 36 | (connected r14 r10) 37 | (connected r10 r14) 38 | (connected r10 r12) 39 | (connected r12 r10) 40 | (connected r12 r8) 41 | (connected r8 r12) 42 | (connected r8 r1) 43 | (connected r1 r8) 44 | (connected r1 r9) 45 | (connected r9 r1) 46 | (connected r9 r6) 47 | (connected r6 r9) 48 | (connected r6 r11) 49 | (connected r11 r6) 50 | (connected r10 r15) 51 | (connected r15 r10) 52 | (connected r15 r13) 53 | (connected r13 r15) 54 | (connected r6 r2) 55 | (connected r2 r6) 56 | (connected r2 r4) 57 | (connected r4 r2) 58 | (connected r6 r3) 59 | (connected r3 r6) 60 | (connected r3 r7) 61 | (connected r7 r3) 62 | (connected r8 r5) 63 | (connected r5 r8) 64 | (connected r13 r0) 65 | (connected r0 r13) 66 | (down left0) 67 | (down right0) 68 | (clear left0) 69 | (clear right0) 70 | (inroom Table0 r0) 71 | ) 72 | (:goal (and 73 | (down left0) 74 | (down right0) 75 | (on-floor b0) 76 | (on-floor b1) 77 | (inroom b0 r15) 78 | (inroom b1 r15) 79 | )) 80 | ) 81 | -------------------------------------------------------------------------------- /domains/tablemover/problems/table16_2_2.pddl: -------------------------------------------------------------------------------- 1 | (define (problem table16_2_2_1) (:domain tablemover) 2 | (:objects 3 | a0 - agent 4 | a1 - agent 5 | a2 - agent 6 | a3 - agent 7 | b0 - block 8 | b1 - block 9 | r0 - room 10 | r1 - room 11 | r2 - room 12 | r3 - room 13 | r4 - room 14 | r5 - room 15 | r6 - room 16 | r7 - room 17 | r8 - room 18 | r9 - room 19 | r10 - room 20 | r11 - room 21 | r12 - room 22 | r13 - room 23 | r14 - room 24 | r15 - room 25 | left0 right0 - side0 26 | left1 right1 - side1 27 | ) 28 | (:init 29 | (on-floor b0) 30 | (on-floor b1) 31 | (inroom b0 r2) 32 | (inroom b1 r6) 33 | (inroom a0 r7) 34 | (inroom a1 r7) 35 | (inroom a2 r4) 36 | (inroom a3 r4) 37 | (available a0) 38 | (available a1) 39 | (available a2) 40 | (available a3) 41 | (handempty a0) 42 | (handempty a1) 43 | (handempty a2) 44 | (handempty a3) 45 | (connected r7 r11) 46 | (connected r11 r7) 47 | (connected r7 r2) 48 | (connected r2 r7) 49 | (connected r2 r0) 50 | (connected r0 r2) 51 | (connected r7 r12) 52 | (connected r12 r7) 53 | (connected r2 r8) 54 | (connected r8 r2) 55 | (connected r8 r13) 56 | (connected r13 r8) 57 | (connected r13 r15) 58 | (connected r15 r13) 59 | (connected r7 r3) 60 | (connected r3 r7) 61 | (connected r3 r5) 62 | (connected r5 r3) 63 | (connected r15 r9) 64 | (connected r9 r15) 65 | (connected r9 r10) 66 | (connected r10 r9) 67 | (connected r13 r1) 68 | (connected r1 r13) 69 | (connected r2 r14) 70 | (connected r14 r2) 71 | (connected r14 r4) 72 | (connected r4 r14) 73 | (connected r4 r6) 74 | (connected r6 r4) 75 | (down left0) 76 | (down right0) 77 | (down left1) 78 | (down right1) 79 | (clear left0) 80 | (clear right0) 81 | (clear left1) 82 | (clear right1) 83 | (inroom Table0 r7) 84 | (inroom Table1 r4) 85 | ) 86 | (:goal (and 87 | (down left0) 88 | (down right0) 89 | (down left1) 90 | (down right1) 91 | (on-floor b0) 92 | (on-floor b1) 93 | (inroom b0 r13) 94 | (inroom b1 r13) 95 | )) 96 | ) 97 | -------------------------------------------------------------------------------- /domains/tablemover/problems/table16_4_1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem table16_4_1_1) (:domain tablemover) 2 | (:objects 3 | a0 - agent 4 | a1 - agent 5 | b0 - block 6 | b1 - block 7 | b2 - block 8 | b3 - block 9 | r0 - room 10 | r1 - room 11 | r2 - room 12 | r3 - room 13 | r4 - room 14 | r5 - room 15 | r6 - room 16 | r7 - room 17 | r8 - room 18 | r9 - room 19 | r10 - room 20 | r11 - room 21 | r12 - room 22 | r13 - room 23 | r14 - room 24 | r15 - room 25 | left0 right0 - side0 26 | ) 27 | (:init 28 | (on-floor b0) 29 | (on-floor b1) 30 | (on-floor b2) 31 | (on-floor b3) 32 | (inroom b0 r5) 33 | (inroom b1 r14) 34 | (inroom b2 r13) 35 | (inroom b3 r7) 36 | (inroom a0 r9) 37 | (inroom a1 r9) 38 | (available a0) 39 | (available a1) 40 | (handempty a0) 41 | (handempty a1) 42 | (connected r13 r12) 43 | (connected r12 r13) 44 | (connected r12 r6) 45 | (connected r6 r12) 46 | (connected r6 r0) 47 | (connected r0 r6) 48 | (connected r0 r11) 49 | (connected r11 r0) 50 | (connected r11 r8) 51 | (connected r8 r11) 52 | (connected r8 r4) 53 | (connected r4 r8) 54 | (connected r4 r7) 55 | (connected r7 r4) 56 | (connected r7 r2) 57 | (connected r2 r7) 58 | (connected r2 r3) 59 | (connected r3 r2) 60 | (connected r3 r9) 61 | (connected r9 r3) 62 | (connected r6 r5) 63 | (connected r5 r6) 64 | (connected r4 r10) 65 | (connected r10 r4) 66 | (connected r2 r1) 67 | (connected r1 r2) 68 | (connected r10 r15) 69 | (connected r15 r10) 70 | (connected r4 r14) 71 | (connected r14 r4) 72 | (down left0) 73 | (down right0) 74 | (clear left0) 75 | (clear right0) 76 | (inroom Table0 r9) 77 | ) 78 | (:goal (and 79 | (down left0) 80 | (down right0) 81 | (on-floor b0) 82 | (on-floor b1) 83 | (on-floor b2) 84 | (on-floor b3) 85 | (inroom b0 r14) 86 | (inroom b1 r14) 87 | (inroom b2 r14) 88 | (inroom b3 r14) 89 | )) 90 | ) 91 | -------------------------------------------------------------------------------- /domains/tablemover/problems/table16_4_2.pddl: -------------------------------------------------------------------------------- 1 | (define (problem table16_4_2_1) (:domain tablemover) 2 | (:objects 3 | a0 - agent 4 | a1 - agent 5 | a2 - agent 6 | a3 - agent 7 | b0 - block 8 | b1 - block 9 | b2 - block 10 | b3 - block 11 | r0 - room 12 | r1 - room 13 | r2 - room 14 | r3 - room 15 | r4 - room 16 | r5 - room 17 | r6 - room 18 | r7 - room 19 | r8 - room 20 | r9 - room 21 | r10 - room 22 | r11 - room 23 | r12 - room 24 | r13 - room 25 | r14 - room 26 | r15 - room 27 | left0 right0 - side0 28 | left1 right1 - side1 29 | ) 30 | (:init 31 | (on-floor b0) 32 | (on-floor b1) 33 | (on-floor b2) 34 | (on-floor b3) 35 | (inroom b0 r2) 36 | (inroom b1 r10) 37 | (inroom b2 r11) 38 | (inroom b3 r10) 39 | (inroom a0 r6) 40 | (inroom a1 r6) 41 | (inroom a2 r3) 42 | (inroom a3 r3) 43 | (available a0) 44 | (available a1) 45 | (available a2) 46 | (available a3) 47 | (handempty a0) 48 | (handempty a1) 49 | (handempty a2) 50 | (handempty a3) 51 | (connected r1 r0) 52 | (connected r0 r1) 53 | (connected r0 r8) 54 | (connected r8 r0) 55 | (connected r8 r3) 56 | (connected r3 r8) 57 | (connected r3 r13) 58 | (connected r13 r3) 59 | (connected r1 r6) 60 | (connected r6 r1) 61 | (connected r6 r10) 62 | (connected r10 r6) 63 | (connected r10 r7) 64 | (connected r7 r10) 65 | (connected r7 r2) 66 | (connected r2 r7) 67 | (connected r2 r12) 68 | (connected r12 r2) 69 | (connected r2 r4) 70 | (connected r4 r2) 71 | (connected r4 r15) 72 | (connected r15 r4) 73 | (connected r15 r14) 74 | (connected r14 r15) 75 | (connected r1 r5) 76 | (connected r5 r1) 77 | (connected r5 r9) 78 | (connected r9 r5) 79 | (connected r0 r11) 80 | (connected r11 r0) 81 | (down left0) 82 | (down right0) 83 | (down left1) 84 | (down right1) 85 | (clear left0) 86 | (clear right0) 87 | (clear left1) 88 | (clear right1) 89 | (inroom Table0 r6) 90 | (inroom Table1 r3) 91 | ) 92 | (:goal (and 93 | (down left0) 94 | (down right0) 95 | (down left1) 96 | (down right1) 97 | (on-floor b0) 98 | (on-floor b1) 99 | (on-floor b2) 100 | (on-floor b3) 101 | (inroom b0 r2) 102 | (inroom b1 r2) 103 | (inroom b2 r2) 104 | (inroom b3 r2) 105 | )) 106 | ) 107 | -------------------------------------------------------------------------------- /domains/tablemover/problems/table16_8_1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem table16_8_1_1) (:domain tablemover) 2 | (:objects 3 | a0 - agent 4 | a1 - agent 5 | b0 - block 6 | b1 - block 7 | b2 - block 8 | b3 - block 9 | b4 - block 10 | b5 - block 11 | b6 - block 12 | b7 - block 13 | r0 - room 14 | r1 - room 15 | r2 - room 16 | r3 - room 17 | r4 - room 18 | r5 - room 19 | r6 - room 20 | r7 - room 21 | r8 - room 22 | r9 - room 23 | r10 - room 24 | r11 - room 25 | r12 - room 26 | r13 - room 27 | r14 - room 28 | r15 - room 29 | left0 right0 - side0 30 | ) 31 | (:init 32 | (on-floor b0) 33 | (on-floor b1) 34 | (on-floor b2) 35 | (on-floor b3) 36 | (on-floor b4) 37 | (on-floor b5) 38 | (on-floor b6) 39 | (on-floor b7) 40 | (inroom b0 r12) 41 | (inroom b1 r3) 42 | (inroom b2 r8) 43 | (inroom b3 r1) 44 | (inroom b4 r4) 45 | (inroom b5 r6) 46 | (inroom b6 r8) 47 | (inroom b7 r9) 48 | (inroom a0 r15) 49 | (inroom a1 r15) 50 | (available a0) 51 | (available a1) 52 | (handempty a0) 53 | (handempty a1) 54 | (connected r13 r8) 55 | (connected r8 r13) 56 | (connected r8 r9) 57 | (connected r9 r8) 58 | (connected r9 r0) 59 | (connected r0 r9) 60 | (connected r0 r15) 61 | (connected r15 r0) 62 | (connected r15 r1) 63 | (connected r1 r15) 64 | (connected r0 r2) 65 | (connected r2 r0) 66 | (connected r13 r5) 67 | (connected r5 r13) 68 | (connected r5 r14) 69 | (connected r14 r5) 70 | (connected r5 r7) 71 | (connected r7 r5) 72 | (connected r7 r12) 73 | (connected r12 r7) 74 | (connected r15 r10) 75 | (connected r10 r15) 76 | (connected r10 r4) 77 | (connected r4 r10) 78 | (connected r2 r11) 79 | (connected r11 r2) 80 | (connected r9 r3) 81 | (connected r3 r9) 82 | (connected r10 r6) 83 | (connected r6 r10) 84 | (down left0) 85 | (down right0) 86 | (clear left0) 87 | (clear right0) 88 | (inroom Table0 r15) 89 | ) 90 | (:goal (and 91 | (down left0) 92 | (down right0) 93 | (on-floor b0) 94 | (on-floor b1) 95 | (on-floor b2) 96 | (on-floor b3) 97 | (on-floor b4) 98 | (on-floor b5) 99 | (on-floor b6) 100 | (on-floor b7) 101 | (inroom b0 r1) 102 | (inroom b1 r1) 103 | (inroom b2 r1) 104 | (inroom b3 r1) 105 | (inroom b4 r1) 106 | (inroom b5 r1) 107 | (inroom b6 r1) 108 | (inroom b7 r1) 109 | )) 110 | ) 111 | -------------------------------------------------------------------------------- /domains/tablemover/problems/table4_2_1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem table4_2_1_1) (:domain tablemover) 2 | (:objects 3 | a0 - agent 4 | a1 - agent 5 | b0 - block 6 | b1 - block 7 | r0 - room 8 | r1 - room 9 | r2 - room 10 | r3 - room 11 | left0 right0 - side0 12 | ) 13 | (:init 14 | (on-floor b0) 15 | (on-floor b1) 16 | (inroom b0 r1) 17 | (inroom b1 r2) 18 | (inroom a0 r2) 19 | (inroom a1 r2) 20 | (available a0) 21 | (available a1) 22 | (handempty a0) 23 | (handempty a1) 24 | (connected r0 r3) 25 | (connected r3 r0) 26 | (connected r3 r1) 27 | (connected r1 r3) 28 | (connected r0 r2) 29 | (connected r2 r0) 30 | (down left0) 31 | (down right0) 32 | (clear left0) 33 | (clear right0) 34 | (inroom Table0 r2) 35 | ) 36 | (:goal (and 37 | (down left0) 38 | (down right0) 39 | (on-floor b0) 40 | (on-floor b1) 41 | (inroom b0 r1) 42 | (inroom b1 r1) 43 | )) 44 | ) 45 | -------------------------------------------------------------------------------- /domains/tablemover/problems/table4_2_2.pddl: -------------------------------------------------------------------------------- 1 | (define (problem table4_2_2_1) (:domain tablemover) 2 | (:objects 3 | a0 - agent 4 | a1 - agent 5 | a2 - agent 6 | a3 - agent 7 | b0 - block 8 | b1 - block 9 | r0 - room 10 | r1 - room 11 | r2 - room 12 | r3 - room 13 | left0 right0 - side0 14 | left1 right1 - side1 15 | ) 16 | (:init 17 | (on-floor b0) 18 | (on-floor b1) 19 | (inroom b0 r0) 20 | (inroom b1 r2) 21 | (inroom a0 r3) 22 | (inroom a1 r3) 23 | (inroom a2 r3) 24 | (inroom a3 r3) 25 | (available a0) 26 | (available a1) 27 | (available a2) 28 | (available a3) 29 | (handempty a0) 30 | (handempty a1) 31 | (handempty a2) 32 | (handempty a3) 33 | (connected r0 r2) 34 | (connected r2 r0) 35 | (connected r2 r3) 36 | (connected r3 r2) 37 | (connected r2 r1) 38 | (connected r1 r2) 39 | (down left0) 40 | (down right0) 41 | (down left1) 42 | (down right1) 43 | (clear left0) 44 | (clear right0) 45 | (clear left1) 46 | (clear right1) 47 | (inroom Table0 r3) 48 | (inroom Table1 r3) 49 | ) 50 | (:goal (and 51 | (down left0) 52 | (down right0) 53 | (down left1) 54 | (down right1) 55 | (on-floor b0) 56 | (on-floor b1) 57 | (inroom b0 r3) 58 | (inroom b1 r3) 59 | )) 60 | ) 61 | -------------------------------------------------------------------------------- /domains/tablemover/problems/table4_4_1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem table4_4_1_1) (:domain tablemover) 2 | (:objects 3 | a0 - agent 4 | a1 - agent 5 | b0 - block 6 | b1 - block 7 | b2 - block 8 | b3 - block 9 | r0 - room 10 | r1 - room 11 | r2 - room 12 | r3 - room 13 | left0 right0 - side0 14 | ) 15 | (:init 16 | (on-floor b0) 17 | (on-floor b1) 18 | (on-floor b2) 19 | (on-floor b3) 20 | (inroom b0 r1) 21 | (inroom b1 r0) 22 | (inroom b2 r1) 23 | (inroom b3 r1) 24 | (inroom a0 r3) 25 | (inroom a1 r3) 26 | (available a0) 27 | (available a1) 28 | (handempty a0) 29 | (handempty a1) 30 | (connected r1 r2) 31 | (connected r2 r1) 32 | (connected r2 r0) 33 | (connected r0 r2) 34 | (connected r2 r3) 35 | (connected r3 r2) 36 | (down left0) 37 | (down right0) 38 | (clear left0) 39 | (clear right0) 40 | (inroom Table0 r3) 41 | ) 42 | (:goal (and 43 | (down left0) 44 | (down right0) 45 | (on-floor b0) 46 | (on-floor b1) 47 | (on-floor b2) 48 | (on-floor b3) 49 | (inroom b0 r1) 50 | (inroom b1 r1) 51 | (inroom b2 r1) 52 | (inroom b3 r1) 53 | )) 54 | ) 55 | -------------------------------------------------------------------------------- /domains/tablemover/problems/table4_4_2.pddl: -------------------------------------------------------------------------------- 1 | (define (problem table4_4_2_1) (:domain tablemover) 2 | (:objects 3 | a0 - agent 4 | a1 - agent 5 | a2 - agent 6 | a3 - agent 7 | b0 - block 8 | b1 - block 9 | b2 - block 10 | b3 - block 11 | r0 - room 12 | r1 - room 13 | r2 - room 14 | r3 - room 15 | left0 right0 - side0 16 | left1 right1 - side1 17 | ) 18 | (:init 19 | (on-floor b0) 20 | (on-floor b1) 21 | (on-floor b2) 22 | (on-floor b3) 23 | (inroom b0 r1) 24 | (inroom b1 r2) 25 | (inroom b2 r2) 26 | (inroom b3 r3) 27 | (inroom a0 r1) 28 | (inroom a1 r1) 29 | (inroom a2 r3) 30 | (inroom a3 r3) 31 | (available a0) 32 | (available a1) 33 | (available a2) 34 | (available a3) 35 | (handempty a0) 36 | (handempty a1) 37 | (handempty a2) 38 | (handempty a3) 39 | (connected r2 r1) 40 | (connected r1 r2) 41 | (connected r1 r3) 42 | (connected r3 r1) 43 | (connected r2 r0) 44 | (connected r0 r2) 45 | (down left0) 46 | (down right0) 47 | (down left1) 48 | (down right1) 49 | (clear left0) 50 | (clear right0) 51 | (clear left1) 52 | (clear right1) 53 | (inroom Table0 r1) 54 | (inroom Table1 r3) 55 | ) 56 | (:goal (and 57 | (down left0) 58 | (down right0) 59 | (down left1) 60 | (down right1) 61 | (on-floor b0) 62 | (on-floor b1) 63 | (on-floor b2) 64 | (on-floor b3) 65 | (inroom b0 r0) 66 | (inroom b1 r0) 67 | (inroom b2 r0) 68 | (inroom b3 r0) 69 | )) 70 | ) 71 | -------------------------------------------------------------------------------- /domains/tablemover/problems/table4_8_1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem table4_8_1_1) (:domain tablemover) 2 | (:objects 3 | a0 - agent 4 | a1 - agent 5 | b0 - block 6 | b1 - block 7 | b2 - block 8 | b3 - block 9 | b4 - block 10 | b5 - block 11 | b6 - block 12 | b7 - block 13 | r0 - room 14 | r1 - room 15 | r2 - room 16 | r3 - room 17 | left0 right0 - side0 18 | ) 19 | (:init 20 | (on-floor b0) 21 | (on-floor b1) 22 | (on-floor b2) 23 | (on-floor b3) 24 | (on-floor b4) 25 | (on-floor b5) 26 | (on-floor b6) 27 | (on-floor b7) 28 | (inroom b0 r0) 29 | (inroom b1 r0) 30 | (inroom b2 r3) 31 | (inroom b3 r0) 32 | (inroom b4 r2) 33 | (inroom b5 r3) 34 | (inroom b6 r0) 35 | (inroom b7 r3) 36 | (inroom a0 r3) 37 | (inroom a1 r3) 38 | (available a0) 39 | (available a1) 40 | (handempty a0) 41 | (handempty a1) 42 | (connected r3 r2) 43 | (connected r2 r3) 44 | (connected r2 r0) 45 | (connected r0 r2) 46 | (connected r0 r1) 47 | (connected r1 r0) 48 | (down left0) 49 | (down right0) 50 | (clear left0) 51 | (clear right0) 52 | (inroom Table0 r3) 53 | ) 54 | (:goal (and 55 | (down left0) 56 | (down right0) 57 | (on-floor b0) 58 | (on-floor b1) 59 | (on-floor b2) 60 | (on-floor b3) 61 | (on-floor b4) 62 | (on-floor b5) 63 | (on-floor b6) 64 | (on-floor b7) 65 | (inroom b0 r0) 66 | (inroom b1 r0) 67 | (inroom b2 r0) 68 | (inroom b3 r0) 69 | (inroom b4 r0) 70 | (inroom b5 r0) 71 | (inroom b6 r0) 72 | (inroom b7 r0) 73 | )) 74 | ) 75 | -------------------------------------------------------------------------------- /domains/tablemover/problems/table4_8_2.pddl: -------------------------------------------------------------------------------- 1 | (define (problem table4_8_2_1) (:domain tablemover) 2 | (:objects 3 | a0 - agent 4 | a1 - agent 5 | a2 - agent 6 | a3 - agent 7 | b0 - block 8 | b1 - block 9 | b2 - block 10 | b3 - block 11 | b4 - block 12 | b5 - block 13 | b6 - block 14 | b7 - block 15 | r0 - room 16 | r1 - room 17 | r2 - room 18 | r3 - room 19 | left0 right0 - side0 20 | left1 right1 - side1 21 | ) 22 | (:init 23 | (on-floor b0) 24 | (on-floor b1) 25 | (on-floor b2) 26 | (on-floor b3) 27 | (on-floor b4) 28 | (on-floor b5) 29 | (on-floor b6) 30 | (on-floor b7) 31 | (inroom b0 r2) 32 | (inroom b1 r3) 33 | (inroom b2 r2) 34 | (inroom b3 r1) 35 | (inroom b4 r3) 36 | (inroom b5 r3) 37 | (inroom b6 r2) 38 | (inroom b7 r2) 39 | (inroom a0 r1) 40 | (inroom a1 r1) 41 | (inroom a2 r2) 42 | (inroom a3 r2) 43 | (available a0) 44 | (available a1) 45 | (available a2) 46 | (available a3) 47 | (handempty a0) 48 | (handempty a1) 49 | (handempty a2) 50 | (handempty a3) 51 | (connected r1 r0) 52 | (connected r0 r1) 53 | (connected r0 r3) 54 | (connected r3 r0) 55 | (connected r0 r2) 56 | (connected r2 r0) 57 | (down left0) 58 | (down right0) 59 | (down left1) 60 | (down right1) 61 | (clear left0) 62 | (clear right0) 63 | (clear left1) 64 | (clear right1) 65 | (inroom Table0 r1) 66 | (inroom Table1 r2) 67 | ) 68 | (:goal (and 69 | (down left0) 70 | (down right0) 71 | (down left1) 72 | (down right1) 73 | (on-floor b0) 74 | (on-floor b1) 75 | (on-floor b2) 76 | (on-floor b3) 77 | (on-floor b4) 78 | (on-floor b5) 79 | (on-floor b6) 80 | (on-floor b7) 81 | (inroom b0 r1) 82 | (inroom b1 r1) 83 | (inroom b2 r1) 84 | (inroom b3 r1) 85 | (inroom b4 r1) 86 | (inroom b5 r1) 87 | (inroom b6 r1) 88 | (inroom b7 r1) 89 | )) 90 | ) 91 | -------------------------------------------------------------------------------- /domains/tablemover/problems/table8_2_1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem table8_2_1_1) (:domain tablemover) 2 | (:objects 3 | a0 - agent 4 | a1 - agent 5 | b0 - block 6 | b1 - block 7 | r0 - room 8 | r1 - room 9 | r2 - room 10 | r3 - room 11 | r4 - room 12 | r5 - room 13 | r6 - room 14 | r7 - room 15 | left0 right0 - side0 16 | ) 17 | (:init 18 | (on-floor b0) 19 | (on-floor b1) 20 | (inroom b0 r4) 21 | (inroom b1 r0) 22 | (inroom a0 r4) 23 | (inroom a1 r4) 24 | (available a0) 25 | (available a1) 26 | (handempty a0) 27 | (handempty a1) 28 | (connected r3 r6) 29 | (connected r6 r3) 30 | (connected r6 r1) 31 | (connected r1 r6) 32 | (connected r1 r0) 33 | (connected r0 r1) 34 | (connected r0 r2) 35 | (connected r2 r0) 36 | (connected r2 r7) 37 | (connected r7 r2) 38 | (connected r7 r5) 39 | (connected r5 r7) 40 | (connected r7 r4) 41 | (connected r4 r7) 42 | (down left0) 43 | (down right0) 44 | (clear left0) 45 | (clear right0) 46 | (inroom Table0 r4) 47 | ) 48 | (:goal (and 49 | (down left0) 50 | (down right0) 51 | (on-floor b0) 52 | (on-floor b1) 53 | (inroom b0 r1) 54 | (inroom b1 r1) 55 | )) 56 | ) 57 | -------------------------------------------------------------------------------- /domains/tablemover/problems/table8_2_2.pddl: -------------------------------------------------------------------------------- 1 | (define (problem table8_2_2_1) (:domain tablemover) 2 | (:objects 3 | a0 - agent 4 | a1 - agent 5 | a2 - agent 6 | a3 - agent 7 | b0 - block 8 | b1 - block 9 | r0 - room 10 | r1 - room 11 | r2 - room 12 | r3 - room 13 | r4 - room 14 | r5 - room 15 | r6 - room 16 | r7 - room 17 | left0 right0 - side0 18 | left1 right1 - side1 19 | ) 20 | (:init 21 | (on-floor b0) 22 | (on-floor b1) 23 | (inroom b0 r1) 24 | (inroom b1 r4) 25 | (inroom a0 r7) 26 | (inroom a1 r7) 27 | (inroom a2 r2) 28 | (inroom a3 r2) 29 | (available a0) 30 | (available a1) 31 | (available a2) 32 | (available a3) 33 | (handempty a0) 34 | (handempty a1) 35 | (handempty a2) 36 | (handempty a3) 37 | (connected r0 r7) 38 | (connected r7 r0) 39 | (connected r7 r4) 40 | (connected r4 r7) 41 | (connected r4 r3) 42 | (connected r3 r4) 43 | (connected r4 r5) 44 | (connected r5 r4) 45 | (connected r5 r6) 46 | (connected r6 r5) 47 | (connected r0 r2) 48 | (connected r2 r0) 49 | (connected r4 r1) 50 | (connected r1 r4) 51 | (down left0) 52 | (down right0) 53 | (down left1) 54 | (down right1) 55 | (clear left0) 56 | (clear right0) 57 | (clear left1) 58 | (clear right1) 59 | (inroom Table0 r7) 60 | (inroom Table1 r2) 61 | ) 62 | (:goal (and 63 | (down left0) 64 | (down right0) 65 | (down left1) 66 | (down right1) 67 | (on-floor b0) 68 | (on-floor b1) 69 | (inroom b0 r3) 70 | (inroom b1 r3) 71 | )) 72 | ) 73 | -------------------------------------------------------------------------------- /domains/tablemover/problems/table8_4_1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem table8_4_1_1) (:domain tablemover) 2 | (:objects 3 | a0 - agent 4 | a1 - agent 5 | b0 - block 6 | b1 - block 7 | b2 - block 8 | b3 - block 9 | r0 - room 10 | r1 - room 11 | r2 - room 12 | r3 - room 13 | r4 - room 14 | r5 - room 15 | r6 - room 16 | r7 - room 17 | left0 right0 - side0 18 | ) 19 | (:init 20 | (on-floor b0) 21 | (on-floor b1) 22 | (on-floor b2) 23 | (on-floor b3) 24 | (inroom b0 r3) 25 | (inroom b1 r0) 26 | (inroom b2 r4) 27 | (inroom b3 r2) 28 | (inroom a0 r0) 29 | (inroom a1 r0) 30 | (available a0) 31 | (available a1) 32 | (handempty a0) 33 | (handempty a1) 34 | (connected r0 r2) 35 | (connected r2 r0) 36 | (connected r2 r4) 37 | (connected r4 r2) 38 | (connected r0 r6) 39 | (connected r6 r0) 40 | (connected r6 r1) 41 | (connected r1 r6) 42 | (connected r1 r7) 43 | (connected r7 r1) 44 | (connected r7 r3) 45 | (connected r3 r7) 46 | (connected r3 r5) 47 | (connected r5 r3) 48 | (down left0) 49 | (down right0) 50 | (clear left0) 51 | (clear right0) 52 | (inroom Table0 r0) 53 | ) 54 | (:goal (and 55 | (down left0) 56 | (down right0) 57 | (on-floor b0) 58 | (on-floor b1) 59 | (on-floor b2) 60 | (on-floor b3) 61 | (inroom b0 r3) 62 | (inroom b1 r3) 63 | (inroom b2 r3) 64 | (inroom b3 r3) 65 | )) 66 | ) 67 | -------------------------------------------------------------------------------- /domains/tablemover/problems/table8_4_2.pddl: -------------------------------------------------------------------------------- 1 | (define (problem table8_4_2_1) (:domain tablemover) 2 | (:objects 3 | a0 - agent 4 | a1 - agent 5 | a2 - agent 6 | a3 - agent 7 | b0 - block 8 | b1 - block 9 | b2 - block 10 | b3 - block 11 | r0 - room 12 | r1 - room 13 | r2 - room 14 | r3 - room 15 | r4 - room 16 | r5 - room 17 | r6 - room 18 | r7 - room 19 | left0 right0 - side0 20 | left1 right1 - side1 21 | ) 22 | (:init 23 | (on-floor b0) 24 | (on-floor b1) 25 | (on-floor b2) 26 | (on-floor b3) 27 | (inroom b0 r5) 28 | (inroom b1 r1) 29 | (inroom b2 r5) 30 | (inroom b3 r3) 31 | (inroom a0 r7) 32 | (inroom a1 r7) 33 | (inroom a2 r4) 34 | (inroom a3 r4) 35 | (available a0) 36 | (available a1) 37 | (available a2) 38 | (available a3) 39 | (handempty a0) 40 | (handempty a1) 41 | (handempty a2) 42 | (handempty a3) 43 | (connected r6 r1) 44 | (connected r1 r6) 45 | (connected r6 r2) 46 | (connected r2 r6) 47 | (connected r2 r7) 48 | (connected r7 r2) 49 | (connected r6 r0) 50 | (connected r0 r6) 51 | (connected r0 r4) 52 | (connected r4 r0) 53 | (connected r4 r5) 54 | (connected r5 r4) 55 | (connected r7 r3) 56 | (connected r3 r7) 57 | (down left0) 58 | (down right0) 59 | (down left1) 60 | (down right1) 61 | (clear left0) 62 | (clear right0) 63 | (clear left1) 64 | (clear right1) 65 | (inroom Table0 r7) 66 | (inroom Table1 r4) 67 | ) 68 | (:goal (and 69 | (down left0) 70 | (down right0) 71 | (down left1) 72 | (down right1) 73 | (on-floor b0) 74 | (on-floor b1) 75 | (on-floor b2) 76 | (on-floor b3) 77 | (inroom b0 r5) 78 | (inroom b1 r5) 79 | (inroom b2 r5) 80 | (inroom b3 r5) 81 | )) 82 | ) 83 | -------------------------------------------------------------------------------- /domains/tablemover/problems/table8_8_1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem table8_8_1_1) (:domain tablemover) 2 | (:objects 3 | a0 - agent 4 | a1 - agent 5 | b0 - block 6 | b1 - block 7 | b2 - block 8 | b3 - block 9 | b4 - block 10 | b5 - block 11 | b6 - block 12 | b7 - block 13 | r0 - room 14 | r1 - room 15 | r2 - room 16 | r3 - room 17 | r4 - room 18 | r5 - room 19 | r6 - room 20 | r7 - room 21 | left0 right0 - side0 22 | ) 23 | (:init 24 | (on-floor b0) 25 | (on-floor b1) 26 | (on-floor b2) 27 | (on-floor b3) 28 | (on-floor b4) 29 | (on-floor b5) 30 | (on-floor b6) 31 | (on-floor b7) 32 | (inroom b0 r1) 33 | (inroom b1 r3) 34 | (inroom b2 r6) 35 | (inroom b3 r7) 36 | (inroom b4 r7) 37 | (inroom b5 r7) 38 | (inroom b6 r6) 39 | (inroom b7 r1) 40 | (inroom a0 r5) 41 | (inroom a1 r5) 42 | (available a0) 43 | (available a1) 44 | (handempty a0) 45 | (handempty a1) 46 | (connected r7 r6) 47 | (connected r6 r7) 48 | (connected r6 r1) 49 | (connected r1 r6) 50 | (connected r1 r3) 51 | (connected r3 r1) 52 | (connected r7 r5) 53 | (connected r5 r7) 54 | (connected r5 r0) 55 | (connected r0 r5) 56 | (connected r0 r2) 57 | (connected r2 r0) 58 | (connected r5 r4) 59 | (connected r4 r5) 60 | (down left0) 61 | (down right0) 62 | (clear left0) 63 | (clear right0) 64 | (inroom Table0 r5) 65 | ) 66 | (:goal (and 67 | (down left0) 68 | (down right0) 69 | (on-floor b0) 70 | (on-floor b1) 71 | (on-floor b2) 72 | (on-floor b3) 73 | (on-floor b4) 74 | (on-floor b5) 75 | (on-floor b6) 76 | (on-floor b7) 77 | (inroom b0 r0) 78 | (inroom b1 r0) 79 | (inroom b2 r0) 80 | (inroom b3 r0) 81 | (inroom b4 r0) 82 | (inroom b5 r0) 83 | (inroom b6 r0) 84 | (inroom b7 r0) 85 | )) 86 | ) 87 | -------------------------------------------------------------------------------- /domains/tablemover/problems/table8_8_2.pddl: -------------------------------------------------------------------------------- 1 | (define (problem table8_8_2_1) (:domain tablemover) 2 | (:objects 3 | a0 - agent 4 | a1 - agent 5 | a2 - agent 6 | a3 - agent 7 | b0 - block 8 | b1 - block 9 | b2 - block 10 | b3 - block 11 | b4 - block 12 | b5 - block 13 | b6 - block 14 | b7 - block 15 | r0 - room 16 | r1 - room 17 | r2 - room 18 | r3 - room 19 | r4 - room 20 | r5 - room 21 | r6 - room 22 | r7 - room 23 | left0 right0 - side0 24 | left1 right1 - side1 25 | ) 26 | (:init 27 | (on-floor b0) 28 | (on-floor b1) 29 | (on-floor b2) 30 | (on-floor b3) 31 | (on-floor b4) 32 | (on-floor b5) 33 | (on-floor b6) 34 | (on-floor b7) 35 | (inroom b0 r1) 36 | (inroom b1 r7) 37 | (inroom b2 r0) 38 | (inroom b3 r0) 39 | (inroom b4 r3) 40 | (inroom b5 r2) 41 | (inroom b6 r4) 42 | (inroom b7 r2) 43 | (inroom a0 r3) 44 | (inroom a1 r3) 45 | (inroom a2 r3) 46 | (inroom a3 r3) 47 | (available a0) 48 | (available a1) 49 | (available a2) 50 | (available a3) 51 | (handempty a0) 52 | (handempty a1) 53 | (handempty a2) 54 | (handempty a3) 55 | (connected r6 r5) 56 | (connected r5 r6) 57 | (connected r6 r2) 58 | (connected r2 r6) 59 | (connected r2 r7) 60 | (connected r7 r2) 61 | (connected r5 r1) 62 | (connected r1 r5) 63 | (connected r6 r4) 64 | (connected r4 r6) 65 | (connected r4 r3) 66 | (connected r3 r4) 67 | (connected r4 r0) 68 | (connected r0 r4) 69 | (down left0) 70 | (down right0) 71 | (down left1) 72 | (down right1) 73 | (clear left0) 74 | (clear right0) 75 | (clear left1) 76 | (clear right1) 77 | (inroom Table0 r3) 78 | (inroom Table1 r3) 79 | ) 80 | (:goal (and 81 | (down left0) 82 | (down right0) 83 | (down left1) 84 | (down right1) 85 | (on-floor b0) 86 | (on-floor b1) 87 | (on-floor b2) 88 | (on-floor b3) 89 | (on-floor b4) 90 | (on-floor b5) 91 | (on-floor b6) 92 | (on-floor b7) 93 | (inroom b0 r4) 94 | (inroom b1 r4) 95 | (inroom b2 r4) 96 | (inroom b3 r4) 97 | (inroom b4 r4) 98 | (inroom b5 r4) 99 | (inroom b6 r4) 100 | (inroom b7 r4) 101 | )) 102 | ) 103 | -------------------------------------------------------------------------------- /domains/traincoupling/domain/traincoupling_dom_cal.pddl: -------------------------------------------------------------------------------- 1 | (define (domain traincoupling) 2 | (:requirements :typing :conditional-effects :multi-agent) 3 | (:types locomotive wagon - agent 4 | agent track yard) 5 | (:predicates 6 | (at-yard ?a - agent ?y - yard) 7 | (attached ?l - locomotive ?w - wagon) 8 | (unattached ?w - wagon) 9 | (has-track ?t - track ?y1 ?y2 - yard) 10 | ) 11 | (:action move-locomotive 12 | :agent ?l - locomotive 13 | :parameters (?t - track ?y1 ?y2 - yard) 14 | :precondition (and 15 | (at-yard ?l ?y1) 16 | (has-track ?t ?y1 ?y2) 17 | (forall (?w - wagon) 18 | (and 19 | (not (attach ?w ?l ?y1)) 20 | (not (detach ?w ?l ?y1)) 21 | ) 22 | ) 23 | (forall (?l2 - locomotive) 24 | (and 25 | (not (move-locomotive ?l2 ?t ?y1 ?y2)) 26 | (not (move-locomotive ?l2 ?t ?y2 ?y1)) 27 | ) 28 | ) 29 | ) 30 | :effect (and 31 | (not (at-yard ?l ?y1)) 32 | (at-yard ?l ?y2) 33 | (forall (?w - wagon) 34 | (when (attached ?l ?w) 35 | (and (not (at-yard ?w ?y1)) (at-yard ?w ?y2)) 36 | ) 37 | ) 38 | ) 39 | ) 40 | (:action attach 41 | :agent ?w - wagon 42 | :parameters (?l - locomotive ?y - yard) 43 | :precondition (and 44 | (at-yard ?l ?y) 45 | (at-yard ?w ?y) 46 | (unattached ?w) 47 | ) 48 | :effect (and 49 | (attached ?l ?w) 50 | (not (unattached ?w)) 51 | ) 52 | ) 53 | (:action detach 54 | :agent ?w - wagon 55 | :parameters (?l - locomotive ?y - yard) 56 | :precondition (and 57 | (at-yard ?l ?y) 58 | (attached ?l ?w) 59 | ) 60 | :effect (and 61 | (not (attached ?l ?w)) 62 | (unattached ?w) 63 | ) 64 | ) 65 | ) 66 | -------------------------------------------------------------------------------- /domains/traincoupling/domain/traincoupling_dom_cn.pddl: -------------------------------------------------------------------------------- 1 | (define (domain traincoupling) 2 | (:requirements :typing :conditional-effects :concurrency-network :multi-agent) 3 | (:types locomotive wagon - agent 4 | agent track yard) 5 | (:predicates 6 | (at-yard ?a - agent ?y - yard) 7 | (attached ?l - locomotive ?w - wagon) 8 | (unattached ?w - wagon) 9 | (has-track ?t - track ?y1 ?y2 - yard) 10 | ) 11 | (:action move-locomotive 12 | :agent ?l - locomotive 13 | :parameters (?t - track ?y1 ?y2 - yard) 14 | :precondition (and 15 | (at-yard ?l ?y1) 16 | (has-track ?t ?y1 ?y2) 17 | ) 18 | :effect (and 19 | (not (at-yard ?l ?y1)) 20 | (at-yard ?l ?y2) 21 | (forall (?w - wagon) 22 | (when (attached ?l ?w) 23 | (and (not (at-yard ?w ?y1)) (at-yard ?w ?y2)) 24 | ) 25 | ) 26 | ) 27 | ) 28 | (:action attach 29 | :agent ?w - wagon 30 | :parameters (?l - locomotive ?y - yard) 31 | :precondition (and 32 | (at-yard ?l ?y) 33 | (at-yard ?w ?y) 34 | (unattached ?w) 35 | ) 36 | :effect (and 37 | (attached ?l ?w) 38 | (not (unattached ?w)) 39 | ) 40 | ) 41 | (:action detach 42 | :agent ?w - wagon 43 | :parameters (?l - locomotive ?y - yard) 44 | :precondition (and 45 | (at-yard ?l ?y) 46 | (attached ?l ?w) 47 | ) 48 | :effect (and 49 | (not (attached ?l ?w)) 50 | (unattached ?w) 51 | ) 52 | ) 53 | (:concurrency-constraint v1 54 | :parameters (?l - locomotive) 55 | :bounds (1 1) 56 | :actions ( (move-locomotive 0) ) 57 | ) 58 | (:concurrency-constraint v2 59 | :parameters (?l - locomotive) 60 | :bounds (1 inf) 61 | :actions ( (attach 1) (detach 1) ) 62 | ) 63 | ) 64 | -------------------------------------------------------------------------------- /domains/traincoupling/problems/train1_1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem train1_1) (:domain traincoupling) 2 | (:objects 3 | l1 - locomotive 4 | t1 - track 5 | w1 w2 - wagon 6 | y1 y2 - yard 7 | ) 8 | (:init 9 | (at-yard l1 y1) 10 | (at-yard w1 y1) 11 | (at-yard w2 y1) 12 | (unattached w1) 13 | (unattached w2) 14 | (has-track t1 y1 y2) 15 | ) 16 | (:goal (and 17 | (at-yard w1 y2) 18 | (at-yard w2 y2) 19 | (unattached w1) 20 | (unattached w2) 21 | )) 22 | ) 23 | -------------------------------------------------------------------------------- /domains/workshop/README.md: -------------------------------------------------------------------------------- 1 | # Workshop Domain 2 | 3 | This domain is described in [[Furelos-Blanco, 2017]](#ref-furelos-mthesis). As in the case of the [Maze](../maze) domain, there are two different domains depending on the multiagent notation used: 4 | 5 | * `workshop_dom_cal.pddl` for [[Kovacs, 2012]](#ref-kovacs) notation. 6 | * `workshop_dom_cn.pddl` for [[Crosby, Jonsson and Rovatsos, 2014]](#ref-crosby-ecai14) notation. 7 | 8 | The problems in the `problems` folder can be related to any of the domains. Besides, inside this folder there is a folder called `generator` containing a Python script for creating new instances. The generated instances have the following features: 9 | 10 | * There are connected buildings forming a tree. Buildings are linked by locked security doors. 11 | * Each bulding has a number of rooms which are connected via unlocked doors, forming a tree. 12 | * In each building there is a switch and a key for each of the security doors it is connected to. The key and the switch are randomly placed in one of its rooms. 13 | * Pallets and forklifts are randomly placed in rooms. 14 | * Two agents are placed in the same room as a forklift. 15 | 16 | You can use the generator as follows: 17 | 18 | ``` 19 | python generate_instance.py 20 | ``` 21 | 22 | ## References 23 | 24 | * Kovacs, D. L. (2012). [_A Multi-Agent Extension of PDDL 3.1._](http://www.r3-cop.eu/wp-content/uploads/2013/01/A-Multy-Agent-Extension-of-PDDL3.1.pdf) In Proceedings of the 3rd Workshop on the International Planning Competition (IPC), 19–27. 25 | 26 | * Crosby, M., Jonsson, A., and Rovatsos, M. (2014). [_A Single-Agent Approach to Multiagent Planning_](https://doi.org/10.3233/978-1-61499-419-0-237). Proceedings of the 21st European Conference on Artificial Intelligence (ECAI-14), 237-242. 27 | 28 | * Furelos-Blanco, D. (2017). [_Resolution of Concurrent Planning Problems using Classical Planning_](http://hdl.handle.net/10230/33107). Master Thesis. 29 | -------------------------------------------------------------------------------- /domains/workshop/problems/workshop1_1.pddl: -------------------------------------------------------------------------------- 1 | (define (problem workshop1_1) (:domain workshop) 2 | (:objects 3 | a1 a2 - agent 4 | f1 - forklift 5 | k1 - key 6 | p1 - pallet 7 | s1 - switch 8 | r1x1 r1x2 - room 9 | d1 - door 10 | ) 11 | (:init 12 | (inroom a1 r1x1) 13 | (inroom a2 r1x1) 14 | (inroom f1 r1x1) 15 | (inroom k1 r1x1) 16 | (inroom p1 r1x2) 17 | (inroom s1 r1x1) 18 | (empty f1) 19 | (locked d1) 20 | (fits k1 d1) 21 | (connected s1 d1) 22 | (adjacent r1x1 r1x2 d1) 23 | ) 24 | (:goal (and 25 | (examined p1) 26 | )) 27 | ) 28 | -------------------------------------------------------------------------------- /domains/workshop/problems/workshop2_2_2_4.pddl: -------------------------------------------------------------------------------- 1 | (define (problem workshop2_2_2_4_1) (:domain workshop) 2 | (:objects 3 | r0n0 - room 4 | r0n1 - room 5 | r0n2 - room 6 | r0n3 - room 7 | r1n0 - room 8 | r1n1 - room 9 | r1n2 - room 10 | r1n3 - room 11 | d0 - door 12 | d1 - door 13 | d2 - door 14 | d3 - door 15 | d4 - door 16 | d5 - door 17 | d6 - door 18 | p0 - pallet 19 | p1 - pallet 20 | a0 - agent 21 | a1 - agent 22 | f0 - forklift 23 | k0 - key 24 | k1 - key 25 | s0 - switch 26 | s1 - switch 27 | ) 28 | (:init 29 | (adjacent r0n3 r0n0 d0) 30 | (adjacent r0n0 r0n3 d0) 31 | (adjacent r0n0 r0n1 d1) 32 | (adjacent r0n1 r0n0 d1) 33 | (adjacent r0n1 r0n2 d2) 34 | (adjacent r0n2 r0n1 d2) 35 | (adjacent r1n0 r1n3 d3) 36 | (adjacent r1n3 r1n0 d3) 37 | (adjacent r1n0 r1n1 d4) 38 | (adjacent r1n1 r1n0 d4) 39 | (adjacent r1n0 r1n2 d5) 40 | (adjacent r1n2 r1n0 d5) 41 | (adjacent r0n2 r1n0 d6) 42 | (adjacent r1n0 r0n2 d6) 43 | (unlocked d0) 44 | (unlocked d1) 45 | (unlocked d2) 46 | (unlocked d3) 47 | (unlocked d4) 48 | (unlocked d5) 49 | (locked d6) 50 | (inroom p0 r1n0) 51 | (inroom p1 r1n2) 52 | (inroom a0 r1n3) 53 | (inroom a1 r1n1) 54 | (inroom f0 r1n3) 55 | (inroom k0 r0n2) 56 | (inroom k1 r1n3) 57 | (inroom s0 r0n2) 58 | (inroom s1 r1n2) 59 | (empty f0) 60 | (connected s0 d6) 61 | (connected s1 d6) 62 | (fits k0 d6) 63 | (fits k1 d6) 64 | ) 65 | (:goal (and 66 | (examined p0) 67 | (examined p1) 68 | )) 69 | ) 70 | 71 | -------------------------------------------------------------------------------- /domains/workshop/problems/workshop2_4_2_4.pddl: -------------------------------------------------------------------------------- 1 | (define (problem workshop2_4_2_4_1) (:domain workshop) 2 | (:objects 3 | r0n0 - room 4 | r0n1 - room 5 | r0n2 - room 6 | r0n3 - room 7 | r1n0 - room 8 | r1n1 - room 9 | r1n2 - room 10 | r1n3 - room 11 | d0 - door 12 | d1 - door 13 | d2 - door 14 | d3 - door 15 | d4 - door 16 | d5 - door 17 | d6 - door 18 | p0 - pallet 19 | p1 - pallet 20 | p2 - pallet 21 | p3 - pallet 22 | a0 - agent 23 | a1 - agent 24 | f0 - forklift 25 | k0 - key 26 | k1 - key 27 | s0 - switch 28 | s1 - switch 29 | ) 30 | (:init 31 | (adjacent r0n1 r0n2 d0) 32 | (adjacent r0n2 r0n1 d0) 33 | (adjacent r0n2 r0n0 d1) 34 | (adjacent r0n0 r0n2 d1) 35 | (adjacent r0n0 r0n3 d2) 36 | (adjacent r0n3 r0n0 d2) 37 | (adjacent r1n2 r1n0 d3) 38 | (adjacent r1n0 r1n2 d3) 39 | (adjacent r1n0 r1n1 d4) 40 | (adjacent r1n1 r1n0 d4) 41 | (adjacent r1n1 r1n3 d5) 42 | (adjacent r1n3 r1n1 d5) 43 | (adjacent r0n1 r1n3 d6) 44 | (adjacent r1n3 r0n1 d6) 45 | (unlocked d0) 46 | (unlocked d1) 47 | (unlocked d2) 48 | (unlocked d3) 49 | (unlocked d4) 50 | (unlocked d5) 51 | (locked d6) 52 | (inroom p0 r1n1) 53 | (inroom p1 r0n2) 54 | (inroom p2 r0n1) 55 | (inroom p3 r1n1) 56 | (inroom a0 r0n3) 57 | (inroom a1 r0n0) 58 | (inroom f0 r0n1) 59 | (inroom k0 r0n3) 60 | (inroom k1 r1n2) 61 | (inroom s0 r0n2) 62 | (inroom s1 r1n3) 63 | (empty f0) 64 | (connected s0 d6) 65 | (connected s1 d6) 66 | (fits k0 d6) 67 | (fits k1 d6) 68 | ) 69 | (:goal (and 70 | (examined p0) 71 | (examined p1) 72 | (examined p2) 73 | (examined p3) 74 | )) 75 | ) 76 | 77 | -------------------------------------------------------------------------------- /domains/workshop/problems/workshop2_8_2_4.pddl: -------------------------------------------------------------------------------- 1 | (define (problem workshop2_8_2_4_1) (:domain workshop) 2 | (:objects 3 | r0n0 - room 4 | r0n1 - room 5 | r0n2 - room 6 | r0n3 - room 7 | r1n0 - room 8 | r1n1 - room 9 | r1n2 - room 10 | r1n3 - room 11 | d0 - door 12 | d1 - door 13 | d2 - door 14 | d3 - door 15 | d4 - door 16 | d5 - door 17 | d6 - door 18 | p0 - pallet 19 | p1 - pallet 20 | p2 - pallet 21 | p3 - pallet 22 | p4 - pallet 23 | p5 - pallet 24 | p6 - pallet 25 | p7 - pallet 26 | a0 - agent 27 | a1 - agent 28 | f0 - forklift 29 | k0 - key 30 | k1 - key 31 | s0 - switch 32 | s1 - switch 33 | ) 34 | (:init 35 | (adjacent r0n3 r0n2 d0) 36 | (adjacent r0n2 r0n3 d0) 37 | (adjacent r0n2 r0n0 d1) 38 | (adjacent r0n0 r0n2 d1) 39 | (adjacent r0n0 r0n1 d2) 40 | (adjacent r0n1 r0n0 d2) 41 | (adjacent r1n1 r1n0 d3) 42 | (adjacent r1n0 r1n1 d3) 43 | (adjacent r1n0 r1n2 d4) 44 | (adjacent r1n2 r1n0 d4) 45 | (adjacent r1n2 r1n3 d5) 46 | (adjacent r1n3 r1n2 d5) 47 | (adjacent r1n1 r0n0 d6) 48 | (adjacent r0n0 r1n1 d6) 49 | (unlocked d0) 50 | (unlocked d1) 51 | (unlocked d2) 52 | (unlocked d3) 53 | (unlocked d4) 54 | (unlocked d5) 55 | (locked d6) 56 | (inroom p0 r1n2) 57 | (inroom p1 r1n2) 58 | (inroom p2 r1n2) 59 | (inroom p3 r0n2) 60 | (inroom p4 r0n1) 61 | (inroom p5 r0n1) 62 | (inroom p6 r0n1) 63 | (inroom p7 r0n2) 64 | (inroom a0 r0n1) 65 | (inroom a1 r0n1) 66 | (inroom f0 r0n3) 67 | (inroom k0 r1n0) 68 | (inroom k1 r0n2) 69 | (inroom s0 r1n0) 70 | (inroom s1 r0n3) 71 | (empty f0) 72 | (connected s0 d6) 73 | (connected s1 d6) 74 | (fits k0 d6) 75 | (fits k1 d6) 76 | ) 77 | (:goal (and 78 | (examined p0) 79 | (examined p1) 80 | (examined p2) 81 | (examined p3) 82 | (examined p4) 83 | (examined p5) 84 | (examined p6) 85 | (examined p7) 86 | )) 87 | ) 88 | 89 | -------------------------------------------------------------------------------- /domains/workshop/problems/workshop4_2_2_4.pddl: -------------------------------------------------------------------------------- 1 | (define (problem workshop4_2_2_4_1) (:domain workshop) 2 | (:objects 3 | r0n0 - room 4 | r0n1 - room 5 | r0n2 - room 6 | r0n3 - room 7 | r1n0 - room 8 | r1n1 - room 9 | r1n2 - room 10 | r1n3 - room 11 | d0 - door 12 | d1 - door 13 | d2 - door 14 | d3 - door 15 | d4 - door 16 | d5 - door 17 | d6 - door 18 | p0 - pallet 19 | p1 - pallet 20 | a0 - agent 21 | a1 - agent 22 | a2 - agent 23 | a3 - agent 24 | f0 - forklift 25 | f1 - forklift 26 | k0 - key 27 | k1 - key 28 | s0 - switch 29 | s1 - switch 30 | ) 31 | (:init 32 | (adjacent r0n0 r0n2 d0) 33 | (adjacent r0n2 r0n0 d0) 34 | (adjacent r0n2 r0n3 d1) 35 | (adjacent r0n3 r0n2 d1) 36 | (adjacent r0n2 r0n1 d2) 37 | (adjacent r0n1 r0n2 d2) 38 | (adjacent r1n1 r1n2 d3) 39 | (adjacent r1n2 r1n1 d3) 40 | (adjacent r1n2 r1n0 d4) 41 | (adjacent r1n0 r1n2 d4) 42 | (adjacent r1n0 r1n3 d5) 43 | (adjacent r1n3 r1n0 d5) 44 | (adjacent r0n1 r1n0 d6) 45 | (adjacent r1n0 r0n1 d6) 46 | (unlocked d0) 47 | (unlocked d1) 48 | (unlocked d2) 49 | (unlocked d3) 50 | (unlocked d4) 51 | (unlocked d5) 52 | (locked d6) 53 | (inroom p0 r0n3) 54 | (inroom p1 r1n1) 55 | (inroom a0 r1n1) 56 | (inroom a1 r1n1) 57 | (inroom a2 r1n2) 58 | (inroom a3 r1n2) 59 | (inroom f0 r1n1) 60 | (inroom f1 r1n1) 61 | (inroom k0 r0n0) 62 | (inroom k1 r1n1) 63 | (inroom s0 r0n0) 64 | (inroom s1 r1n2) 65 | (empty f0) 66 | (empty f1) 67 | (connected s0 d6) 68 | (connected s1 d6) 69 | (fits k0 d6) 70 | (fits k1 d6) 71 | ) 72 | (:goal (and 73 | (examined p0) 74 | (examined p1) 75 | )) 76 | ) 77 | 78 | -------------------------------------------------------------------------------- /domains/workshop/problems/workshop4_4_2_4.pddl: -------------------------------------------------------------------------------- 1 | (define (problem workshop4_4_2_4_1) (:domain workshop) 2 | (:objects 3 | r0n0 - room 4 | r0n1 - room 5 | r0n2 - room 6 | r0n3 - room 7 | r1n0 - room 8 | r1n1 - room 9 | r1n2 - room 10 | r1n3 - room 11 | d0 - door 12 | d1 - door 13 | d2 - door 14 | d3 - door 15 | d4 - door 16 | d5 - door 17 | d6 - door 18 | p0 - pallet 19 | p1 - pallet 20 | p2 - pallet 21 | p3 - pallet 22 | a0 - agent 23 | a1 - agent 24 | a2 - agent 25 | a3 - agent 26 | f0 - forklift 27 | f1 - forklift 28 | k0 - key 29 | k1 - key 30 | s0 - switch 31 | s1 - switch 32 | ) 33 | (:init 34 | (adjacent r0n3 r0n1 d0) 35 | (adjacent r0n1 r0n3 d0) 36 | (adjacent r0n1 r0n2 d1) 37 | (adjacent r0n2 r0n1 d1) 38 | (adjacent r0n1 r0n0 d2) 39 | (adjacent r0n0 r0n1 d2) 40 | (adjacent r1n0 r1n2 d3) 41 | (adjacent r1n2 r1n0 d3) 42 | (adjacent r1n2 r1n1 d4) 43 | (adjacent r1n1 r1n2 d4) 44 | (adjacent r1n1 r1n3 d5) 45 | (adjacent r1n3 r1n1 d5) 46 | (adjacent r0n1 r1n3 d6) 47 | (adjacent r1n3 r0n1 d6) 48 | (unlocked d0) 49 | (unlocked d1) 50 | (unlocked d2) 51 | (unlocked d3) 52 | (unlocked d4) 53 | (unlocked d5) 54 | (locked d6) 55 | (inroom p0 r1n0) 56 | (inroom p1 r0n1) 57 | (inroom p2 r0n0) 58 | (inroom p3 r0n3) 59 | (inroom a0 r1n3) 60 | (inroom a1 r1n0) 61 | (inroom a2 r1n0) 62 | (inroom a3 r1n1) 63 | (inroom f0 r1n1) 64 | (inroom f1 r1n2) 65 | (inroom k0 r0n0) 66 | (inroom k1 r1n3) 67 | (inroom s0 r0n2) 68 | (inroom s1 r1n3) 69 | (empty f0) 70 | (empty f1) 71 | (connected s0 d6) 72 | (connected s1 d6) 73 | (fits k0 d6) 74 | (fits k1 d6) 75 | ) 76 | (:goal (and 77 | (examined p0) 78 | (examined p1) 79 | (examined p2) 80 | (examined p3) 81 | )) 82 | ) 83 | 84 | -------------------------------------------------------------------------------- /domains/workshop/problems/workshop4_8_2_4.pddl: -------------------------------------------------------------------------------- 1 | (define (problem workshop4_8_2_4_1) (:domain workshop) 2 | (:objects 3 | r0n0 - room 4 | r0n1 - room 5 | r0n2 - room 6 | r0n3 - room 7 | r1n0 - room 8 | r1n1 - room 9 | r1n2 - room 10 | r1n3 - room 11 | d0 - door 12 | d1 - door 13 | d2 - door 14 | d3 - door 15 | d4 - door 16 | d5 - door 17 | d6 - door 18 | p0 - pallet 19 | p1 - pallet 20 | p2 - pallet 21 | p3 - pallet 22 | p4 - pallet 23 | p5 - pallet 24 | p6 - pallet 25 | p7 - pallet 26 | a0 - agent 27 | a1 - agent 28 | a2 - agent 29 | a3 - agent 30 | f0 - forklift 31 | f1 - forklift 32 | k0 - key 33 | k1 - key 34 | s0 - switch 35 | s1 - switch 36 | ) 37 | (:init 38 | (adjacent r0n1 r0n0 d0) 39 | (adjacent r0n0 r0n1 d0) 40 | (adjacent r0n0 r0n2 d1) 41 | (adjacent r0n2 r0n0 d1) 42 | (adjacent r0n0 r0n3 d2) 43 | (adjacent r0n3 r0n0 d2) 44 | (adjacent r1n2 r1n0 d3) 45 | (adjacent r1n0 r1n2 d3) 46 | (adjacent r1n2 r1n3 d4) 47 | (adjacent r1n3 r1n2 d4) 48 | (adjacent r1n2 r1n1 d5) 49 | (adjacent r1n1 r1n2 d5) 50 | (adjacent r1n3 r0n1 d6) 51 | (adjacent r0n1 r1n3 d6) 52 | (unlocked d0) 53 | (unlocked d1) 54 | (unlocked d2) 55 | (unlocked d3) 56 | (unlocked d4) 57 | (unlocked d5) 58 | (locked d6) 59 | (inroom p0 r0n2) 60 | (inroom p1 r0n3) 61 | (inroom p2 r1n3) 62 | (inroom p3 r0n3) 63 | (inroom p4 r1n3) 64 | (inroom p5 r0n3) 65 | (inroom p6 r1n3) 66 | (inroom p7 r0n3) 67 | (inroom a0 r0n2) 68 | (inroom a1 r0n2) 69 | (inroom a2 r0n3) 70 | (inroom a3 r0n3) 71 | (inroom f0 r0n2) 72 | (inroom f1 r0n2) 73 | (inroom k0 r1n3) 74 | (inroom k1 r0n3) 75 | (inroom s0 r1n2) 76 | (inroom s1 r0n2) 77 | (empty f0) 78 | (empty f1) 79 | (connected s0 d6) 80 | (connected s1 d6) 81 | (fits k0 d6) 82 | (fits k1 d6) 83 | ) 84 | (:goal (and 85 | (examined p0) 86 | (examined p1) 87 | (examined p2) 88 | (examined p3) 89 | (examined p4) 90 | (examined p5) 91 | (examined p6) 92 | (examined p7) 93 | )) 94 | ) 95 | 96 | -------------------------------------------------------------------------------- /examples/serialize/SConscript: -------------------------------------------------------------------------------- 1 | 2 | import glob 3 | 4 | Import('extra') 5 | 6 | program = extra.Program( "serialize.bin", glob.glob( "./*.cpp" )) 7 | 8 | extra.Alias( 'serialize', program ) 9 | -------------------------------------------------------------------------------- /examples/serialize_cn/SConscript: -------------------------------------------------------------------------------- 1 | 2 | import glob 3 | 4 | Import('extra') 5 | 6 | program = extra.Program( "serialize.bin", glob.glob( "serialize.cpp" )) 7 | program2 = extra.Program( "compress.bin", glob.glob( "compress.cpp" )) 8 | 9 | extra.Alias( 'serialize', program ) 10 | extra.Alias( 'compress', program2 ) 11 | -------------------------------------------------------------------------------- /examples/serialize_cn/compress.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | int main( int argc, char * argv[] ) { 5 | if ( argc < 3 ) { 6 | std::cout << "Usage: compress \n"; 7 | std::exit( 0 ); 8 | } 9 | 10 | typedef std::map< unsigned, std::string > Map; 11 | typedef std::map< unsigned, Map > UMap; 12 | 13 | char c; 14 | UMap m; 15 | unsigned a; 16 | std::string s, t, u; 17 | std::set< unsigned > h; 18 | std::ifstream f( argv[1] ); 19 | unsigned i, j, k = 0, n = 0; 20 | std::vector< std::pair< unsigned, std::string > > v; 21 | for ( i = 0; getline( f, s ); ++i ) { 22 | std::istringstream is( s ); 23 | is >> c >> s; 24 | 25 | if ( c == ';' ) { // ignore comments 26 | --i; 27 | continue; 28 | } 29 | 30 | unsigned ix = s.find( '-' ); 31 | if ( ix != std::string::npos ) { 32 | t = s.substr( 0, ix ); 33 | s = s.substr( ix + 1 ); 34 | } 35 | 36 | if ( t == "end" ) { 37 | --i; 38 | while ( j < i && v[j].first < k ) v[j++].first = k; 39 | continue; 40 | } 41 | else if ( t == "start" ) j = i; 42 | 43 | is >> c >> a; 44 | 45 | if ( h.find( a ) != h.end() ) { 46 | ++k; 47 | h.clear(); 48 | } 49 | h.insert( a ); 50 | n = MAX( n, a ); 51 | 52 | std::ostringstream os; 53 | os << "(" << s << " a" << a; 54 | for ( int j = 0; j < 3 + ( s == "pushswitch" ); ++j ) { 55 | is >> u; 56 | os << " " << u; 57 | } 58 | if ( t == "do" ) os << ")"; 59 | v.push_back( std::make_pair( k, os.str() ) ); 60 | //std::cout << k << "," << os.str() << "\n"; 61 | } 62 | f.close(); 63 | 64 | std::ofstream g( argv[2] ); 65 | g << n << " " << 0 << " " << k+1 << "\n"; 66 | for ( unsigned i = 1; i <= n; ++i ) { 67 | g << "a" << i << "\n"; 68 | for ( unsigned j = 0; j < v.size(); ++j ) { 69 | std::istringstream is( v[j].second ); 70 | is >> c >> t >> c >> a; 71 | if ( i == a ) g << v[j].first << ": " << v[j].second << "\n"; 72 | } 73 | g << "\n"; 74 | } 75 | g << v.size() << " " << k+1 << "\n"; 76 | g.close(); 77 | } 78 | -------------------------------------------------------------------------------- /multiagent/AgentAction.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | #include 5 | 6 | namespace parser { namespace multiagent { 7 | 8 | void AgentAction::PDDLPrint( std::ostream & s, unsigned indent, const TokenStruct< std::string > & ts, const pddl::Domain & d ) const { 9 | s << "( :ACTION " << name << "\n"; 10 | 11 | TokenStruct< std::string > astruct; 12 | 13 | std::stringstream ss; 14 | ss << "?" << d.types[params[0]]->name; 15 | astruct.insert( ss.str() ); 16 | 17 | s << " :AGENT " << astruct[0]; 18 | if ( d.typed ) s << " - " << d.types[params[0]]->name; 19 | s << "\n"; 20 | 21 | s << " :PARAMETERS "; 22 | 23 | printParams( 1, s, astruct, d ); 24 | 25 | s << " :PRECONDITION\n"; 26 | if ( pre ) pre->PDDLPrint( s, 1, astruct, d ); 27 | else s << "\t()"; 28 | s << "\n"; 29 | 30 | s << " :EFFECT\n"; 31 | if ( eff ) eff->PDDLPrint( s, 1, astruct, d ); 32 | else s << "\t()"; 33 | s << "\n"; 34 | 35 | s << ")\n"; 36 | } 37 | 38 | void AgentAction::parse( Filereader & f, TokenStruct< std::string > & ts, pddl::Domain & d ) { 39 | TokenStruct< std::string > astruct; 40 | 41 | f.next(); 42 | f.assert_token( ":AGENT" ); 43 | astruct.insert( f.getToken() ); 44 | if ( d.typed ) { 45 | f.next(); 46 | f.assert_token( "-" ); 47 | astruct.types.push_back( f.getToken( d.types ) ); 48 | } 49 | else astruct.types.push_back( "OBJECT" ); 50 | 51 | f.next(); 52 | f.assert_token( ":PARAMETERS" ); 53 | f.assert_token( "(" ); 54 | astruct.append( f.parseTypedList( true, d.types ) ); 55 | params = d.convertTypes( astruct.types ); 56 | 57 | parseConditions( f, astruct, d ); 58 | } 59 | 60 | } } // namespaces 61 | -------------------------------------------------------------------------------- /multiagent/AgentAction.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include 5 | 6 | namespace parser { namespace multiagent { 7 | 8 | using pddl::TokenStruct; 9 | using pddl::Filereader; 10 | 11 | class AgentAction : public pddl::Action { 12 | 13 | public: 14 | 15 | AgentAction( const std::string & s ) : Action( s ) {} 16 | 17 | void print( std::ostream & s ) const { 18 | s << name << params << "\n"; 19 | s << "Agent: " << params[0] << "\n"; 20 | s << "Pre: " << pre; 21 | if ( eff ) s << "Eff: " << eff; 22 | } 23 | 24 | // void printParams( std::ostream & s, TokenStruct< std::string > & ts, pddl::Domain & d ); 25 | 26 | void PDDLPrint( std::ostream & s, unsigned indent, const TokenStruct< std::string > & ts, const pddl::Domain & d ) const override; 27 | 28 | void parse( Filereader & f, TokenStruct< std::string > & ts, pddl::Domain & d ); 29 | }; 30 | 31 | } } // namespaces 32 | -------------------------------------------------------------------------------- /multiagent/ConcurrencyGround.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include 4 | 5 | namespace parser { namespace multiagent { 6 | 7 | void ConcurrencyGround::parse( Filereader & f, TokenStruct< std::string > & ts, pddl::Domain & d ) { 8 | f.next(); 9 | 10 | std::string lastToken = f.getToken(); 11 | while ( lastToken != "" ) { 12 | int k = ts.index( lastToken ); 13 | if ( k >= 0 ) params.push_back( k ); 14 | else { 15 | constants[params.size()] = lastToken; 16 | params.push_back( -1 ); 17 | } 18 | 19 | f.next(); 20 | lastToken = f.getToken(); 21 | } 22 | 23 | f.assert_token( ")" ); 24 | } 25 | 26 | void ConcurrencyGround::setLifted( pddl::Lifted * l, pddl::Domain & d ) { 27 | lifted = l; 28 | for ( auto it = constants.begin(); it != constants.end(); ++it ) { 29 | std::pair< bool, int > p = d.types[lifted->params[it->first]]->parseConstant( it->second ); 30 | if ( p.first ) params[it->first] = p.second; 31 | else { 32 | std::cout << "error" << std::endl; 33 | } 34 | } 35 | } 36 | 37 | } } // namespaces 38 | -------------------------------------------------------------------------------- /multiagent/ConcurrencyGround.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include 5 | 6 | namespace parser { namespace multiagent { 7 | 8 | using pddl::TokenStruct; 9 | using pddl::Filereader; 10 | 11 | class ConcurrencyGround : public pddl::Ground { 12 | 13 | public: 14 | 15 | std::map< int, std::string > constants; 16 | 17 | ConcurrencyGround() 18 | : Ground() {} 19 | 20 | ConcurrencyGround( const std::string s, const IntVec & p = IntVec() ) 21 | : Ground( s, p ) {} 22 | 23 | ConcurrencyGround( pddl::Lifted * l, const IntVec & p = IntVec() ) 24 | : Ground( l, p ) {} 25 | 26 | ConcurrencyGround( const pddl::Ground * g, pddl::Domain & d ) 27 | : Ground( g, d ) {} 28 | 29 | void parse( Filereader & f, TokenStruct< std::string > & ts, pddl::Domain & d ); 30 | 31 | void setLifted( pddl::Lifted * l, pddl::Domain & d ); 32 | }; 33 | 34 | } } // namespaces 35 | -------------------------------------------------------------------------------- /multiagent/ConcurrencyPredicate.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | namespace parser { namespace multiagent { 5 | 6 | } } // namespaces 7 | -------------------------------------------------------------------------------- /multiagent/ConcurrencyPredicate.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include 5 | 6 | namespace parser { namespace multiagent { 7 | 8 | using pddl::TokenStruct; 9 | using pddl::Filereader; 10 | 11 | class ConcurrencyPredicate : public pddl::Lifted { 12 | 13 | public: 14 | 15 | ConcurrencyPredicate() {} 16 | 17 | ConcurrencyPredicate( const std::string & s ) 18 | : pddl::Lifted( s ) {} 19 | 20 | ConcurrencyPredicate( const ParamCond * c ) 21 | : pddl::Lifted( c ) {} 22 | 23 | /* 24 | void PDDLPrint( std::ostream & s, unsigned indent, const TokenStruct< std::string > & ts, const pddl::Domain & d ) const override; 25 | 26 | void parse( Filereader & f, TokenStruct< std::string > & ts, pddl::Domain & d ); 27 | */ 28 | 29 | Condition * copy( pddl::Domain & d ) { 30 | return new ConcurrencyPredicate( this ); 31 | } 32 | }; 33 | 34 | } } // namespaces 35 | -------------------------------------------------------------------------------- /multiagent/ConcurrentAction.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | namespace parser { namespace multiagent { 9 | 10 | void ConcurrentAction::PDDLPrint( std::ostream & s, unsigned indent, const TokenStruct< std::string > & ts, const pddl::Domain & d ) const { 11 | s << "( :ACTION " << name << "\n"; 12 | 13 | TokenStruct< std::string > astruct; 14 | 15 | std::stringstream ss; 16 | ss << "?" << d.types[params[0]]->name; 17 | astruct.insert( ss.str() ); 18 | 19 | s << " :AGENT " << astruct[0]; 20 | if ( d.typed ) s << " - " << d.types[params[0]]->name; 21 | s << "\n"; 22 | 23 | s << " :PARAMETERS "; 24 | 25 | printParams( 1, s, astruct, d ); 26 | 27 | s << " :PRECONDITION\n"; 28 | if ( pre ) pre->PDDLPrint( s, 1, astruct, d ); 29 | else s << "\t()"; 30 | s << "\n"; 31 | 32 | s << " :EFFECT\n"; 33 | if ( eff ) eff->PDDLPrint( s, 1, astruct, d ); 34 | else s << "\t()"; 35 | s << "\n"; 36 | 37 | s << ")\n"; 38 | } 39 | 40 | void ConcurrentAction::parse( Filereader & f, TokenStruct< std::string > & ts, pddl::Domain & d ) { 41 | TokenStruct< std::string > astruct; 42 | 43 | f.next(); 44 | f.assert_token( ":AGENT" ); 45 | astruct.insert( f.getToken() ); 46 | if ( d.typed ) { 47 | f.next(); 48 | f.assert_token( "-" ); 49 | astruct.types.push_back( f.getToken( d.types ) ); 50 | } 51 | else astruct.types.push_back( "OBJECT" ); 52 | 53 | f.next(); 54 | f.assert_token( ":PARAMETERS" ); 55 | f.assert_token( "(" ); 56 | astruct.append( f.parseTypedList( true, d.types ) ); 57 | params = d.convertTypes( astruct.types ); 58 | 59 | parseConditions( f, astruct, d ); 60 | } 61 | 62 | 63 | 64 | } } // namespaces 65 | -------------------------------------------------------------------------------- /multiagent/ConcurrentAction.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include 5 | 6 | namespace parser { namespace multiagent { 7 | 8 | using pddl::TokenStruct; 9 | using pddl::Filereader; 10 | 11 | class ConcurrentAction : public pddl::Action { 12 | 13 | public: 14 | 15 | ConcurrentAction( const std::string & s ) : Action( s ) {} 16 | 17 | void print( std::ostream & s ) const { 18 | s << name << params << "\n"; 19 | s << "Agent: " << params[0] << "\n"; 20 | s << "Pre: " << pre; 21 | if ( eff ) s << "Eff: " << eff; 22 | } 23 | 24 | // void printParams( std::ostream & s, TokenStruct< std::string > & ts, pddl::Domain & d ); 25 | 26 | void PDDLPrint( std::ostream & s, unsigned indent, const TokenStruct< std::string > & ts, const pddl::Domain & d ) const override; 27 | 28 | void parse( Filereader & f, TokenStruct< std::string > & ts, pddl::Domain & d ); 29 | }; 30 | 31 | } } // namespaces 32 | -------------------------------------------------------------------------------- /multiagent/NetworkNode.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | 5 | namespace parser { namespace multiagent { 6 | 7 | using pddl::Lifted; 8 | 9 | void NetworkNode::PDDLPrint( std::ostream & s, unsigned indent, const TokenStruct< std::string > & ts, const Domain & d ) const { 10 | s << "( :CONCURRENCY-CONSTRAINT " << name << "\n"; 11 | 12 | s << " :PARAMETERS "; 13 | 14 | TokenStruct< std::string > nstruct; 15 | 16 | printParams( 0, s, nstruct, d ); 17 | 18 | s << " :BOUNDS ( " << lower << " "; 19 | if ( upper < 1000000 ) s << upper; 20 | else s << "INF"; 21 | s << " )\n"; 22 | 23 | s << " :ACTIONS ("; 24 | for ( unsigned i = 0; i < templates.size(); ++i ) { 25 | s << " ( " << templates[i]->name; 26 | for ( unsigned j = 0; j < templates[i]->params.size(); ++j ) 27 | s << " " << templates[i]->params[j]; 28 | s << " )"; 29 | } 30 | s << " )\n"; 31 | s << ")\n"; 32 | } 33 | 34 | void NetworkNode::parse( Filereader & f, TokenStruct< std::string > & ts, Domain & d ) { 35 | f.next(); 36 | f.assert_token( ":PARAMETERS" ); 37 | f.assert_token( "(" ); 38 | TokenStruct< std::string > nstruct = f.parseTypedList( true, d.types ); 39 | params = d.convertTypes( nstruct.types ); 40 | 41 | f.next(); 42 | f.assert_token( ":BOUNDS" ); 43 | f.assert_token( "(" ); 44 | std::string lo = f.getToken(); 45 | std::istringstream( lo ) >> lower; 46 | f.next(); 47 | std::string hi = f.getToken(); 48 | if ( hi == "INF" ) upper = 1000000; 49 | else std::istringstream( hi ) >> upper; 50 | f.next(); 51 | f.assert_token( ")" ); 52 | 53 | f.assert_token( ":ACTIONS" ); 54 | f.assert_token( "(" ); 55 | while ( f.getChar() != ')' ) { 56 | f.assert_token( "(" ); 57 | int action = d.actions.index( f.getToken( d.actions ) ); 58 | f.next(); 59 | 60 | ParamCond * c = new Lifted( d.actions[action]->name ); 61 | c->params.resize( params.size() ); 62 | for ( unsigned i = 0; i < params.size(); ++i ) { 63 | std::string index = f.getToken(); 64 | std::istringstream( index ) >> c->params[i]; 65 | f.next(); 66 | } 67 | templates.push_back( c ); 68 | f.assert_token( ")" ); 69 | } 70 | 71 | ++f.c; 72 | f.next(); 73 | f.assert_token( ")" ); 74 | } 75 | 76 | } } // namespaces 77 | -------------------------------------------------------------------------------- /multiagent/NetworkNode.h: -------------------------------------------------------------------------------- 1 | 2 | #pragma once 3 | 4 | #include 5 | 6 | namespace parser { namespace multiagent { 7 | 8 | using pddl::Filereader; 9 | using pddl::Domain; 10 | 11 | class NetworkNode : public pddl::ParamCond { 12 | public: 13 | unsigned lower, upper; 14 | pddl::ParamCondVec templates; 15 | 16 | NetworkNode( const std::string & s ) 17 | : pddl::ParamCond( s ), lower( 0 ), upper( 0 ) {} 18 | 19 | NetworkNode( const NetworkNode * n, Domain & d ) 20 | : pddl::ParamCond( n ), lower( n->lower ), upper( n->upper ) { 21 | for ( unsigned i = 0; i < n->templates.size(); ++i ) 22 | templates.push_back( ( pddl::ParamCond * )n->templates[i]->copy( d ) ); 23 | } 24 | 25 | ~NetworkNode() { 26 | for ( unsigned i = 0; i < templates.size(); ++i ) 27 | delete templates[i]; 28 | } 29 | 30 | void print( std::ostream & stream ) const { 31 | stream << "Network node "; 32 | pddl::ParamCond::print( stream ); 33 | stream << " <" << lower << "," << upper << ">"; 34 | for ( unsigned i = 0; i < templates.size(); ++i ) 35 | stream << "\n Template: " << templates[i]; 36 | } 37 | 38 | void PDDLPrint( std::ostream & s, unsigned indent, const pddl::TokenStruct< std::string > & ts, const Domain & d ) const override; 39 | 40 | void parse( pddl::Filereader & f, pddl::TokenStruct< std::string > & ts, Domain & d ); 41 | 42 | void addParams( int m, unsigned n ) { 43 | } 44 | 45 | Condition * copy( Domain & d ) { 46 | return new NetworkNode( this, d ); 47 | } 48 | 49 | }; 50 | 51 | } } // namespaces 52 | -------------------------------------------------------------------------------- /script/build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e # halt script on error 3 | 4 | git submodule init 5 | git submodule update 6 | 7 | cd universal-pddl-parser 8 | scons 9 | cd .. 10 | 11 | scons 12 | scons examples 13 | scons test 14 | -------------------------------------------------------------------------------- /script/runtests.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -e # halt script on error 3 | 4 | valgrind -q --leak-check=yes --log-file="valgrind.txt" ./tests/test.bin -------------------------------------------------------------------------------- /tests/SConscript: -------------------------------------------------------------------------------- 1 | 2 | # Build the testing binaries 3 | import glob 4 | 5 | Import('extra') 6 | 7 | sources = glob.glob( "*.cpp" ) 8 | sources += glob.glob(extra['pddl_parser_path'] + "/minicppunit/*.cpp" ) 9 | 10 | test = extra.Program( "test.bin", sources) 11 | 12 | extra.Alias( 'test', test ) 13 | -------------------------------------------------------------------------------- /tests/expected/multilog/Multilog_ins.pddl: -------------------------------------------------------------------------------- 1 | ( DEFINE ( PROBLEM LOGISTICS-4-0 ) 2 | ( :DOMAIN LOGISTICS ) 3 | ( :OBJECTS 4 | APT2 APT1 - AIRPORT 5 | POS1 POS2 - LOCATION 6 | TRU2 TRU1 - TRUCK 7 | APN1 - AIRPLANE 8 | OBJ11 OBJ22 OBJ21 OBJ23 OBJ13 OBJ12 - PACKAGE 9 | CIT2 CIT1 - CITY 10 | ) 11 | ( :INIT 12 | ( AT APN1 APT2 ) 13 | ( AT TRU1 POS1 ) 14 | ( AT OBJ11 POS1 ) 15 | ( AT OBJ12 POS1 ) 16 | ( AT OBJ13 POS1 ) 17 | ( AT TRU2 POS2 ) 18 | ( AT OBJ21 POS2 ) 19 | ( AT OBJ22 POS2 ) 20 | ( AT OBJ23 POS2 ) 21 | ( IN-CITY POS1 CIT1 ) 22 | ( IN-CITY APT1 CIT1 ) 23 | ( IN-CITY POS2 CIT2 ) 24 | ( IN-CITY APT2 CIT2 ) 25 | ) 26 | ( :GOAL 27 | ( AND 28 | ( AT OBJ11 APT1 ) 29 | ( AT OBJ23 POS1 ) 30 | ( AT OBJ13 APT1 ) 31 | ( AT OBJ21 POS1 ) 32 | ) 33 | ) 34 | ) 35 | -------------------------------------------------------------------------------- /tests/expected/tablemover/table4_2_1.pddl: -------------------------------------------------------------------------------- 1 | ( DEFINE ( PROBLEM TABLE4_2_1_1 ) 2 | ( :DOMAIN TABLEMOVER ) 3 | ( :OBJECTS 4 | A0 A1 - AGENT 5 | B0 B1 - BLOCK 6 | LEFT0 RIGHT0 - SIDE0 7 | R0 R1 R2 R3 - ROOM 8 | ) 9 | ( :INIT 10 | ( ON-FLOOR B0 ) 11 | ( ON-FLOOR B1 ) 12 | ( INROOM B0 R1 ) 13 | ( INROOM B1 R2 ) 14 | ( INROOM A0 R2 ) 15 | ( INROOM A1 R2 ) 16 | ( AVAILABLE A0 ) 17 | ( AVAILABLE A1 ) 18 | ( HANDEMPTY A0 ) 19 | ( HANDEMPTY A1 ) 20 | ( CONNECTED R0 R3 ) 21 | ( CONNECTED R3 R0 ) 22 | ( CONNECTED R3 R1 ) 23 | ( CONNECTED R1 R3 ) 24 | ( CONNECTED R0 R2 ) 25 | ( CONNECTED R2 R0 ) 26 | ( DOWN LEFT0 ) 27 | ( DOWN RIGHT0 ) 28 | ( CLEAR LEFT0 ) 29 | ( CLEAR RIGHT0 ) 30 | ( INROOM TABLE0 R2 ) 31 | ) 32 | ( :GOAL 33 | ( AND 34 | ( DOWN LEFT0 ) 35 | ( DOWN RIGHT0 ) 36 | ( ON-FLOOR B0 ) 37 | ( ON-FLOOR B1 ) 38 | ( INROOM B0 R1 ) 39 | ( INROOM B1 R1 ) 40 | ) 41 | ) 42 | ) 43 | -------------------------------------------------------------------------------- /tests/expected/workshop/workshop2_2_2_4.pddl: -------------------------------------------------------------------------------- 1 | ( DEFINE ( PROBLEM WORKSHOP2_2_2_4_1 ) 2 | ( :DOMAIN WORKSHOP ) 3 | ( :OBJECTS 4 | A0 A1 - AGENT 5 | F0 - FORKLIFT 6 | K0 K1 - KEY 7 | P0 P1 - PALLET 8 | S0 S1 - SWITCH 9 | D0 D1 D2 D3 D4 D5 D6 - DOOR 10 | R0N0 R0N1 R0N2 R0N3 R1N0 R1N1 R1N2 R1N3 - ROOM 11 | ) 12 | ( :INIT 13 | ( ADJACENT R0N3 R0N0 D0 ) 14 | ( ADJACENT R0N0 R0N3 D0 ) 15 | ( ADJACENT R0N0 R0N1 D1 ) 16 | ( ADJACENT R0N1 R0N0 D1 ) 17 | ( ADJACENT R0N1 R0N2 D2 ) 18 | ( ADJACENT R0N2 R0N1 D2 ) 19 | ( ADJACENT R1N0 R1N3 D3 ) 20 | ( ADJACENT R1N3 R1N0 D3 ) 21 | ( ADJACENT R1N0 R1N1 D4 ) 22 | ( ADJACENT R1N1 R1N0 D4 ) 23 | ( ADJACENT R1N0 R1N2 D5 ) 24 | ( ADJACENT R1N2 R1N0 D5 ) 25 | ( ADJACENT R0N2 R1N0 D6 ) 26 | ( ADJACENT R1N0 R0N2 D6 ) 27 | ( UNLOCKED D0 ) 28 | ( UNLOCKED D1 ) 29 | ( UNLOCKED D2 ) 30 | ( UNLOCKED D3 ) 31 | ( UNLOCKED D4 ) 32 | ( UNLOCKED D5 ) 33 | ( LOCKED D6 ) 34 | ( INROOM P0 R1N0 ) 35 | ( INROOM P1 R1N2 ) 36 | ( INROOM A0 R1N3 ) 37 | ( INROOM A1 R1N1 ) 38 | ( INROOM F0 R1N3 ) 39 | ( INROOM K0 R0N2 ) 40 | ( INROOM K1 R1N3 ) 41 | ( INROOM S0 R0N2 ) 42 | ( INROOM S1 R1N2 ) 43 | ( EMPTY F0 ) 44 | ( CONNECTED S0 D6 ) 45 | ( CONNECTED S1 D6 ) 46 | ( FITS K0 D6 ) 47 | ( FITS K1 D6 ) 48 | ) 49 | ( :GOAL 50 | ( AND 51 | ( EXAMINED P0 ) 52 | ( EXAMINED P1 ) 53 | ) 54 | ) 55 | ) 56 | --------------------------------------------------------------------------------