Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of Graph Search.
This lecture introduces the theory of computability, focusing on the solvability of problems by algorithms. Starting with defining what constitutes a 'problem', the instructor discusses examples and the distinction between problems solvable in finite time and those that are not. The lecture delves into decision problems and the famous Halting Problem, demonstrating its undecidability through a proof by contradiction. It then explores complexity classes, particularly P and NP, highlighting the difference between problems solvable in polynomial time and those verifiable in polynomial time. Examples of problems belonging to each class are provided, emphasizing the challenges posed by NP-complete problems. The lecture concludes with a discussion on the 'P vs. NP' problem, a million-dollar question in computer science.