[back to home page]
WEB-SNAP: POMDP-based Knowledge Engineering for Assistive Systems
- Software implemented by Marek Grzes
tool for designing POMDP-based assistive systems by people who are not
experts in artificial intelligence. No POMDP related
knowledge is required. The designer works with an easy to use web
interface were domain details can be specified. After that the full
POMDP model (in the SPUDD/SymbolicPerseus format) is generated
automatically and it can be used for decision making in
- Written in Java and PHP and requires a web-server (e.g., Apache)
and a PostgreSQL database.
- Download the source code
- There is a
short video guide on Youtube.
The Underlying Methodology
The following paper explains this software and the underlying
methodology that should be followed when this software is used. Section
4 contains a quite detailed case study which shows step-by-step how to
create a working model using this software.
Marek Grzes, Jesse Hoey, Shehroz
Khan, Alex Mihailidis, Stephen Czarnuch, Dan Jackson and Andrew Monk:
Relational Approach to Knowledge Engineering for POMDP-based Assistance
Systems as a Translation of a Psychological Model. International
Journal of Approximate Reasoning (IJAR). Special Issue of Applications
of Bayesian Networks. Elsevier, 2013. [pdf]
[back to home page]
- The first screen after logging in. The snap instance to work with
has to be selected here. One snap instance (i.e., one logical database
in PostgreSQL) corresponds to one
particular model, and one model corresponds to one POMDP file that can
be generated by the software. (png)
- The main window after selecting an instance to work with. It
allows backing up and copying instances. (png)
- Task and environment features. Here, environment variables and
their values are specified. (png)
- A window to specify abilities (png)
and default probabilities for abilities (png).
- Behaviours (png),
effects of behaviours (png),
their preconditions (png),
and STRIPS-like summary (png).
Behaviours are represented as a special variable in the POMDP where
values of that variable correspond to behaviours of the person.
- Rewards (png) and
specification of states for those rewards (png).
These two things should be really specified in one window. Now, rewards
are specified per groups of states (table t_rewards) whereas groups of
states are defined in table t_rewards_desc.
- The sensor model (png)
specifies the observation function for the POMDP.
- The IU table: view (png)
and edit (png)
modes. NB: Entries in every column need to be saved individually.
- SNAP generator (png).
Here, search for the "Generate" button. Once clicked, the POMDP model
should be generated and you can save the output on your local machine.