# Complexity Theory

## Objectives and Content

Objectives: The complexity of a problem describes whether the problem can be solved using algorithms, and how much resources (in form of time and space) it takes to solve a problem algorithmically. The course studies problems that cannot be solved and problems for which it is difficult to design efficient algorithms. We see how we can recognize such hard problems.

Content:

The course gives a precise definition of what an algorithms is via Turing machines. The main focus is on central complexity classes, in particular NP-complete problems.

## Learning Outcomes

On completion of the course the student should have the following learning outcomes defined in terms of knowledge, skills and general competence:

Knowledge

The student

• Understands what an algorithm is, and which problems that be solved by an algorithm.
• Understands the relationship between formal languages and Turing machines.
• Knows about various complexity classes and the relationship between them

Skills

The student is able to

• Recognize problems that cannot be solved computationally, and recognize NP-hard problems.
• Prove the NP-completeness of some of the most basic hard problems.
• Perform polynomial-time reductions

General competence

• The student can recognize computationally hard problems, and contribute to research on classification of new problems as tractable or intractable.

Full-time

10

Bachelor, master

## Semester of Instruction

Spring
Required Previous Knowledge
For incoming exchange students: At least 60 ECTS in Computer Science and at least 10 ECTS in mathematics.
Recommended Previous Knowledge
Credit Reduction due to Course Overlap
I235: 10 ECTS
Access to the Course
Access to the course requires admission to a programme of study at The Faculty of Mathematics and Natural Sciences
Teaching and learning methods
Lectures, 4 hours per week, group sessions, 2 hours per week.
Compulsory Assignments and Attendance

Exercises.

Compulsory assignments are valid two semesters, the semester of the approval and the following semester.

Forms of Assessment
Oral exam.
Up to 30% of the final grade may be based on course activities during the semester, such as in-class midterms or hand-in assignments. The students will be notified of these activities and their final weight in the grade at the beginning of the semester.
Grading Scale
The grading scale used is A to F. Grade A is the highest passing grade in the grading scale, grade F is a fail.
Assessment Semester
Examination both spring semester and autumn semester. In semesters without teaching the examination will be arranged at the beginning of the semester.
Reading List
The reading list will be available within July 1st for the autumn semester and December 1st for the spring semester.
Course Evaluation
The course will be evaluated by the students in accordance with the quality assurance system at UiB and the department.
Examination Support Material
None
Programme Committee
The Programme Committee is responsible for the content, structure and quality of the study programme and courses.
Course Coordinator
Course coordinator and administrative contact person can be found on Mitt UiB, or contact Student adviser
Course Administrator
The Faculty of Mathematics and Natural Sciences represented by the Department of Informatics is the course administrator for the course and study programme.