Starting from:

$35

Project 2: TSP – Search with BFS and DFS


Project 2: TSP – Search with BFS and DFS

•    Learning objectives:
o    Search Techniques for graphs
o    BFS and DFS algorithms 

•    Background
o    A Traveling Salesperson Problem (TSP) is an NP-complete problem.  A salesman is given a list of cities and a cost to travel between each pair of cities (or a list of city locations). The salesman must select a starting city and visit each city exactly one time and return to the starting city. His problem is to find the route (also known as a Hamiltonian Cycle) that will have the lowest cost. 
For this lab we are looking at a special case of TSP in which not all cities are connected and the salesperson only needs to find the best path to a target city not visit all cities.
•    Problem
o    For the given dataset (11PointDFSBFS.tsp), starting at the first city (city 1) find the shortest path to the goal city (city 11). 
o    Implement Breadth First Search (BFS) and Depth First Search (DFS) algorithms
o    Visit cities in numerical order if you need to break a tie. You can hardcode connected edges into your algorithm for this problem, see table below

Table 1: Cities connected by a one way path of Euclidian distance (left = from, top = to).
pt    1    2    3    4    5    6    7    8    9    10    11
1        x    x    x                            
2            x                                
3                x    x                        
4                    x    x    x                
5                            x    x            
6                                x            
7                                    x    x    
8                                    x    x    x
9                                            x
10                                            x
    
•    Deliverables
o    Project report (3-4 pages) describing results of your experiments and your implementation. Which algorithm was faster in finding the target city? How long did it take (time and transitions)? 
o    Well-commented source code for your project. You can use any language you like, but I reserve the right to ask you to demo performance of your algorithm on a new dataset.  
o    You don’t have to include a GUI with visual representation of the solutions for this project, but it might be useful for your future TSP related projects in this course. 

More products