Code Monkey home page Code Monkey logo

ai2014's People

Contributors

armstrongnate avatar

Watchers

 avatar

ai2014's Issues

Search Part 1

Objective:

Download the starter kit. Create your Agent class. The Agent::Program() should
display the set of percepts received, and move North, if that direction is
passable. If North is not passable, the agent should quit. Submit the agent
header and source files and the AgentPrograms.pm file. Be sure to name the
files you create with your initials at the beginning. Be sure to put your code in a
namespace with your initials.

Wumpus part 1

Design and implement all propositional logic necessary to use a knowledge base
for the bulk of your agent's world model. Design at least one example wumpus
world, complete with wumpus, gold, pits, breezes, stench, etc.
Create the “logic physics” rules for wumpus world. Create “instance” rules to
represent the exploration of the example world. Create questions to ask about
the safety of cells. Use PL_Shell to test the correctness of your logic.
Implement a C++ class to use as the knowledge base model of your
environment. This class should have methods to handle the creation of physics
rules, telling of instance rules, and asking of questions. (No other code in your
agent's program should have to know about the propositional logic.) The
PL_Dragons code demonstrates a class the inherits from KnowledgeBase to
implement logic for a specific environment.
Additionally, this world model class will need to track the position and direction
of the agent, since no position or direction percepts are available.

Search Part 2

Modify your Agent class, or create a new one. The Agent::Program() must read
the percepts and set the data in a Model class (you must create the Model class).
Then it must use the ai::Search library to find a path from the Agent's position to
the goal position. It must display the path to standard output. Finally, it must
return the QUIT action.

You must create classes that derive from ai::Search::Action, ai::Search::State,
and ai::Search::Problem that are specific to this problem. You should use the
ai::Search::Graph algorithm, with the ai::Search::BFFringe frontier to find the
path.

Remember to put all of your code in your personal namespace, and to put your
initials at the beginning of all file names.

Submit all of your source files (.h and .cpp) and the AgentPrograms.pm file.

Checkers part 1

If there is a new starter kit, you will want it.
Create your agent in the ai-agents/prog/ChineseCheckers directory. Follow the
same filename and namespace guidelines as in previous assignments. You will
use AgentPrograms.pm to configure the build of your agents, as in previous
assignments.
Create an agent that plays at least 3 ply deep in the time allotted. This means,
you'll probably need to use alpha-beta pruning. (If only an example
implementation for a different game existed.)
For your utility function, just use your forwardness minus your opponent's
forwardness.
Submit all of your source files (.h and .cpp) and the AgentPrograms.pm file.

Search Part 3

Modify your Agent class, or create a new one. This Agent::Program() must do
everything from Part 2. In addition, it must 1) allow the user to choose the
search frontier and search algorithm, 2) store in memory the solution path found,
and execute it. 3) when in the goal location, search for a path to the base, store
this path in memory, and execute it.�se command line arguments (look at Snorlax.cpp for an example) to read the
user's wishes regarding search strategy. Your agent must support Tree and
Graph search. It must also support BFS, UCS, DFS, and DLS frontiers. It must
support all combinations of algorithm and frontiers. (NumbersSolver.cpp and
MazeSolver.cpp show a complicated way to dynamically choose the search
strategy.)
Use a container data structure (like std::list, std::queue, etc.) to store the actions
found by your search. When your Agent::Program() method is called, pop an
action off of the queue, and execute it if there is one. If there is not one, then do
a search to find actions. If there are still no actions after a search, issue the
QUIT command.
Submit all of your source files (.h and .cpp) and the AgentPrograms.pm file.

Scavenger Part 1

If there is a new starter kit, you will want it. If so, download it, unpack it, and
move your source code over to the ai-agents/prog/ScavengerWorld directory.

Add your current agent to AgentPrograms.pm. Build and run your agent to be
sure that you copied everything correctly.

Create a new agent, or a modified version of your agent that can be configured
from the command line to run for this new environment description. It is
strongly recommended that you keep a working version of your previous agent.

Your new Problem class must be able to search for a path from the current
location to an unvisited cell, and from any specified location to the cell where the
base is located.

Your new Model class must be able to be updated as new cells are discovered,
and new interface types are discovered. Your new Agent must be able to update
the Model class every time percepts are received.

Your new Agent class must be able to issue LOOK commands to discover
interface types that are not known, but are needed.

Your new Agent class must be able to go back to the base and RECHARGE before
running out of charge.

Your new Agent class must be able to know when it is not possible to visit any
new cells.

Remember to put all of your code in your personal namespace, and to put your
initials at the beginning of all file names.

Submit all of your source files (.h and .cpp) and the AgentPrograms.pm file.

Checkers part 2

Create at least one modified utility function for your agent. Remember that the
current one tends to leave stragglers behind. Select the best utility function you
can discover. At the same depth, this utility function should always win against
your agent with the old utility function. Yes, you should play your agent against
other versions of itself.
It would be useful if you allow the utility function to be selected using command
line arguments so you can easily run your agent against itself.
Submit all of your source files (.h and .cpp) and the AgentPrograms.pm file.

Scavenger Part 2

Your Agent must PICKUP as many interesting objects as possible, and DEPOSIT
them in the base. To know the attributes of an object, the Agent must EXAMINE
them. Objects that are not of the desired types will either cause physical
damage to your agent robot or give negative points when DEPOSITed.

Remember to put all of your code in your personal namespace, and to put your
initials at the beginning of all file names.

Submit all of your source files (.h and .cpp) and the AgentPrograms.pm file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.