|David Hartman||Charles University
Graphs and networks
This site contains the description of the course Graphs and Networks (NDMI110) organized primarily for students of the second grade of the Bachelor's Computer Science program in Czech as well as English versions. This course is one of the Suggested Elective courses (Povinně volitelné in Czech) for specialization General Computer Science, see description in Czech or English.
Many real-world systems possess a natural network structure. Examples include social systems such as Facebook, Twitter, or real-world communities, biological systems such as the human brain, protein interaction systems, or metabolic networks, technological systems such as the Internet, or World-Wide-Web, financial systems such as stock markets, or trade networks, and many others. We can often provide much information about these systems using analysis of the corresponding networks, such as characterizing Alzheimer's disease effects, financial crisis structure, construction of autonomous recommender systems, finding bottlenecks of computer networks, or predicting the effects of the newly constructed drugs. This course aims to introduce such a vast area of complex network theory concentrated on graph-theoretic properties of these networks and corresponding algorithmic solutions.
This course is interesting either to students searching for combinatorial and graph-theoretic properties and problems dealing with recent open problems enable to solve real-world situations or to students aiming to study machine learning and artificial intelligence where these networks find the huge application, e.g. through emerging notions such as graph neural network.
The course is designed for students in the second grade of the Bachelor's Computer Science program and aims to explain many notions already discussed in other courses from a new perspective, also providing new properties, problems, and results, see also context of the course. All notions will be either redefined or reminded sufficiently. These notions include elements from courses of Discrete mathematics, Linear algebra, Probability and statistics, and Algorithms and Data Structures. For notions reused, we often provide a new perspective and utilization.
There is a consequent course dealing with advanced topics of complex networks from a graph theory perspective for students interested in the topic, see corresponding site or SIS reference as Complex network analysis (NDMI096).
The course consists of the following topics. For the context, see the section below.
The following chapter provides the context of the course in the whole Bachelor's Computer Science program. The following mindmap contains a deeper description of the lectures along with connections to other preceding courses. List of topics is also given above in a separe section.
The course is organized in lectures providing basic theory on topics given above. Seminars are divided into two groups:
Continuous evaluation is based on combination of test and individual work based on theoretical or practical problems. Final evaluation consists of combined written and oral exam.
This section contains the list of references basic and advanced for the course, some of which are available online..
|Albert-Laszco Barabasi||MEJ Newmann||V. Latora, V. Nicosia, G. Russo|
|Network Science||Networks: an introduction||Complex networks|
|Cambridge University Press, 2016||Oxford University Press, 2018||Cambridge University Press, 2017|
|D. Easly, J. Kleinberg||A. Barrat, M. Barthelemy, A. Vespignani|
|Networks, Crowds and Markets||Dynamical Processes on Complex Networks|
|Cambridge University Press, 2010||Cambridge University Press, 2012|