All Projects → snrazavi → AI-Programming-using-Python

snrazavi / AI-Programming-using-Python

Licence: other
This repository contains implementation of different AI algorithms, based on the 4th edition of amazing AI Book, Artificial Intelligence A Modern Approach

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to AI-Programming-using-Python

pathfinding-visualizer
🔍 A friendly visualizer for some search algorithms, like DFS, BDS, Greedy and A*
Stars: ✭ 21 (-51.16%)
Mutual labels:  searching-algorithms, breadth-first-search, depth-first-search
KnapsackFX
Solving Knapsack 0/1 problem with various Local Search algorithms like Hill Climbing, Genetic Algorithms, Simulated Annealing, Tabu Search
Stars: ✭ 25 (-41.86%)
Mutual labels:  genetic-algorithm, simulated-annealing, hill-climbing
ai-n-queens
Solving and GUI demonstration of traditional N-Queens Problem using Hill Climbing, Simulated Annealing, Local Beam Search, and Genetic Algorithm.
Stars: ✭ 30 (-30.23%)
Mutual labels:  genetic-algorithm, simulated-annealing, hill-climbing
pathfinding-visualizer
Website built using React Framework for visualizing Pathfinding and Maze Generation Algorithms.
Stars: ✭ 33 (-23.26%)
Mutual labels:  breadth-first-search, depth-first-search
Traverser
Traverser is a Java library that helps software engineers implement advanced iteration of a data structure.
Stars: ✭ 45 (+4.65%)
Mutual labels:  breadth-first-search, depth-first-search
Mathematical-Modeling
A sharing of the learning process of mathematical modeling 数学建模常用工具模型算法分享:数学建模竞赛优秀论文,数学建模常用算法模型,LaTeX论文模板,SPSS工具分享。
Stars: ✭ 30 (-30.23%)
Mutual labels:  genetic-algorithm, simulated-annealing
jsgraph
Deprecated: Use the @encapsule/arccore package that includes the graph library
Stars: ✭ 42 (-2.33%)
Mutual labels:  breadth-first-search, depth-first-search
sopt
sopt:A simple python optimization library
Stars: ✭ 42 (-2.33%)
Mutual labels:  genetic-algorithm, simulated-annealing
Ascension
A metaheuristic optimization framework
Stars: ✭ 24 (-44.19%)
Mutual labels:  genetic-algorithm, simulated-annealing
Scikit Opt
Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing, Ant Colony Optimization Algorithm,Immune Algorithm, Artificial Fish Swarm Algorithm, Differential Evolution and TSP(Traveling salesman)
Stars: ✭ 2,791 (+6390.7%)
Mutual labels:  genetic-algorithm, simulated-annealing
lua-graph
Graph algorithms in lua
Stars: ✭ 57 (+32.56%)
Mutual labels:  breadth-first-search, depth-first-search
Dino-AI
An AI to teach Google Chrome's dinosaur to jump obstacles.
Stars: ✭ 15 (-65.12%)
Mutual labels:  genetic-algorithm
Py Ga Vrptw
A Python Implementation of a Genetic Algorithm-based Solution to Vehicle Routing Problem with Time Windows
Stars: ✭ 246 (+472.09%)
Mutual labels:  genetic-algorithm
Circle Evolution
Evolutionary Art Using Circles in Python
Stars: ✭ 237 (+451.16%)
Mutual labels:  genetic-algorithm
Neural Network P5
Deprecated! See:
Stars: ✭ 218 (+406.98%)
Mutual labels:  genetic-algorithm
interview-cookbook
A playground for learning DataStructures, Algorithms, and Object-Oriented Concepts.
Stars: ✭ 25 (-41.86%)
Mutual labels:  searching-algorithms
Pysr
Simple, fast, and parallelized symbolic regression in Python/Julia via regularized evolution and simulated annealing
Stars: ✭ 213 (+395.35%)
Mutual labels:  genetic-algorithm
Aimandshoot
A neuroevolution game experiment.
Stars: ✭ 201 (+367.44%)
Mutual labels:  genetic-algorithm
Watchmaker
The Watchmaker Framework for Evolutionary Computation
Stars: ✭ 189 (+339.53%)
Mutual labels:  genetic-algorithm
Advanced-Shortest-Paths-Algorithms
Java Code for Contraction Hierarchies Algorithm, A-Star Algorithm and Bidirectional Dijkstra Algorithm. Tested and Verified Code.
Stars: ✭ 63 (+46.51%)
Mutual labels:  astar-algorithm

AI-Programming-using-Python

This repository contains implementation of different AI algorithms, based on the amazing AI book Artificial Intelligence: A Modern Approach (4th edition, 2020).

Contents

First part:

  • Search problems
    • Uninformed search strategies:
      • BFS, DFS, UCS, DLS, IDS
    • Informed search strategies:
      • Gready, A-star


Example: solving 8-puzzle using search algorithms.

- Local search:
    - Hill climbing, Simulated Annealing, Genetic algorithms


Example solution found by simulated annealing for TSP problem (for 50 cities).


Example: solving 10-Queens using simulated annealing.

- Adversarial search and games
    - MiniMax, alpha-beta pruning

Python programming concepts

  • Object oriented programming in Python
    • Using and defining special python methods (dunder methods).
    • Immutable objects.
    • Making an object hashable (implementing __hash__() and __eq__() methods.
    • Implementing decortors in Python.
    • Class methods and static methods.
    • __repr__() and __str__() methods.

Second part:

  • Machine learning
    • Supervised learning:
      • KNN, Naive Bayes, Desision Trees, SVM, Neural Nets
    • Unsupervised learning:
      • k-Means clustering
    • Reinforcement learning
      • Q-learning

Example problems

  • Search:
    • N-Puzzle, N-Queens, TSP
  • Games:
    • Pacman, Chess
  • Learning:
    • Pacman, Chess, etc.

Lesson 1: Uninformed (blind) search strategies

  • Implementing data structures like stack, queue and priority queue
  • Implementing N-Puzzle (8-Puzzle)
  • Implementing uninformed search strategies: BFS, DFS, UCS, DLS, IDS
  • Programming assignment

Lesson 2: Informed search strategies

  • Implementing informed search strategies: Greedy, A-star
  • Programming assignment

Lesson 3: Local search

  • Implementing N-Queens and TSP(a graphical implementation)
  • Implementing local search strategies: hill climbing, simulated annealing and genetic algorithms
  • Programming assignment

Lesson 4: Adversarial search and games

  • Implementing Otello
  • Implementing adversarial search algoritms: Minimax and alpha-beta prunning
  • Programming assignment

Prerequisite

  • Basic knowledge of programming (Python)
  • Basic knowledge of data structures and algorithms

After first part:

  • You will have a good understanding of basic AI techniques (solving problems using searching)
  • You will become a real python programmer and most importantly a real programmer!
  • You will see a lot of programming challenges and you will learn how to solve them

Reference

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].