In this project we implemented a smart vaccuum cleaning agent that finds its path to dirty tiles and tries to clean the room. Three classes of agents with variable visibility were developed and their performance was evaluated regarding the percentage of clean tiles in a 5 second period. For the first class of agents, the agent had fully observable environments and their path finding algorithms were implemented using BFS, Dantizg, Bellman Ford, A*, Greedy-BFS, TSP, and Bidirectional search. For the second class of agents with partially observable environments, the path finding algorithm was implemented using a stochastic agent. For the third approach with the agent with unobservable environment, the agent was implemented using a random path finding approach. This project aims to find the optimal path for cleaning the room in a timely and effecient manner.
- Fully Observable
- Partially Observable
- Non Observable
- Breadth First Search (BFS)
- A* Algorithm
- Dantzig
- Bellman Ford
- Bidirectional Search
- Greedy Best First Search
- Simulated Annealing for solving the Travelling Salesman Problem (TSP)
- Depth First Search (DFS) for room discovery and dust grouping
- Closest dirt (using the Super Node approach)
- Dust grouping (based on the famous number of Islands in a graph problem)
- Java 8
- JavaFx
- Scene Builder
This Application is built by Ziad Saoud, Elie Antoun, and Rony Abi Hanna.
- Select height and width of the room