Skip to content
This repository has been archived by the owner on Dec 26, 2021. It is now read-only.
/ AI-intro-project Public archive

The Penniless Pilgrim Riddle: A capstone project for Introduction to AI course in Hanoi University of Science and Technology.

License

Notifications You must be signed in to change notification settings

htnminh/AI-intro-project

Repository files navigation

Table of Contents

The Penniless Pilgrim Riddle: Introduction

A capstone project for Introduction to Artificial Intelligence course.
A quick introduction of the problem: Can you solve the penniless pilgrim riddle? - Daniel Finkel.

In short, we will keep the original rules of the game, but randomize the board size and the "forced moves" (aka. the initial state).

image

Play the game!

Five easy steps to play the game:

  1. Make sure that Python (3.9.9) and pip (21.x) are installed on your local machine
  2. Download this repository, unzip it (it's safe to use the option Extract here)
  3. Open cmd (or terminal), navigate (using cd) to that folder (AI-intro-project-main by default)
  4. Run
    pip install .
  5. Run
    python AI_intro_project\play.py
    to open the UI above

If you want to completely remove the game, just delete the zip file and the folder specified above.

WARNING: Running algorithms or analytical files might cause your computer to get a bit slow and laggy. Use at your own risk.

Hyperlinks

The website of the project: https://htnminh.github.io/AI-intro-project/

The demo video of the game: https://drive.google.com/drive/folders/1umrgx2-0w48aSoWVvgOEyPI1revnNV8j?usp=sharing

The report Notion page: https://htnminh.notion.site/The-Penniless-Pilgrim-Riddle-e3bbfaf5d7b949fdadf5a898df1f8883

Collaborators

We are K65 of Hanoi University of Science and Technology, major in Data Science and Artificial Intelligence. Under the guidance of our lecturer, Professor Muriel Visani, we will together solve this riddle.

  • Hoàng Trần Nhật Minh
  • Nguyễn Hoàng Phúc
  • Lê Thảo Anh
  • Lý Nhật Nam
  • Đỗ Xuân Phong

Guide for collaborators

Introduction to files and directories in the repository

Important:

  • AI_intro_project\Coordinate_and_Move.py and AI_intro_project\State.py: The core game.
  • AI_intro_project\play.py: The UI of the game.
  • AI_intro_project\StateRandomizer.py: The file to randomly generate and save initial states.
  • AI_intro_project\search_algo\astar_Sfirst.py: The implementation of A*.
  • AI_intro_project\search_algo\dfs.py: The implementation of DFS.
  • AI_intro_project\search_algo\recursive_BFS.py: The implementation of RBFS.
  • publication\group17-presentation.pdf: The presentation.
  • publication\group17-report.pdf: The report.

Interesting:

  • AI_intro_project\_initial_states_images: The images of the randomized initial states.
  • AI_intro_project\_RBFS_solved_state_images: The images of the solution generated by RBFS algorithm.
  • AI_intro_project\_s_astar-Sf_solved_state_images: The images of the solution generated by A* algorithm.
  • AI_intro_project\_s_DFS_solved_state_images: The images of the solution generated by DFS algorithm.
  • AI_intro_project\randomized_states: The pickle files (default .pkl but we use .state to distinguish) of the randomized initial states.

Docs