Answered You can hire a professional tutor to get the answer.

QUESTION

1) (40 pts) Implement the the DFS algorithm. Use a text file (called input.txt) that contains an adjacency matrix to read-in data and create a...

 1) (40 pts) Implement the the DFS algorithm. Use a text file (called input.txt) that contains an adjacency         matrix to read-in data and create a directed graph to be searched. The matrix can be of any size. Row          elements in the input.txt file must be separated with commas. Example: 1,0,1,0,1,1 0,0,1,1,0,1 : 0,0,1,1,0,1 The output of your program should provide the order of visited nodes. In addition to source and         documentation, provide a text file, called REPORT.TXT, briefly describing how (i.e. data structures) and       what you have implemented (i.e. what works, what doesn't). Tip

​ :​ Follow the suggested DFS data structure for the algorithm. Don't improvise. 

 2. (60 points) Iterative Deepening was developed in the 70's and combines the positive elements of DFS and         BFS. It is a simple, but a somewhat counter-intuitive idea: perform repeated depth-limited depth-first       3 searches, using an increasing depth limit, until a solution is found. It is counter-intuitive because each        repetition of a depth-limited DFS will wastefully repeat all the work done by previous repetitions.        However, in typical trees (not those that are very unbalanced), most of the nodes are in the bottom level,          so it does not matter much if the upper levels are visited multiple times since: number of nodes at depth k > number of nodes at depth k − 1 or less  

 This means that Iterative Deepening simulates BFS with linear space complexity. Assuming that a problem        with branching factor b and the goal node at depth k, time complexity is O(bk), and space complexity is          O(bk). Overall, the disadvantage of iterative deepening search is the painfully redundant, rechecking of       every node it has already checked with each new iteration. Implement Iterative Deepening. Provide the        source and a separate file for the input data. Use the same input and reading-in methods as you used on          the first question. Using the same text file REPORT.TXT, briefly describe how (i.e. data structures) and        what you have implemented (i.e. what works, what doesn't) for this problem. 

3. Extra Credit: (15 pts - you must have correctly completed the other two problems to receive credit). Attempting to improve Iterative Deepening, one could provide the mechanism to "remember" what       nodes have already been seen, but this sacrifices the gained memory efficiency that made the algorithm        worthwhile. In addition, upon such improvement, nodes at the maximum level for one iteration will need        to be re-accessed and expanded in the following iteration. Implement this "improved" Iterative       Deepening. Provide the source and a separate file for the input data

Show more
LEARN MORE EFFECTIVELY AND GET BETTER GRADES!
Ask a Question