In this final group activity, we will synthesize the following:
- (i) Understanding of the boundary between tractable and NP-complete problems,
- (ii) Algorithms for finding special Paths in Graphs,
- (iii) Gephi!, and (iv) Helping navigate your majors (for future majors).
I have provided you with 3 GML files representing the pre-requisite structure for required courses in the CS BS, CS BA, and ECE BS programs (submitted as group activities by my MATH 224 students last term – thanks to them). Among the many possible interesting and relevant analyses for these graphs with respect to optimal “least stress” scheduling, one critical property of any required course pre-requisite graph is certainly its longest path, not only the length thereof but especially the courses therein. Therefore, your group activity this week will involve:
- A) Writing a program to convert GML files into the graph input format of your projects
- B) Running your input conversion program from part (A) on GML graphs representing the pre- requisite structure of your major (CS, ECE, BS, BA) courses.
- C) Modifying the DAG portion of your fifth project (alternatively: simply modifying your third project), such that you may solve the longest path in an unweighted DAG problem
- D) Running your program from part (C) on your converted input files from part (B): What is the longest path of required courses in each program?
- E) Answer the discussion questions labeled Q1 through Q5 below regarding longest paths problems in general graphs versus DAGs and other theoretical matters.