Theory of Algorithms

A tantárgy neve magyarul / Name of the subject in Hungarian: Algoritmuselmélet

Last updated: 2017. június 22.

Budapest University of Technology and Economics
Faculty of Electrical Engineering and Informatics
Software Engineering, BSc
Course ID Semester Assessment Credit Tantárgyfélév
VISZAB03   2/2/0/v 5  
3. Course coordinator and department Dr. Friedl Katalin,
Web page of the course cs.bme.hu/thalg
4. Instructors

Dr Attila Sali, associate professor, Department of Computer Science and Information Theory

6. Pre-requisites
Kötelező:
(TárgyEredmény( "BMEVISZAA01" , "aláírás" , _ ) = -1
VAGY TárgyEredmény( "BMEVISZAA04" , "aláírás" , _ ) = -1)

ÉS
NEM ( TárgyEredmény( "BMEVISZA213" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVISZA213", "FELVETEL", AktualisFelev()) > 0
VAGY
TárgyEredmény( "BMEVISZAB01" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVISZAB01", "FELVETEL", AktualisFelev()) > 0
VAGY
TárgyEredmény( "BMEVISZAB01" , "aláírás" , _ ) = -1)

ÉS (Training.Code=("5N-A8") VAGY Training.Code=("5NAA8"))

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

7. Objectives, learning outcomes and obtained knowledge

To learn the basic methods and skills in the design and analysis of algorithms. To study the most important models of computations.

8. Synopsis

Pattern matching: naive algorithm, the fingerprinting method of Rabin and Karp, solution by finite automata.

Deterministic and non-deterministic finite automata and their equivalence. Regular expressions, regular languages, and their connections to finite automata. Finite automaton as lexical analyser.

Context free grammars. Parse tree, left and right derivation. Ambiguous words, grammars, languages. The importance of unambiguous grammars for algorithms.

Pushdown automaton. Connection between pushdown automata and context free grammars, how to get a PDA from a CF grammar. The main task of a parser.

The general automaton: Turing machine.  Church-Turing thesis. The classes  P, NP, coNP, their relations. Karp reduction and the notion of NP completeness.

Theorem of Cook and Levin. 3SAT, 3COLOR are NP complete languages.

Further NP complete languages: MAXSTABLE, HAM-CYCLE, HAM-PATH, TSP,  3DH, SUBSETSUM, PARTITION, KNAPSACK, SUBGRAPHISO. The problem of GRAPHISO.

 Linear and integer programming. LP is in P (without proof), IP is in NP. LP and IP as algorithmic tools, translation of combinatorial problems to integer programming. Another tool: branch and bound.

Dynamical programming (example: knapsack, longest common substring).

 The objective in approximation algorithms. Bin packing has fast and good approximations (FF, FFD, theorem of Ibarra and Kim). Fro the TSP even the approximation s hard in general but there is efficient 2-approximation in the euclidean case.

Comparison based sorting: bubble sort, insertion sort, merge sort, quick sort. Lower bound for the number of comparisons. Other sorting methods: counting sort, bin sort, radix sort.

 Linear and binary search. The binary search is optimal in the number of comparisons. Notion of search tree, their properties and analysis.

Red-black tree as a balanced search tree. The 2-3 tree, and its generalization, the B tree. Comparisons of the different data structures.

9. Method of instruction

2 hours lecture, 2 hours problem solving

10. Assessment

There is a midterm and a final. Both must be at least 40%.

In the final grade the midterm counts as 40% and the final as 60%

 

11. Recaps

There are 2 possibilities to retake the midterm.

12. Consultations

By appointment.

13. References, textbooks and resources

T.Corman, C.Leiserson, R.Rivest, C.Stein: Introduction to Algorithms (MIT Press)

M.Sipser: Introduction to the Theory of Computing (Thomson)

14. Required learning hours and assignment
Kontakt óra56
Félévközi készülés órákra28
Felkészülés zárthelyire18
Házi feladat elkészítése 
Kijelölt írásos tananyag elsajátítása0
Vizsgafelkészülés48
Összesen150
15. Syllabus prepared by

Dr. Katalin Friedl, associate professor

Department of Computer Science and Information Theory