COMP36212 - Enrolment restricted to students who have taken COMP11120 or are registered on the CS and Maths programme.

Assessment methods

70% Written exam

30% Coursework

Timetable

Semester

Event

Location

Day

Time

Group

Sem 2

Lecture

1.4

Thu

09:00 - 10:00

-

Sem 2

Lecture

1.4

Mon

15:00 - 16:00

-

Themes to which this unit belongs

Programming and Algorithms

Programming and Algorithms

Overview

This course consists of three interconnected parts. In the first part, the notion of finite precision computation will be introduced, including the details on precision and accuracy, error propagation through a computational process and accuracy and stability of numerical algorithms. In the second part, a class of algorithms for numerical solution of initial value problems which are modelling continuous-time dynamical systems are studied, followed by the techniques for examining stability of continuous-time linear dynamical systems. In the final part of the course, a class of algorithms will be introduced for modelling and analysing complex systems from nature and engineering. The examples include: generation of complex networks, flocking and swarming algorithms (which explain, for example, how schools of fish or flocks of birds synchronise). Adaptation and dynamical processes in complex networks –including synchronisation and self-organisation– will be also considered.

Aims

Upon successful completion of the course, the students should:

Appreciate the issues associated with the finite precision computation with floating point numbers;

Be able to apply simple algorithms for numerical solution of initial value problems;

Be aware of the stability issues in continuous-time dynamical systems, and the methods for examining stability;

Appreciate the importance of studying dynamical processes and properties in complex systems;

Appreciate the emergence of complex behaviours in networks not present in the individual network elements;

Be able to apply interdisciplinary knowledge.

Syllabus

PART 1: NUMERICAL STABILITY AND ACCURACY OF COMPUTATIONS (4 hours)

Introduction to finite precision computation;

Floating point arithmetic (examples involving precision, error propagation through a computational process, condition of a problem, stability of numerical algorithms);

.Mixed precision algorithms (basic concept of iterative refinement, different speed of execution on different architectures).

Methods based on the eigenvalues for examining stability of continuous-time dynamical systems.

PART 3: COMPLEX NETWORKS AND COLLECTIVE BEHAVIOUR (12 hours)

A synchronised school of fish; the evolution of a flock of birds; the controlled distributed motion of swarm satellites; the cooperation of several robotic systems; social networks; the spreading of diseases; the development and regeneration of multicellular biological organisms: these are examples of complex networks and collective behaviour. That is, a group of systems (normally, a big number of them) interconnected in a non-trivial and non-regular way. The key aspect of these networks is the complex nature of their interconnection topology, which defines the behaviour of the overall structure and entails the onset of dynamical phenomena and patterns not present in the individual systems. This module will provide the students with the basic terminology and analysis tools in order to understand the structure and dynamics of complex networks. It consists of the following sections.

Adaptive feedback loop between dynamical processes on the network and the evolving topology;

Emergent dynamical phenomena in adaptive networks

5. Real-world networks and big data: giving structure to the data

Neuronal networks;

Social networks;

The internet;

Other examples.

Teaching methods

Lectures

24 (2 hours/week)

Feedback methods

We will maintain a continuous feedback with students through active participation in the classroom. There will be feedback for the group coursework which will be face-to-face feedback in the classroom when course works are presented to all the class and the lecturers. This will happen twice, at the end of each part of the course. At the end of the course, there will be general feedback on the exam results.