Learn more - Muthukumaran Chandrasekaran

advertisement
Centralizing POMDP Solvers
via Web Services
BY
Roi Ceren
Muthukumaran Chandrasekaran
Background
POMDP
Models a single agent’s decision process in which the agent
doesn’t directly observe the underlying state
Exact solution yields the optimal action for each possible belief
over the states
Sequence of optimal actions is known as the optimal policy of
the agent and can be represented as a decision tree
In practice, POMDPs are often computationally intractable
to solve exactly
Thus, the need for approximate solutions
Several exact and approximate methods for solving
POMDPs exist
No centralized test-bed available
Background
Web services
Applications can be broadcast as a service on a
web server, such as Apache
A wrapper, such as Axis or Tomcat, can be used to
execute these applications
Using standardized protocols, such as SOAP or
REST, servers can communicate with one another
to access these services
In this way, we can allow disparate platforms to
interoperate
Proposed Problem
Many programs exist to implement POMDP
resolutions, their subsets, and approximations
techniques
Robust applications streamlining and centralizing
these functions and programs are largely not
available
We propose a web application that allows
users to present problem domains and, in one
location, use POMDP and various
approximations to resolve them
Approach
Expose at least one exact and one approximate
POMDP programs on a THINC Lab PC
Cassandra organization source code (exact)
http://www.cassandra.org/pomdp/code/index.shtml
SARSOP via APPL toolkit (approximate POMDP
planning)
http://bigbird.comp.nus.edu.sg/pmwiki/farm/motion/index.php?n=Site.PomdpPlanning
Publish access to these functions via web services
SOAP or REST for communication
Build a web interface that utilizes these web
services
Approach
Users will interact with the web interface to resolve
POMDP problems
1.
2.
3.
4.
User provides a .pomdp or .pomdpx file via the user’s browser
File is passed to the POMDP solver with the selected parameters
Policy is retrieved from POMDP solver
Policy is displayed graphically as a policy tree in a graph applet via
the user’s browser along with time of computation
Browser
Communication
Protocol
.pomdp(x)/parameters
policy
POMDP Solver
Approach (Web Interface)
Input: AJAX Form
POMDP file uploader
Parameter input, examples
Time limit
Horizon
Discount factor
Stopping criteria
Solver type
Browser
POMDP SOLVER
POMDP File Location
ALGORITHM
Upload
Select Algorithm
V
PARAMETER 1
PARAMETER 2
PARAMETER 3
…
RESULTS
Output: Applet
time in ms
Resulting policy tree
Computation time
Download
Print
Approach (REST/SOAP)
Apache Axis C++ module will be configured on
the POMDP solver server
Will serve as a wrapper for the various
implementations of POMDP solvers
Either REST or SOAP will be used to communicate
REST calls will be made in JavaScript methods on the
client side after form submission
SOAP calls will be made using the PHP module kSOAP
Policy data will be collected, parsed, and, using
JavaScript, passed to the Applet
Demo Overview
Website will be loaded during presentation
Problem domain file will be uploaded and
parameters configured
.pomdp/x file
Discount factor, horizon, etc.
Applet will display output information
Policy will be parsed as a decision tree
Computation time will be overlaid
Demo Details
Implement a working demonstration of the
following methods
Exact POMDPs
Enumeration
Incremental Pruning (if time permits)
Approximate POMDPs
SARSOP
Sample Domains
Tiger Problem
Deliverables
Central location for toolkits
Located on Muthu’s THINC lab machine
e.g. Cassandra program/APPL toolkit
Web interface for POMDP solver
Form and decision tree applet
URL is TBD on Muthu’s cs.uga.edu website
Responsibilities
Muthu
Configuring server with POMDP toolkits
Web page design
Roi
Implementing RESTful web services
Joint
Web interface
AJAX web forms
Graph applet
Download