Dynamic Programming: KnapsackExplores dynamic programming for the Knapsack problem, discussing strategies, algorithms, NP-hardness, and time complexity analysis.
Max Sum DiversificationExplores maximizing diversity in document selection, graph clique determination, theorems on negative type, and convex optimization.
Solving Parity Games in PracticeExplores practical aspects of solving parity games, including winning strategies, algorithms, complexity, determinism, and heuristic approaches.
Open ProblemsExplores a variety of open problems in graph theory and computational complexity, challenging students to analyze and solve complex issues.
Introduction to Shortest PathIntroduces the concept of shortest path, discussing weighted paths, Hamiltonian paths, and path optimization algorithms.
Prim's and Kruskal's AlgorithmsExplores Prim's and Kruskal's algorithms for finding minimum spanning trees in a graph, covering their correctness, implementation, and analysis.
Elements of Computational ComplexityIntroduces computational complexity, decision problems, quantum complexity, and probabilistic algorithms, including NP-hard and NP-complete problems.
Knowledge Inference for GraphsExplores knowledge inference for graphs, discussing label propagation, optimization objectives, and probabilistic behavior.