Skip to content

Searchy ๐Ÿ”Ž is a simple web app built to explore problem-solving search algorithms in a maze environment. This app has been developed during my studies in Artificial Intelligence at University of Pisa.

Notifications You must be signed in to change notification settings

matmont/searchy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

17 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Searchy

Netlify Status

Searchy wants to be an environment to test and visualize different problem-solving AI agents (i.e. searching algorithms) upon a simple problem as a fully-observable maze scenario.

This simple project has been developed as part of my studies in the Artificial Intelligence Master's Degree in Pisa, during the lectures of the Artificial Intelligence Fundamentals course. My willingness is to open source this and try to continuously improve and evolve it to support less trivial scenarios. You can find the theory of those concepts in the 2.3 Chapter of the AIMA (Artificial Intelligence: A Modern Approach, 4th ed.).

You can play with it here. Take a look at this blog post too.

Searchy Screenshot

Usage

Even if pretty simple, I want to introduce the basic controls in that section of the README. The idea is to be able to configure your maze choosing the number of rows and columns of the grid. After that, you can go ahead with the maze generation. Once you have your preferred setup, just select your algorithm of choice and hit that start button. Enjoy! ๐Ÿ˜ After the first run, you can see below the controls a little section showing some stats about the last search. This section will be expanded with useful infos whenever they come to my mind. That's the section of reference when comparing different algorithms!

Run Locally

To start the project locally

  git clone https://github.com/matmont/searchy.git
  cd searchy
  pnpm install
  pnpm run dev
  npx tailwindcss -i ./src/style.css -o ./dist/style.css --watch

To Do

I want to gather here a kind of roadmap for the app. Feel free to open issues to propose new ones and PRs to start burning those out!

  • Add more algorithms
    • Genetic algorithms
    • Dijkstra's algorithm
  • Add more stats
    • Optimal solution?
  • Draw optimal solution(s)
  • Allows user to change starting player position
  • Allows for multiple goals
  • Add uncertainty/partial observability
  • Allows user to remove maze
  • Support and allows for selection of multiple maze-generation techniques

About

Searchy ๐Ÿ”Ž is a simple web app built to explore problem-solving search algorithms in a maze environment. This app has been developed during my studies in Artificial Intelligence at University of Pisa.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published