aimacode / aima-java

Java implementation of algorithms from Russell And Norvig's "Artificial Intelligence - A Modern Approach"
MIT License
1.55k stars 795 forks source link

Add support for general purpose environment simulator #52

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Note: This capability is referred to in pages 45-46 of AIMA3e -

"The code repository associated with this book (aima.cs.berkeley.edu)
includes implementations of a number of environments, together with a
general-purpose environment simulator that places one or more agents in a
simulated environment, observes their behavior over time, and evaluates
them according to a given performance measure. Such experiments are
often carried out not for a single environment but for many environments
drawn from an environment class. For example, to evaluate a taxi driver in
simulated ENVIRONMENT traffic, we would want to CLASS run many simulations
with different traffic, lighting, and weather conditions. If we designed
the agent for a single scenario, we might be able to take advantage of
specific properties of the particular case but might not identify a good
design for driving in general. For this reason, the code repository also
includes an environment generator ENVIRONMENT for each environment
GENERATOR class that selects particular environments (with certain
likelihoods) in which to run the agent. For example, the vacuum environment
generator initializes the dirt pattern and agent location
randomly. We are then interested in the agent’s average performance over
the environment class. A rational agent for a given environment class
maximizes this average performance. Exercises 2.8 to 2.13 take you through
the process of developing an environment class and evaluating various
agents therein."

Original issue reported on code.google.com by ctjoreilly@gmail.com on 16 Feb 2010 at 6:46

GoogleCodeExporter commented 9 years ago

Original comment by ctjoreilly@gmail.com on 16 Feb 2010 at 6:47

ctjoreilly commented 7 years ago

Ideally, this should be developed in the 'extra' module of the AIMA4e branch, i.e.:

aima.extra.environment

with sub-packages: .simulator // for general purpose simulator .generator

where an initial submission for this issue should focus on the Vacuum world and Map2D environments from the core.

jianxinliu commented 7 years ago

Can I apply for solving this issue in GSoC 2017? @ctjoreilly

ctjoreilly commented 7 years ago

Yes but it may be tricky at this stage of the AIMA4e's development as not all the algorithms are in place/stabilized.

jianxinliu commented 7 years ago

Thank you for your reply.I have mentioned it in my proposal. @ctjoreilly