Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Fundamentals of complexity theory
Rating: 3.9 out of 5(33 ratings)
2,030 students

Fundamentals of complexity theory

Learn about P, NP, NP hard and NP complete problem
Created byJithin Parakka
Last updated 4/2020
English
English

What you'll learn

  • Complexity classes P, NP, NP hard and NP complete problem
  • Circuit Satisfiability problem
  • SAT problem
  • 3 CNFS SAT problem
  • Clique Problem
  • Vertex Cover Problem
  • Hamiltonian Cycle problem
  • Traveling salesman problem

Course content

1 section11 lectures52m total length
  • Introduction4:59

    Explore tractable and intractable problems, polynomial time algorithms, and the contrast between deterministic and non deterministic algorithms with examples like merge sort and traveling salesman.

  • Complexity classes3:35

    Present four complexity classes—P, NP, NP-hard, and NP-complete—and show that P is solvable in polynomial time, NP verifiable in polynomial time, with NP-hard outside and NP-complete when both apply.

  • Reducebillity2:40

    Explore reducibility in complexity theory, performing polynomial-time reductions that map instances between languages to establish NP-completeness, via reduction functions and reduction algorithms.

  • P=NP1:16

    Investigate whether P equals NP by contrasting problems solvable in polynomial time with those verifiable in polynomial time; learn how NP-complete problems would imply P equals NP.

  • Circuit satisfiability3:57

    Assess whether a boolean circuit with and, or, and not gates is satisfiable by finding an input that yields output 1, the first NP-complete problem proved by Cook.

  • Boolean satisfiability problem7:13

    The circuit satisfiability problem asks whether a boolean circuit can yield 1. Cook proved this NP-complete problem is the first of its kind, and verification runs in polynomial time.

  • 3 CNF SAT problem4:59

    Explain how a boolean formula in 3CNF with literals in each clause joined by or and clauses joined by and defines 3CNF SAT and its NP-complete status via reduction.

  • Clicque problem9:47

    Identify whether a graph contains a clique of size k and show that the clique problem is NP-complete via a reduction from the 3CNF-SAT problem.

  • Vertex cover problem7:34

    Explore the vertex cover problem, define a vertex cover, verify and reduce to show NP-completeness, and demonstrate a reduction from the clique problem using graph complementation.

  • Hamiltonian cycle problem2:16

    Explore the Hamiltonian cycle problem, a graph decision question about a cycle visiting every vertex. Learn about Belman's dynamic programming approach, its non-polynomial complexity, NP-completeness, and vertex cover reduction.

  • Traveling Salesman Problem4:39

    Explore the traveling salesman problem on graphs, where a tour visits every city exactly once, returns to the start, and costs at most k, prove NP-complete via Hamiltonian cycle reduction.

Requirements

  • Concept in graph theory, and algorithms

Description

Yes, computers are really fast.

They can solve complex problems within a matter of seconds.

But there are some problems that can't be solved by computer quickly, those problems are called hard problems.

Those problems remain as a hard problem since still, we are not able to develop an efficient algorithm to solve such problems.

Want to learn about such problems? Join this course.

Who this course is for:

  • Computer Science students
  • Programmers