$39
Project Definition
In this project, you are required to determine the shortest path between two cities using the Uniform Cost Search (UCS) algorithm. Figure 1 illustrates the road map provided for this assignment.
Figure 1. A simplified road map of some Turkish cities.
To-Do
You are going to develop a Python application, which is expected to meet the following requirements:
R1. The road map should be initialized from a csv file.
R2. The user should be able to specify the path of the road map file.
R3. The user should be able to specify the start (current city).
R4. The user should be able to specify the end (target city).
R5. The application should present the shortest path and the distance between the start and end.
R6. The application should be robust and able to handle exceptions (e.g., FileNotFoundError and CityNotFoundError)
Modify the script file (submission.py) provided for you to meet the requirements described above. Create a PDF report describing UCS and your effort in this assignment. Furthermore, test your application with the following city pairs and include the outcomes in your report.
To-Submit
Only submit the source code (submission.py) and your report in PDF format. Do not upload data files. Submitted file should be an archive (tar, zip, rar, etc.) named as your id-name-surname (e.g., 12345678910-alper-bilge.zip)
Submit your own work.
“Honesty is the best policy; I will stick to that.” – Miguel de Cervantes.
.
Test samples:
Data:
The road map data file (cities.csv) contains 22 roads among 15 different cities. The roads are bidirectional.
Also, the first row is the header; do not forget to skip it.
Notes
Please read this document very carefully.
Submissions not complying with the To-Do list will be disqualified.