Graphs and Algorithms (FSI-SGA-A)

Academic year 2020/2021
Supervisor: prof. RNDr. Josef Šlapal, CSc.  
Supervising institute: ÚM all courses guaranted by this institute
Teaching language: English
Aims of the course unit:
The course aims to acquaint the students with the theory of graphs and graph-based algorithms, which are commonly used to solve problems in engineering and other areas.
Learning outcomes and competences:
The students will be made familiar with the basics of the theory of graphs and graph algorithms.
This will provide them with tools for using graphs to model various practical problems, which may then be solved by using the graph algorithms.
Prerequisites:
Students are expected to have secondary school knowledge of set theory and combinatorics.
Course contents:
The course will provide students with basic concepts of the theory of graphs and with some algorithms based on that theory. After the basic definitions, the classic problems will be discussed including the Euler path and Hamilton cycle of a graph, vertex colouring, planar graphs etc. The next concept to be investigated will be trees and tree-based algorithms. Attention will also be paid to the problem of finding the shortest path in a graph. Students will also learn about bipartite graphs and matching problems. Oriented graphs will be introduced to build networks and flows in them and deal with algorithms used to find a critical path. The course will be oriented towards applications of graphs that can be found in many areas of practical life. Emphasis will be placed on applications in computer science, optimization and theory of control and in operation research.
Teaching methods and criteria:
The course is taught through lectures explaining the basic principles and theory of the discipline. Exercises are focused on practical topics presented in lectures.
Assesment methods and criteria linked to learning outcomes:
The course unit credit is awarded on condition of having attended the seminars actively and passed a written test. The exam has a written and an oral part. The written part tests student's ability to deal with various problems using the knowledge and skills acquired in the course. In the oral part, the student has ro prove that he or she has mastered the related theory.
Controlled participation in lessons:
The attendance at seminars is required and will be checked systematically by the teacher supervising the seminar. If a student misses a seminar, an excused absence can be cpmpensated for via make-up topics of exercises.
Type of course unit:
    Lecture  13 × 2 hrs. optionally                  
    Exercise  13 × 1 hrs. compulsory                  
Course curriculum:
    Lecture 1. Basic concepts
2. Paths and cycles
3. Colouring of vertices
4. Trees
5. Sorting algorithms
6. Spanning trees
7. The shortest path problem
8. Bipartite graphs
9.Colouring of edges
10.Matching
11.Directed graphs
12.The critical path problem
13.Flows in networks
    Exercise Seminars will closely follow the lectures.
Literature - fundamental:
1. Biggs, N.L.: Discrete Mathematics, Oxford Science Publications 1999
3. Zverovich, V.: Modern Applications of Graph Theory, OUP Oxford 2021 
4. Saoub, K.R.: Graph Theory, An Introduction to Proofs, Algorithms, and Applications, Chapman and Hall/CRC 2021
Literature - recommended:
1. Sedláček, J.: Úvod do teorie grafů, Academia, Praha 1977
2. Willson, J.R., Watkins, J.J.: Graphs: An Introductory Approach, Wiley 1990
3. Wallis, W.D.: A Beginner's Guide to Graph Theory, Birkhäuser Boston 2000
The study programmes with the given course:
Programme Study form Branch Spec. Final classification   Course-unit credits     Obligation     Level     Year     Semester  
M2A-P full-time study M-MAI Mathematical Engineering -- Cr,Ex 4 Compulsory 2 1 W
M2A-A full-time study M-MAI Mathematical Engineering -- Cr,Ex 4 Compulsory 2 2 W