Introduction to the Theory of Neural Computation. The course concentrates on rigorous design of parallel algorithms, and specification, design and verification of concurrent systems. The focus of attention is on the design process for such algorithms, based on program transformation. Both correctness and the influence of system architecture are taken into account. For many problems it is shown that from the same initial specification one can arrive at different final implementations, each suitable for particular architectures.
Extensive use is made of algebraic laws, based on a partial-order model for concurrency.
Such laws enable us for instance to transform a process suitable for a MIMD model towards a form more suited for a SIMD machine. Although introductory of character, the course does not eschew inclusion of recent research material when appropriate. Last year's course included for instance a guest lecture on Gallager, Humblet and Spira's protocol for minimum weight spanning trees on a distributed architecture, based on our transformational design techniques. Course notes based on own research. The Design and Analysis of Parallel Algorithms .