MATH2210 Introduction to Discrete Mathematics

10 creditsClass Size: 200

Taught: Semester 2 View Timetable

Year running 2005/06

Pre-requisites

MATH1011 or MATH1060, or equivalent.

This module is approved as an Elective

Objectives

To introduce students to combinatorial thinking, and to demonstrate the wide range of applications. On completion of this module, students should be able to: a) solve counting problems involving permutations, combinations and the Inclusion-Exclusion principle; b) formulate counting problems as linear recurrence relations, and solve linear recurrence relations; c) test a graph to determine whether it is connected d) use Kruskal?s algorithm to find minimal connectors; e) in simple cases, determine whether or not a graph is planar; f) prove and apply Euler?s formula for planar graphs; g) devise URM-programs for simple functions; h) prove the closure properties of the class of computable functions; i) prove that the Halting Problem is recursively unsolvable.

Syllabus

Discrete mathematics deals with finite mathematical structures. It has its own flavour distinct from that of geometrical, algebraic and analytical mathematics which usually concerns itself with infinite structures. This module introduces some of the key ideas in three different areas of discrete mathematics. Combinatorial enumeration deals with problems such as: How many poker hands are there of each type? They range from very easy to extremely difficult problems. We describe some of the more straightforward methods for solving problems of this kind. Graph theory is an important mathematical tool in such different areas as linguistics, chemistry and, especially, operational research. But its origins are in the mathematical puzzles such as that of the Bridges of Kvnigsberg, and Graph Theory continues to have its own intellectual appeal apart from its practical applications.

Computability deals with fundamental questions about what problems computers can, in principle, solve. With origins in Mathematical Logic and philosophy, the Theory of Computability has grown into an important area of modern theoretical research underpinning the design and analysis of algorithms in computer science. We study a theoretical model of computation, an Unlimited Register Machine, which enables us to develop a machine independent theory of algorithms. Topics covered include: 1. Combinatorial Enumeration Problems: Permutations and combinations. The inclusion-exclusion principle. Recurrence relations. 2. Introductory Graph Theory: Basic definitions. Connected graphs. Eulerian graphs. Kruskal?s algorithm for minimal connectors. Planar graphs. Euler?s formula for planar graphs. 3. Computability: algorithms and undecidable problems. Unlimited Register Machines (URMs). Closure properties of URM-computable functions. Recursive functions. The Busy Beaver function. Undecidable problems.

Teaching methods

Lectures (22 hours) and examples classes (11 hours).

Methods of assessment

15% coursework, 85% 2 hour written examination at end of semester.