Skip to content

tamir39/applied-AI-algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

AI Algorithms Application: Optimization, Games, Logic & Classification

This repository contains the implementation and evaluation of various Artificial Intelligence (AI) algorithms to solve four distinct classes of real-world problems. The project emphasizes Object-Oriented Programming (OOP) principles and modular code structure using Python.

🚀 Key Features & Algorithms

1. Function Optimization (Simulated Annealing)

  • Problem: Finding the global maximum of a complex mathematical function on a 3D surface within a defined range.
  • Algorithm: Simulated Annealing.
  • Key Implementation: Applied probabilistic acceptance of worse states to avoid local optima and successfully converge toward the global maximum.

2. Strategic Game (Tic-Tac-Toe 9x9)

  • Problem: Developing an intelligent agent to play a 9x9 variant of Tic-Tac-Toe (Caro).
  • Algorithm: Alpha-Beta Pruning integrated with H-minimax strategy.
  • Key Implementation: Designed a custom Heuristic evaluation function to assess board states when the search tree depth is limited, ensuring strategic and efficient decision-making.

3. Logic Constraint (Propositional Logic & SAT Solver)

  • Problem: Resolving map coloring and logic puzzles based on a set of given constraints.
  • Algorithm: Propositional Logic transformation to Conjunctive Normal Form (CNF).
  • Key Implementation: Utilized the PySAT library and SAT Solvers to model logical constraints and identify satisfiable solutions for complex combinatorial problems.

4. Machine Learning Classification (Naïve Bayes)

  • Problem: Predicting student academic performance based on historical datasets.
  • Algorithm: Naïve Bayes Classifier.
  • Key Implementation: Performed Data Discretization to handle continuous variables and utilized conditional probability to categorize academic outcomes with high accuracy.

🛠 Tech Stack

  • Language: Python
  • Core Libraries: * SymPy: For symbolic mathematics and function processing.
  • PySAT: For solving SAT-based logic problems.
  • Matplotlib / NumPy: For data visualization and numerical computations.
  • Pygame: For interactive game interface and visualization.

📈 Results & Conclusions

  • Successfully implemented all algorithms with experimental results matching theoretical expectations.
  • Developed a modular architecture that allows for easy maintenance and scalability of AI modules.
  • Conducted detailed performance analysis regarding computational complexity and classification accuracy.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors