From 1132327c090c1355c0f4a2fb31a1054d7f2f813b Mon Sep 17 00:00:00 2001 From: Piotr Spieker Date: Tue, 8 Oct 2024 16:37:35 +0200 Subject: [PATCH] Add a first outline for the tutorial website --- docs/Tutorial.md | 21 ++++++++++++++++++++ docs/tasks/1_implement_behavior_component.md | 12 +++++++++++ docs/tasks/2_extend_arbitration_graph.md | 15 ++++++++++++++ docs/tasks/3_add_more_behaviors.md | 15 ++++++++++++++ docs/tasks/4_nested_arbitrators.md | 15 ++++++++++++++ docs/tasks/5_cost_arbitration.md | 12 +++++++++++ 6 files changed, 90 insertions(+) create mode 100644 docs/tasks/1_implement_behavior_component.md create mode 100644 docs/tasks/2_extend_arbitration_graph.md create mode 100644 docs/tasks/3_add_more_behaviors.md create mode 100644 docs/tasks/4_nested_arbitrators.md create mode 100644 docs/tasks/5_cost_arbitration.md diff --git a/docs/Tutorial.md b/docs/Tutorial.md index ef2956a7..7769ead3 100644 --- a/docs/Tutorial.md +++ b/docs/Tutorial.md @@ -2,3 +2,24 @@ Let's write an agent for the famous PacMan game using Arbitration Graphs 🕹ī¸ +## Introduction +- [ ] What to find where in the repo? +- [ ] What is the goal of the tutorial? + +## Tasks + +1. [Implement your first behavior component](./tasks/1_implement_behavior_component.md) +2. [Extend the arbitration graph with that behavior](./tasks/2_extend_arbitration_graph.md) +3. [Add even more behavior components](./tasks/3_add_more_behaviors.md) +4. [Learn about nested arbitration graphs](./tasks/4_nested_arbitrators.md) +5. [Arbitrate based on predicted utility](./tasks/5_cost_arbitration.md) + + +- [ ] Finish chase ghost finish so that is passes unit tests by re-implementing some removed part, e.g. getCommand +- [ ] Integrate chase ghost into priority arbitrator +- [ ] Integrate eat closest dot behavior +- [ ] Integrate eat dot arbitrator as random arbitrator +- [ ] Replace arbitrator from previous step with cost arbitrator, finish cost estimator + +## General TODOs +- [ ] Add a bit of an explanation about arbitration graphs to top-level readme \ No newline at end of file diff --git a/docs/tasks/1_implement_behavior_component.md b/docs/tasks/1_implement_behavior_component.md new file mode 100644 index 00000000..15c8eb61 --- /dev/null +++ b/docs/tasks/1_implement_behavior_component.md @@ -0,0 +1,12 @@ +--- +title: "Task 1: Implement a Behavior Component" +description: Implement your first getCommand function, such that the ChaseGhost behavior component passes its unit tests. +--- + +# Chase Ghost + + +--- +[Tutorial Home](../Tutorial.md) +| +[Next task →](2_extend_arbitration_graph.md) diff --git a/docs/tasks/2_extend_arbitration_graph.md b/docs/tasks/2_extend_arbitration_graph.md new file mode 100644 index 00000000..0234078e --- /dev/null +++ b/docs/tasks/2_extend_arbitration_graph.md @@ -0,0 +1,15 @@ +--- +title: "Task 2: Extend the Arbitration Graph" +description: Extend the arbitration graph with the ChaseGhost behavior component. +--- + +# Chase Ghost + + + +--- +[← Previous task](1_implement_behavior_component.md) +| +[Tutorial Home](../Tutorial.md) +| +[Next task →](3_add_more_behaviors.md) \ No newline at end of file diff --git a/docs/tasks/3_add_more_behaviors.md b/docs/tasks/3_add_more_behaviors.md new file mode 100644 index 00000000..5412b5c8 --- /dev/null +++ b/docs/tasks/3_add_more_behaviors.md @@ -0,0 +1,15 @@ +--- +title: "Task 3: Even more behavior components" +description: Integrate the EatClosestDot behavior component into the arbitration graph. +--- + +# Eat Closest Dot + + + +--- +[← Previous task](2_extend_arbitration_graph.md) +| +[Tutorial Home](../Tutorial.md) +| +[Next task →](4_nested_arbitrators.md) \ No newline at end of file diff --git a/docs/tasks/4_nested_arbitrators.md b/docs/tasks/4_nested_arbitrators.md new file mode 100644 index 00000000..faf625ea --- /dev/null +++ b/docs/tasks/4_nested_arbitrators.md @@ -0,0 +1,15 @@ +--- +title: "Task 4: Nested arbitration graphs" +description: Integrate a long-term behavior and add another layer to the arbitration graph +--- + +# Nesting + + + +--- +[← Previous task](3_add_more_behaviors.md) +| +[Tutorial Home](../Tutorial.md) +| +[Next task →](5_cost_arbitration.md) diff --git a/docs/tasks/5_cost_arbitration.md b/docs/tasks/5_cost_arbitration.md new file mode 100644 index 00000000..d50951d8 --- /dev/null +++ b/docs/tasks/5_cost_arbitration.md @@ -0,0 +1,12 @@ +--- +title: "Task 5: Arbitrate based on predicted utility" +description: Learn how the cost arbitrator can help you to arbitrate between behaviors based on their expected cost/utility. +--- + +# Cost Arbitrator + + +--- +[← Previous task](4_nested_arbitrators.md) +| +[Tutorial Home](../Tutorial.md) \ No newline at end of file