planning-wiki
planning-wiki copied to clipboard
[New Content]: Guide 2.0
The aim of guide 2.0 is to revive our somewhat dead guide section for the planning wiki. Here I outline a proposed "complete"* guide to planning
- What is planning?
- The concept of deliberative reasoning
- Why we plan
- What is AI Planning?
- The general concept of automating the planning "problem"
- Early work in AI Planning, STRIPS, ADL etc.
- First attempts at standardisation and comparative assessment (PDDL)
- Existence of other approaches to planning (SAS+, HTNs, other Domain modelling languages, OR concepts)
- The distinction of classical, numeric, temporal, temporal numeric, uncertainty based planning
- AI Planning strategies for solving the planning problem
- Classical
- Forward Search
- Heuristic based forward search
- Backwards Search
- Partial Order Planning
- HTNs
- BDDs
- SAS+
- SAT compilation
- Other compilation based approaches
- Forward Search
- Temporal
- STNs
- LPs/MIPs/CP
- Other approaches to temporal planning
- Numeric
- LPs/MIPs/CP
- Discretisation
- Compiling away
- Other approaches to numeric planning
- Temporal-Numeric
- All approaches above
- Interplay of approaches/lack thereof
- Uncertainty Planning
- I literally know nothing about uncertainty, I need to do more reading
- Classical
- The evolution of planning
- Planning research and competition
- The planning family tree
- Thoughts on the Darwinism of planning
- FD and good engineering vs new concepts (alien)
- Planning vs Machine learning/RL
*obviously I don't actually mean "complete", but we are the planning.wiki so we have to give it a crack
Do you reckon architectures for planning and execution (e.g. BDI engines) would be of interest in this section of the wiki?
Yes, I think that would be a really useful contribution. Would you be able to write something on that? And if so can I tag you on the branch at some point for that?On 1 Nov 2020 16:17, Felipe Meneguzzi [email protected] wrote: Do you reckon architectures for planning and execution (e.g. BDI engines) would be of interest in this section of the wiki?
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.
Sure, tag me, I will try to work on it once my semester settles!
You can tag me for HTN. I already have some material comparing PDDL and JSHOP input here. I will try to update my material with the recent HDDL and then we can discuss how sections should be organized. This will probably only happen once my semester settles too.
@Maumagnaguagno Wonderful, that's a huge help!
Yeah, I am still not 100% sure on the structure of this yet. I want to be able to structure sections in clearly defined ways so that when we discuss "This is how an RPG works" or "This is what PDB does" there's a similar level of detail, and structured in a way that they would expect every other page to be
We need a "feature template/guideline" to keep descriptions similar. My guess is that we need something like this:
- Title (and name variations)
- Description/What is FEATURE? (short and simple, perhaps request at least one image/formula/algorithm to be added)
- Which problem(s) this feature is trying to solve?
- How it works? (perhaps with a little bit of history with links/citations)
- Step by step example(s)
- Used in or related to other features
- Comparison with other solutions (advantages/limitations)
I think we should also think about what problem the planning.wiki is trying to solve. We're not a substitution for academic literature. This isn't a place for undergrads to come and read one page rather than studying a paper or papers in detail.
My thoughts are the following
- We should favour clear explanation and understanding over perfect accuracy and defer to relevant citations otherwise
- We should attempt to reduce confusion in terms of naming conventions by picking one approach to describing things, whilst also acknowledging other terms and providing a way for people to map it from knowledge they've previously gained
- No page (or as few a pages as possible) should solely be theory or applied
- every page should attempt to answer, what is it in theory? How does it work in practice? and why do we do it?
- Key information should be presented quickly, to answer the most obvious questions that would be asked about the thing the page talks about, in the case of heuristics "When was it created? Is it admissible? What relevant paper should I generally cite when talking about it?"
As an example of the kind of problems I envisage I give a sample of what I'm thinking of using FF as an example. I think however, the boilerplate for how a page is written will vary depending on exactly what's being written about, so we might need several templates.
FF Heuristic
Also known as: The RPG Heuristic, The Action Layer Heuristic Is it admissible?: Yes, action layers are admissible heuristic First Used: FF Planner by Jorge Hoffmann (link to planner page) Relevant Paper(s): FF Article, FF Journal Paper etc. (link)
Heuristic Overview
The FF heuristic uses a delete relaxation (link to description of delete relaxation), to build a relaxed planning graph (RPG) which involves applying all applicable actions until all facts associated with the goal are true. blah blah blah
Heuristic Application
The FF heuristic serves as the basis for a number of classic planners, most notably FF and it's variants (link to FF page). It has also been adapted to be used in several temporal and temporal numeric planners as a means to solve the classical aspect of the temporal numeric problem. blah blah blah
Additional sections
Anything that deserves an additional section, where appropriate
Citations & Further Reading
I agree with you, we don't want people choosing the wiki over the papers, but some contributions may "replace the papers", sometimes we just want to discover that two names reference the same thing or glance an algorithm. Multiple templates would be ideal, but also cost a lot of time to develop and maintain.
I will try to match the style from your example and add things that we usually do not find in papers, such as comparison between descriptions and hidden tricks.
I'm happy to maintain the templates, I just don't necessarily have all the knowledge. I'll draft up some templates this week and see what I come up with
Since I'm in the discussion, I agree with Mau in this. I reckon this could be a quick guide at a higher level than wikipedia, where you get the idea of where to start.