Skip to content

Latest commit

 

History

History
95 lines (66 loc) · 2.36 KB

File metadata and controls

95 lines (66 loc) · 2.36 KB

🤖 AI_Lab

AI_Lab is a collection of Artificial Intelligence lab implementations focused on solving classic problems using informed and uninformed search algorithms.
This repository demonstrates core AI concepts through hands-on Python programs and experiments.


📌 Overview

The project covers fundamental AI problem-solving techniques commonly taught in AI coursework.
It includes implementations of search strategies applied to well-known problems such as the N-Queens problem, Water Jug problem, Hangman, and other state-space search scenarios.

The repository serves as a learning and reference resource for understanding how search algorithms work in practice.


🧠 Topics Covered

  • Informed Search Algorithms

    • Heuristic-based search
    • A* Search
  • Uninformed Search Algorithms

    • Breadth-First Search (BFS)
    • Depth-First Search (DFS)
  • State-space problem modeling

  • Constraint-based problem solving


📂 Repository Structure

AI_Lab/
│── pythonbasics/
 |── ai_lab_python_basics.ipynb

│── informed/
 │── gbfsailab.ipynb

│── Uninformed/
 │── bfs.py
 │── dfs.py

│── nqueens/
 │── nqueens.py

│── waterjug/
 │── waterjug.py
 │── waterjugmod.py

│── hangman/
 │── hangman.py


⚙️ How It Works

  • Each folder focuses on a specific AI problem or search strategy
  • Problems are modeled as states with valid transitions
  • Search algorithms explore the state space to reach goal states
  • Heuristics are used in informed search to improve efficiency

▶️ How to Run

Ensure Python is installed, then run any script:

python filename.py

For Jupyter notebooks:

jupyter notebook

📌 Use Cases

  • AI and Machine Learning coursework
  • Understanding search algorithms
  • Interview preparation for AI roles
  • Academic lab experiments

🔮 Future Enhancements

  • Add more heuristic optimization examples -Performance comparison between algorithms
  • Visualization of search trees
  • Integration with interactive GUIs

🤝 Contributions

This repository is primarily for academic and learning purposes. Suggestions, improvements, and contributions are welcome via pull requests or issues.