Skip to content

MHosseinHashemi/AI-Fundamentals

Repository files navigation

AI-Fundamentals

This collection was built as programming assignments for an AI-fall 2024 course at IASBS. It serves as both a learning tool and a reference for exploring different search and optimization strategies.

Included Algorithms

Uninformed Search

  • A* (A-star)
  • BFS (Breadth-First Search)
  • DFS (Depth-First Search)
  • DLS (Depth-Limited Search)
  • IDS (Iterative Deepening Search)
  • UCS (Uniform-Cost Search)

Informed & Local Search

  • Hill Climbing

Metaheuristics

  • PSO (Particle Swarm Optimization)
  • SA (Simulated Annealing)

Visual Example

Ackley_SA The Simulated Annealing implementation includes a demo using the Ackley function to show how the algorithm explores and optimizes over time

File Overview

  • main.py – Entry point to run or test algorithms
  • Search algorithms: BFS.py, DFS.py, DLS.py, IDS.py, UCS.py, AS.py
  • Local/metaheuristic algorithms: HC.py, PSO.py, SA.py
  • Helpers: Function_Generator.py
  • Visualization: Informed_Vis.py, Uninformed_Vis.py

Getting Started

  1. Clone the repo.
  2. (Optional) Inspect or tweak algorithm parameters.
  3. Run main.py to experiment with different methods.
  4. Use the visualization modules to explore performance.

License

This project is released under the MIT License.