Skip to content

Commit

Permalink
Help SSGA expansion by adding more beliefs from full expansion
Browse files Browse the repository at this point in the history
The SSGA expansion got stuck on beliefs from expansion using the greedy
policy multiple times. To aid exploration of the belief space, the
expansion is initialized with a few beliefs from the full expansions for
the initial time steps
  • Loading branch information
dityas committed Dec 24, 2019
1 parent 43ad063 commit c1cc5fe
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 3 deletions.
Binary file modified Protos/build/Protos.jar
Binary file not shown.
12 changes: 10 additions & 2 deletions Protos/src/thinclab/belief/SSGABeliefExpansion.java
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,20 @@ public SSGABeliefExpansion(POMDP p, int maxDepth, int iterations) {
this.allPossibleObs = this.p.getAllPossibleObservations();
this.nIterations = iterations;

/* add initial beliefs from the POMDP */
/*
* Run a full belief expansion for 3 time steps to facilitate proper exploration
*/

FullBeliefExpansion fb = new FullBeliefExpansion(this.p, 3);
fb.expand();

this.initialBeliefs = new ArrayList<DD>();
this.initialBeliefs.addAll(this.p.getInitialBeliefs());

this.exploredBeliefs = new HashSet<DD>();
this.exploredBeliefs.addAll(this.p.getInitialBeliefs());
this.exploredBeliefs.addAll(fb.getBeliefPoints());

fb = null;

logger.debug("SSGA expansion search initialized");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ void testSSGABeliefExpansion() {

LOGGER.info("Testing initial beliefs");
List<DD> beliefs0 = ssgaBE.getBeliefPoints();
assertTrue(beliefs0.size() == this.pomdp.getInitialBeliefs().size());
assertTrue(beliefs0.size() >= this.pomdp.getInitialBeliefs().size());

LOGGER.info("Testing policy based expansion");
LOGGER.info("computing policy...");
Expand Down

0 comments on commit c1cc5fe

Please sign in to comment.