Planning Domains
Comments
This page mainly contains the planning resources I created or compiled; many of these resources are created during the development of Wizard. However, many of the scripts provided here have the following silly properties.
- Planning domains and related problem generators are normally kept in separate files; this often creates problems (for me) as tracking which generator is for which domain-version becomes very difficult. Therefore, I put much effort to eliminate this hassle. A single script now generates the domain encoding and the problem instances.
- Available generators (definitely their algorithms) often cannot be read because they are coded in various languages using complex implementation structures. I code these resources using bash script and simple algorithms so that they are easy reading and can be run virtually on any machine (definitely Linux/Unix type machines) without any further support.
- Look at the predicate (ON A B). It is a question often with available encodings whether A is on B or B is on A. If this is English, A is on B whereas if this is Mathematics, B is on A. Those who are still confused, the English semantic follows infix syntax meaning this reads A ON B whereas Mathematical semantic is ON(A) = B i.e. f(x) = y. Same problem happens with (SMALL X Y). All the encodings provided here have no such problem. The above predicates will be written as (BLOCK-ON-BLOCK A B) and (SMALL-BIG X Y). As you can see, orderly substitution eliminates the ambiguity.
- Available generators (definitely their algorithms) often cannot be read because they are coded in various languages using complex implementation structures. I code these resources using bash script and simple algorithms so that they are easy reading and can be run virtually on any machine (definitely Linux/Unix type machines).
- These domain encodings and generator codes have many desirable properties (from my point of view), many fixes of the silly things omitted or ignored in the available resources, etcetera. Often I shout for realistic problem distributions rather than the uniform distributions people normally use. With empirical research, there should be little logical ground in support of uniform distribution. The problem generators, provided here, have subjectively thought problem distributions.
Planning Domains
- Blocks is the well-known Blocks World. This is a domain where blocks stacked on a table are to be re-stacked by a robot having one arm that can pick, drop, stack, and unstack blocks. Although I personally do not agree with the opinion that all instances in this domain are of equal probability, this script generates such problems using the algorithm from John Slaney and Sylvie Thiebaux.
- Gripper is a domain where balls outside a room are to be taken inside and vice versa. The robot having two grippers can carry at most two balls at one time. This encoding models grippers as domain constants rather than problem objects and balls are randomly distributed between the two locations rather than in one location.
- Measurement represents a confectionery scenario. Clients are hungry and thirsty at different levels. To measure coke, the salesman has two flasks that measure only 4 and 7. To measure cake, the salesman has only three weights of 1, 3 and 9. But he can some how measure any quantity of cakes and cokes.
- FreeCell is a card game that comes with Microsoft Windows. This encoding has much less arity and also less actions than the existing encoding. However, it uses more dummy cards.
- PReliefwork and NReliefwork are respectively propositional and numercial domains that represent Relief Work scenario in a flood affected area. Victims might need relief packs, shelter, or ambulance service. There are a relief camp, a patrol boat, a pickup boat and an ambulance boat. A victim may be known to the patrol team or another victim. The patrol boat attends every victim not previously attended. The patrol boat gives packs to, or calls the pickup or the ambulance boat for victims. The pickup boat picks shelterless victims and takes to the camp shelter. The ambulance boat takes victims needing emergency treatment to the camp hospital.
- PFerry and NFerry are respectively propositional and numercial ferry domains. The ferry can have only one car on board at a time. The cars at different ports are to be carried to other ports. In the numerical version, the ferry's fuel capacity is 3 and every sail needs 1 fuel. Refuelling is possible at ports having depots.
- PRailway and NRailway are respectively propositional and numerical railway domains. The Railway domain represents a rail-way construction scenario. Train stations are to be built in all given places. Rail lines are to be built between pairs of stations. Trains are to be built at different stations. The places can have woodlands, mountains, coal mines, and metalliferous areas. The places are therefore sources of resources like timber, stone, coal, and iron. A cart is available to carry the resources from one place to another. Note, this is, in a sense, a reduced version of the Settlers domain.
M.A.H.Newton 09.09.2008