8000 GitHub - gtianyi/rationalRealtimeSearch-training
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

gtianyi/rationalRealtimeSearch-training

8000

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ABOUT

This is a codebase for collecting non-parametric heuristic data error model. We run suboptimal search algorithm such as weighted A* and Lsslrta* to collect observed states. Then use optimal solver such as A*, IDA*(CR) (sometime with stronger heuristc) to compute the optimal cost-to-go value. In short, we generate belief distribution of h* values for h.

PAPER

[1] Maximilian Fickert, Tianyi Gu, Leonhard Staut, Wheeler Ruml, Joerg Hoffmann, and Marek Petrik, Beliefs We Can Believe In: Replacing Assumptions with Data in Real-Time Search. Proceedings of the Thirty-fourth AAAI Conference on Artificial Intelligence (AAAI-20), 2020.

[pdf] [slides] [poster]

[2] Maximilian Fickert, Tianyi Gu, Leonhard Staut, Sai Lekyang, Wheeler Ruml, Joerg Hoffmann, and Marek Petrik, Real-time Planning as Data-driven Decision-making. Proceedings of the ICAPS Workshop on Bridging the Gap Between AI Planning and Reinforcement Learning (PRL-20), 2020.

[pdf] [talk] [slides] [poster]

BUILD.

mkdir ../realtime-nancy
cd ../realtime-nancy
mv ../nancybackup .
mkdir build_release
mkdir build_debug
mkdir plots
mkdir results
mkdir worlds

make

PIPELINE TO GENERATE DATA.

  1. generate domain instances and put them into worlds folder

    • tiles instances can be found here
    • feel free to email me if you need other domain's instance or generator
  2. run weighted A* or lsslrtA* on 500 random to gather all visited states

    • single run:
      cd ../build_release
      ./distributionPractice -o out.txt < ../world/slidingTile/1-4x4.st
    • run batch of experiments:
      cd script/testHarnesses/
      ./singleThread-suboptimalSolver.sh -h
  3. check all observed states:

    cd ../result/SlidingTilePuzzle/distributionTest
    ls -la
  4. for each h value, collect 200 unique states according to their frequency counter

    cd ../build_release
    ./collect -h
    • check all collected problem
      cd ../result/SlidingTilePuzzle/sampleProblem
      ls -la 
      
  5. use optimal solver to solve all the collected instances.

    • For uniform puzzle, use idastar with manhattan heuristic
    • For heavy and inverse puzzle, use ida star with pattern database heuristic
    • For pancake and racetrack, use wastar with weight 1

    on all ai machines:

    cd script/testHarnesses

    heavy tile or inverse tile:

    ./multiThread-pdb.sh 2 1 67199 idastar heavy lsslrtastar

    uniform tile, pancake, or racetrack:

    ./multThread-optimalSolver.sh -h

    check all solutions

    cd ../result/SlidingPuzzle/sampleData
    1. compute h-h* distribution, and their sample sets
    cd scripts/distributionGenerator/
    ./distGenerator.py -h

    This should generate a json file that contains the data that represent the histogram.

  6. (optional) generate the post-search samples by doing one step lookahead on the samples and nancy backing-up their distribution and merging them.

    cd ../build_release
    ./collect-post-search heavy lsslrtastar
  7. (optional) compute post-search h-h* distribution based on samples merged by previous step

    cd script/plotting
    python distribtuion.py uniform postd

    This should generate another json file that contains the data that represent the histogram.

PROBLEM INSTANCES

All the instances can be found here

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0