Difference between revisions of "Learning"
From BP Wiki
(→Adaptive Behavioral Programming) |
(→Reference Materials) |
||
(6 intermediate revisions by one user not shown) | |||
Line 2: | Line 2: | ||
We introduce a way to program adaptive reactive | We introduce a way to program adaptive reactive | ||
− | systems, using behavioral | + | systems, using behavioral programming. |
Extending the semantics of BPJ with reinforcements | Extending the semantics of BPJ with reinforcements | ||
allows the programmer not only to specify what | allows the programmer not only to specify what | ||
Line 9: | Line 9: | ||
behavioral programs with reinforcement learning methods, | behavioral programs with reinforcement learning methods, | ||
the program can adapt to the environment, and try to achieve | the program can adapt to the environment, and try to achieve | ||
− | the desired goals. | + | the desired goals. |
== Reference Materials == | == Reference Materials == | ||
* Paper: [http://www.wisdom.weizmann.ac.il/~harel/papers/Adaptive%20BP.pdf Adaptive Behavioral Programming] | * Paper: [http://www.wisdom.weizmann.ac.il/~harel/papers/Adaptive%20BP.pdf Adaptive Behavioral Programming] | ||
− | * | + | * [http://www.wisdom.weizmann.ac.il/~bprogram/code/ReinforcementLearningBPJ.zip Code and examples]: <br/> |
− | + | ** A base version of BPJ. | |
− | + | ** A Java library with extensions to BPJ for reinforcement learning. Import and add to the classpath. | |
− | * A base version of BPJ | + | ** Example: A Salad cutting robot. The b-threads provide an incomplete specification for a simulated robot that needs to pick up vegetables, cut them and serve them to customers. Using reinforcement learning, the robot learns the correct order in which to execute these actions. |
− | * A Java library with extensions to BPJ for reinforcement learning. Import and add to the classpath | + | ** Example: Tic Tac Toe, where the application learns how to play despite underspecification. |
− | * Example: A Salad cutting robot. The b-threads provide an | + | |
− | * Example: Tic Tac Toe, where the application learns how to play despite underspecification. | + |
Latest revision as of 10:03, 28 April 2014
Adaptive Behavioral Programming
We introduce a way to program adaptive reactive systems, using behavioral programming. Extending the semantics of BPJ with reinforcements allows the programmer not only to specify what the system should do or must not do, but also what it should try to do, in an intuitive and incremental way. By integrating behavioral programs with reinforcement learning methods, the program can adapt to the environment, and try to achieve the desired goals.
Reference Materials
- Paper: Adaptive Behavioral Programming
- Code and examples:
- A base version of BPJ.
- A Java library with extensions to BPJ for reinforcement learning. Import and add to the classpath.
- Example: A Salad cutting robot. The b-threads provide an incomplete specification for a simulated robot that needs to pick up vegetables, cut them and serve them to customers. Using reinforcement learning, the robot learns the correct order in which to execute these actions.
- Example: Tic Tac Toe, where the application learns how to play despite underspecification.