alhussain-shaikh / AI

This repository contains implementations of various AI and search algorithms for different problems. Below is an overview of the projects and algorithms included.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Basic AI Problems

AI and Search Algorithms Projects

This repository contains implementations of various AI and search algorithms for different problems. Below is an overview of the projects and algorithms included.

2-Player Game: Tic Tac Toe

  • Magic Square (NON AI)
  • Minimax (AI)
  • Alpha-beta (AI)

Uninformed Search (BFS and DFS)

  • 8-Puzzle
  • Water Jar
  • Missionary Cannibals
  • N-Queens

Informed Search

  • 8-Puzzle using A*
  • 8-Puzzle using Best First Search
  • 8-Puzzle using Hill Climbing
  • Shortest Path Finding using A*
  • Shortest Path Finding using AO*
  • Shortest Path Finding using Best First Search

Constraint Satisfaction Problems

  • Crypt Arithmetic
  • Graph Coloring
  • N-Queens
  • Sudoku

Prolog

  • Implementation of Predicate Logic
  • Implementation of Expert System

Project Descriptions

Tic Tac Toe

  • Magic Square (NON AI): A non-AI approach to solving Tic Tac Toe using the magic square method.
  • Minimax (AI): Implementation of the Minimax algorithm for an AI opponent in Tic Tac Toe.
  • Alpha-beta (AI): An optimized version of Minimax using alpha-beta pruning for better performance.

Uninformed Search

  • 8-Puzzle: Solving the 8-puzzle problem using breadth-first search (BFS) and depth-first search (DFS).
  • Water Jar: Solutions to the water jar problem using BFS and DFS.
  • Missionary Cannibals: Solving the classic missionary and cannibals problem using BFS and DFS.
  • N-Queens: Solving the N-Queens problem using BFS and DFS.

Informed Search

  • 8-Puzzle using A*: Using the A* algorithm to solve the 8-puzzle problem.
  • 8-Puzzle using Best First Search: Solving the 8-puzzle problem with Best First Search.
  • 8-Puzzle using Hill Climbing: Solving the 8-puzzle problem with the Hill Climbing algorithm.
  • Shortest Path Finding using A*: Finding the shortest path in a graph using the A* algorithm.
  • Shortest Path Finding using AO*: Using the AO* algorithm to find the shortest path.
  • Shortest Path Finding using Best First Search: Implementing Best First Search to find the shortest path.

Constraint Satisfaction Problems

  • Crypt Arithmetic: Solving crypt arithmetic problems.
  • Graph Coloring: Solving the graph coloring problem.
  • N-Queens: Constraint satisfaction approach to solving the N-Queens problem.
  • Sudoku: Solving Sudoku puzzles using constraint satisfaction techniques.

Prolog

  • Implementation of Predicate Logic: Using Prolog to implement predicate logic.
  • Implementation of Expert System: Developing an expert system using Prolog.

Getting Started

To run any of these projects, follow the instructions below:

  1. Clone the repository:

    git clone https://github.com/alhussain-shaikh/AI.git
    cd AI
  2. Navigate to the relevant project directory.

  3. Compile and run the code as per the instructions in the project's README file or comments.

Prerequisites

  • Java: For search algorithm implementations.
  • Prolog: For Prolog-related projects.
  • IDE or Text Editor: Preferably IntelliJ IDEA, Eclipse, or any text editor like VS Code.

Acknowledgments

  • Thanks to all contributors and the open-source community for their invaluable resources and support.

Feel free to explore the projects, run the code, and contribute to the repository! If you have any questions or suggestions, please open an issue or contact the repository maintainer.

Happy Coding!

About

This repository contains implementations of various AI and search algorithms for different problems. Below is an overview of the projects and algorithms included.


Languages

Language:Java 71.4%Language:Prolog 17.8%Language:C++ 10.9%