Logo ČVUT
Loading...
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2011/2012

Theoretical Computer Science

The course is not on the list Without time-table
Code Completion Credits Range
E36TI Z,ZK 6 3+2s
Lecturer:
Tutor:
Supervisor:
Department of Computer Science and Engineering
Synopsis:

The course reinforces abstraction and proof techniques in discrete structures presenting basic notions and problems of graph theory. Standard graph algorithms (as e.g. breadth-first and depth-first graph traversal, shortest paths algorithms of Dijkstra, Bellman-Ford, Floyd-Warshall, and Johnson, shortest spanning tree algorithms of Kruskal-Boruvka and Prim-Jarnik, max-flow algorithm of Ford-Fulkerson, etc.) are introduced and their complexity discussed. The course includes greedy algorithms and dynamic programming technique, complexity theory (P and NP complexity classes, NP-completeness), search problems in artificial intelligence, mathematical models of programs and computations (finite automata, Turing machines).

Requirements:
Syllabus of lectures:

1. Theoretical models, undirected graphs, basic properties

2. Directed graphs, strong connectivity, topological sort

3. Graph representation, breadth-first and depth-first traversals

4. Euler's graphs, dominating and independent sets, distance

5. Trees and spanning trees, circuits, minimum spanning trees, binary trees

6. Algorithms of Borůvka and Jarník, Huffman's coding

7. Shortest paths algorithms, dynamic programming

8. Flow networks, maximum flow in network

9. General problem solving, state space, heuristic search

10. Models of programs, computers and calculations

11. Algorithms and universal machines, unsolvable problems

12. Function definition using recursion, fixpoint theory

13. Complexity of algorithms, P and NP complexity classes, NP-completeness

14. Reserved

Syllabus of tutorials:

1. Using basic tools of mathematics (proof, induction, recurrence)

2. Operational complexity of algorithms, calculations with recurrences

3. Undirected graphs - basic properties

4. Graph traversals, decomposition into components, homework

5. Directed graphs - basic properties, depth-first search

6. Decomposition into strong components, homework consultation

7. Dominance, independence, trees

8. Spanning trees, minimum spanning trees

9. Shortest paths

10. Homework consultation

11. Application of dynamic programming

12. Flows in networks, consultation to homework

13. Searching the state space, heuristic search

14. Assessment

Study Objective:
Study materials:

[1] Cormen, T.H. et al. : Introduction to Algorithms. MIT Press, Cambridge, Mass. 1990

Note:
Further information:
No time-table has been prepared for this course
The course is a part of the following study plans:
Generated on 2012-7-9
For updated information see http://bilakniha.cvut.cz/en/predmet11061004.html