Giter Site home page Giter Site logo

annazhu99 / cs7320-ai Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mhahsler/cs7320-ai

0.0 0.0 0.0 161.84 MB

Examples for an AI course following the textbook Artificial Intelligence: A Modern Approach by Russell and Norvig.

License: Creative Commons Attribution Share Alike 4.0 International

Python 0.06% HTML 16.91% Jupyter Notebook 83.03%

cs7320-ai's Introduction

Artificial Intelligence - Simple Python Code Examples and Assignments

Assignments and examples for the course in CS 5/7320 Artificial Intelligence taught at the Computer Science Department at SMU by Michael Hahsler. Slides and more information for students taking the course can be found on SMU's Canvas.

The code examples follow the textbook Artificial Intelligence: A Modern Approach (AIMA) by Russell and Norvig. The code in this repository is intended to be simple to focus more on the basic AI concepts and less on the use of advanced implementation techniques (e.g., object-oriented design). More complex code examples accompanying the textbook can be found at the GitHub repository aimacode.

Covered AIMA Chapters

Chapter Slides Code
1: Introduction to AI Slides -
2: Intelligent Agents Slides Code
3: Solving Problems by Search Slides Code
4.1-2: Search in Complex Environments: Local Search Slides Code
4.3-5: Search in Complex Environments: Search with Uncertainty Slides Code
5: Adversarial Search and Games Slides Code
6: Constraint Satisfaction Problem Slides Code
7-9: Logical Agents Slides -
12: Quantifying Uncertainty Slides Code
13: Probabilistic Reasoning Slides Code
16: Making Simple Decision Slides -
17: Making Complex Decision - Code
19: Learning from Examples (Machine Learning) Slides Code

Installing Python and Jupyter Notebook

You can experiment with the code online without installation using Google CoLab.

To work on assignments, you can use one of several environments:

  • Use the online service Google CoLab. No additional installations are necessary.
  • Install Docker and use a prepared JupyterLab on Ubuntu image. Execute docker run -p 8888:8888 -e JUPYTER_ENABLE_LAB=yes jupyter/datascience-notebook to download and create a container that runs JupyterLab and bookmark the link (including the login token) that you get during installation. Details and configuration options can be found on the Jupyter Docker stack GitHub page) From now on, use docker ps -a to list containers and their container id, docker stop <container id> and docker start <container id> to stop and start the container (do not use run again because it will create a new empty container).
  • Install Python, JupyterLab and all needed packages yourself. You can also use Visual Studio Code as a nice editor.

Learning Python and Jupyer Notebook

If you are not familiar with Python, then you should work through one of the many Python tutorials (e.g., this tutorial) to learn the basics about Python and the packages numpy and pandas. Some code examples that help with the assignments are available here.

How to use Jupyter notebooks is covered in many online tutorials like the Jupyer notebook tutorial.

Working on Assignments

You can fork this repository to work on your solutions with version control. The assignments are improved frequently, so always sync your fork before you start to work on a new assignment. Here is how to update your repository with my changes:

git fetch upstream
git checkout master
git merge upstream/master
git push

Your assignment notebooks needs to be a complete project reports with

  • documentation (including your design choices),
  • code (with comments for difficult to unserstand sections) and
  • results (e.g., tables with simulation results) with a short discussion of what they mean.

Use the provided notebook cells and insert additional code and markdown cells as needed.

License

All code and documents in this repository are provided under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License.

CC BY-SA 4.0

cs7320-ai's People

Contributors

mhahsler avatar

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.