Block world problem in ai example how to#They have a Condition for when they can be used and a set of Subtasks for how to accomplish them: METHOD: "Travel from A to B" CONDITION: the weather is bad and you have bus fare, SUBTASKS: Wait for the bus at the bus stop, pay the driver, and ride it to the stop Methods: How to accomplish abstract Tasks when they involve several steps or more detailed plans. If you are a robot, these might be: Move stepper motor forward by 100 steps, turn on spotlight Block world problem in ai example driver#If you are human these might be Operators: Pay the driver $1, Ride #1 bus to the 'Park' stop. They actually modify the State of the world. Operators: How to accomplish abstract Tasks when they can “just be done” without further explanation. Tasks: What can be done abstractly in the world (there may be several ways to do it!): Travel from A to B. A big part of designing an HTN model is getting your head around what the right abstractions are. How detailed you need to get before you are done (and have an Operator) depends on the kind of system you are building. The final step of an HTN, the part that actually gets done, is called an “Operator”. Each of those could further be decomposed until we finally have something a robot could do. In that case we might need to further decompose the task of “PayTheDriver$1” into something like “Reach into your pocket, grab a $1 bill, hand to driver”. Now, this is a pretty complete answer for a human but maybe not if we were talking to a robot. In HTNs, Methods do what they do by decomposing into Subtasks. I’d say something like, “Well, wait for the #1 bus at the ‘Downtown’ bus stop, pay the driver $1, and ride it to the ‘Park’ stop.” These three tasks are known in HTNs as “Subtasks” of the “TakeABus” Method. You might further ask me how to accomplish the “TakeABus” Method. Note that each Method had a “Condition” that went with it: walk if it is nice out, take a taxi if you have the fare, etc.Ībstraction: Note that these 3 Methods are at a pretty high level of abstraction. The 3 alternatives I gave for accomplishing it are known as “Methods” in HTNs. Otherwise, if you have bus fare, just take a bus.” A abstract thing you accomplish like “travelling from one place to another” is known in HTNs as a “Task”. However, if it is raining and you’ve got taxi fare, I’d take the taxi. I might say, “Well, it is 2Km away but, if it is nice out, I would just walk it. Imagine you asked me how to get from downtown to the park. In broad strokes, an HTN solves a problem using a very human planning approach that centers on abstraction and alternatives.Īlternatives: Let’s use a travel example from the famous SHOP HTN Planner ( ). I know this is an old post, but I bashed my head against this wall for a long time and hope what I learned will save someone else the time.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |