Cesar-mlw / ai-espm

Code related to Intelligent Agents, Solving Problem by Searching, Informed Search Methods, Game Playing and Reinforcement Learning.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Code for Artificial Intelligence course

I am using this project to support actitivies related to the Artificial Intelligence course that is part of an undergraduate course at ESPM, Computer Information Systems.

The topics discussed in the course are:

  1. Artificial Intelligence Introduction;
  2. Intelligent Agents;
  3. Solving Problems by Searching;
  4. Informed Search Methods;
  5. Game Playing;
  6. Reinforcement Learning (Here, I present the concept of Learning from Observations, Supervised Learning and Unsupervised Learning. However, I have a specific course to discuss those topics. You can access this material here).

If you prefer, you can check the description of this course in this video.

How this project is structured

We have four (4) folders:

  • docs: this folder has several documents describing concepts, algorithms and projects. All content is in Portuguese.

  • search: this folder has implementations related to solving problem by searching, and informed search methods. I suggest to start from this folder in order to understand all the implementations (search, games, and reinLearn).

  • games: this folder keeps source code related to game playing.

  • reinLearn: this folder has source code related to reinforcement learning. Some examples are using the project Gym.

How to setup the environment

In order to avoid any configuration problem, I recommend to create a virtual environment with python 3.7:

python3.7 -m virtualenv venv
source venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt

To quit the virtual environment, type deactivate. If you already have the virtual environment configured then type source venv/bin/activate.

About

Code related to Intelligent Agents, Solving Problem by Searching, Informed Search Methods, Game Playing and Reinforcement Learning.


Languages

Language:Jupyter Notebook 88.2%Language:Python 11.7%Language:Shell 0.0%