Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[New Content]: Guide 2.0 #87

Open
nergmada opened this issue Oct 26, 2020 · 10 comments
Open

[New Content]: Guide 2.0 #87

nergmada opened this issue Oct 26, 2020 · 10 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed

Comments

@nergmada
Copy link
Owner

nergmada commented Oct 26, 2020

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
    • 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
  • 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

@nergmada nergmada added help wanted Extra attention is needed good first issue Good for newcomers labels Oct 26, 2020
@meneguzzi
Copy link
Contributor

Do you reckon architectures for planning and execution (e.g. BDI engines) would be of interest in this section of the wiki?

@nergmada
Copy link
Owner Author

nergmada commented Nov 1, 2020 via email

@meneguzzi
Copy link
Contributor

Sure, tag me, I will try to work on it once my semester settles!

@Maumagnaguagno
Copy link
Contributor

Maumagnaguagno commented Nov 2, 2020

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.

@nergmada
Copy link
Owner Author

nergmada commented Nov 3, 2020

@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

@Maumagnaguagno
Copy link
Contributor

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)

@nergmada
Copy link
Owner Author

nergmada commented Nov 3, 2020

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

@Maumagnaguagno
Copy link
Contributor

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.

@nergmada
Copy link
Owner Author

nergmada commented Nov 3, 2020

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

@meneguzzi
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants