{"id":28278009,"url":"https://github.com/deviant101/informed-and-uninformed-searches","last_synced_at":"2026-07-01T04:31:47.268Z","repository":{"id":287858419,"uuid":"966020313","full_name":"deviant101/Informed-and-Uninformed-Searches","owner":"deviant101","description":"A comparitive analysis of Informed and Uninformed Searches","archived":false,"fork":false,"pushed_at":"2025-04-14T09:37:53.000Z","size":220,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-18T16:45:50.752Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deviant101.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-14T09:24:46.000Z","updated_at":"2025-04-14T09:37:56.000Z","dependencies_parsed_at":"2025-04-14T10:48:04.078Z","dependency_job_id":null,"html_url":"https://github.com/deviant101/Informed-and-Uninformed-Searches","commit_stats":null,"previous_names":["deviant101/informed-and-uninformed-searches"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/deviant101/Informed-and-Uninformed-Searches","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deviant101%2FInformed-and-Uninformed-Searches","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deviant101%2FInformed-and-Uninformed-Searches/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deviant101%2FInformed-and-Uninformed-Searches/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deviant101%2FInformed-and-Uninformed-Searches/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deviant101","download_url":"https://codeload.github.com/deviant101/Informed-and-Uninformed-Searches/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deviant101%2FInformed-and-Uninformed-Searches/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34993435,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-01T02:00:05.325Z","response_time":130,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-21T07:14:16.179Z","updated_at":"2026-07-01T04:31:47.247Z","avatar_url":"https://github.com/deviant101.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Quest for a Treasure: A Comparative Analysis of Search Algorithms\n\nThis project implements and compares various informed and uninformed search algorithms in a grid-based environment representing a magical forest. The goal is to find an optimal path from a start point to a goal point while navigating through different terrain types with varying traversal costs.\n\n## Project Overview\n\nIn this magical forest, a brave explorer named Arin embarks on an adventure to find a treasure hidden inside an ancient temple. The forest is represented as a grid with different terrain types:\n\n- **Normal Path**: Easy to traverse (cost: 1)\n- **Walls**: Impassable obstacles\n- **Quicksand**: Slows movement (cost: 3)\n- **Portals**: Instant teleportation to another location (cost: 0)\n- **Wild Beasts**: Dangerous areas (cost: 5)\n\nThe explorer starts at the Campfire Point (S) and must reach the Temple (G) using the most efficient path.\n\n## Implemented Search Algorithms\n\nThe project implements five search algorithms:\n\n1. **Breadth-First Search (BFS)**: An uninformed search algorithm that expands the shallowest unexpanded node.\n2. **Depth-First Search (DFS)**: An uninformed search algorithm that expands the deepest unexpanded node.\n3. **Uniform-Cost Search (UCS)**: An uninformed search algorithm that expands the node with the lowest path cost.\n4. **Greedy Best-First Search (GBFS)**: An informed search algorithm that expands the node estimated to be closest to the goal.\n5. **A* Search**: An informed search algorithm that combines UCS and GBFS to find optimal paths efficiently.\n\n## Performance Metrics\n\nEach algorithm is evaluated based on the following metrics:\n- **Path Cost**: The total cost of the path found\n- **Nodes Expanded**: The number of nodes processed during the search\n- **Execution Time**: The time taken to find a path (measured in seconds)\n- **Memory Usage**: The peak memory consumption (measured in MB)\n- **Obstacles Encountered**: The number and types of obstacles faced along the path\n\n## Project Structure\n\n- `main.py`: Entry point of the program. Sets up the grid, runs the search algorithms, and displays results.\n- `search_algorithms.py`: Contains the implementation of the five search algorithms.\n- `visualizer.py`: Handles visualization of the grid, paths, and performance comparisons.\n\n## Running the Project\n\nTo run the project:\n\n```bash\npython main.py\n```\n\nThis will execute all five search algorithms on the grid, display the paths found, and show performance comparisons.\n\n## Visualization\n\nThe project provides two types of visualizations:\n\n1. **Path Visualization**: For each algorithm, the found path is plotted on the grid with different colors representing different terrain types.\n2. **Performance Comparison**: Bar charts comparing the execution time, memory usage, and nodes expanded for each algorithm.\n\n## Terrain Information\n\n| Terrain Type | Marker | Description | Cost | Color |\n|--------------|--------|-------------|------|-------|\n| Normal Path | 0 | Walkable terrain | 1 | Light Gray |\n| Wall (❌) | -1 | Impassable obstacle | ∞ | White |\n| Quicksand (⏳) | 2 | Slows movement | 3 | Yellow |\n| Portal (🔄) | 3 | Instantly moves to exit | 0 | Purple |\n| Wild Beasts (⚠️) | 4 | Dangerous area | 5 | Red |\n| Start (S) | 5 | Starting position | 0 | Green |\n| Goal (G) | 6 | Target location | 0 | Blue |\n\n## Requirements\n\n- Python 3.x\n- NumPy\n- Matplotlib\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeviant101%2Finformed-and-uninformed-searches","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeviant101%2Finformed-and-uninformed-searches","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeviant101%2Finformed-and-uninformed-searches/lists"}