Graphs and Algorithms
FSI-SGA-AAcad. year: 2019/2020
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.
Learning outcomes of the course unit
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.
Students are expected to have secondary school knowledge of set theory and combinatorics.
Recommended optional programme components
Recommended or required reading
Biggs, N.L.: Discrete Mathematics, Oxford Science Publications 1999 (EN)
Plesník, J.: Grafové algoritmy, Veda, Bratislava 1983 (CS)
Willson, J.R., Watkins, J.J.: Graphs: An Introductory Approach, Wiley 1990 (EN)
Balakrishnan, V.K.: Introductory Discrete Mathematics, Dover Publications, Inc., New York 1996 (EN)
Piff, M.: Discrete Mathematics, An Introduction for Software Engineers, Cambridge University Press 1991 (EN)
Planned learning activities and teaching methods
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.
Language of instruction
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.
Specification of controlled education, way of implementation and compensation for absences
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
26 hours, optionally
Teacher / Lecturer
1. Basic concepts
2. Paths and cycles
3. Colouring of vertices
5. Sorting algorithms
6. Spanning trees
7. The shortest path problem
8. Bipartite graphs
9.Colouring of edges
12.The critical path problem
13.Flows in networks
13 hours, compulsory
Teacher / Lecturer
Seminars will closely follow the lectures.