CSCI 4150/8156
Graph Theory and Applications



Prerequisites:

Satisfactory grade in MATH 2030.  Some experience in computer algorithms and programming is recommended.

Objectives:

The main objective of this course is to introduce graphs as a powerful modeling tool that can be used to solve practical problems in various fields.  To achieve this goal, the course introduces the main concepts of graph theory, graph representations and the basic classes of graphs.  Several famous graph problems and associated algorithms are also covered.  At the end of this course, the student should be able to apply the abstract concepts of graph theory in modeling and solving non-trivial problems in different fields of study.

Credit Hours:

Three credits.

Audience:

Senior and graduate mathematics and computer science majors and minors.

Contents and Organization:

The course covers the basic definitions and concepts related to classical graph theoretic problems.  The course also covers a number of applications in which graph modelings are known to be useful.

  • Introduction and basic definitions.
  • Graph representations and graph isomorphism.
  • Trees and their special properties and applications.
  • Connectivity, Euler tours and Hamiltonian cycles.
  • Coverings and matchings.
  • Cliques and independent colorings.
  • Directed graphs and applications.
  • Planar graphs and networks.
  • General applications: include linear programming, parallel processing, Chemistry applications, and formal language theory.
Teaching Methodology:

The coverage will be primarily through lectures, with homework assignments and reading projects.

Evaluation:

Course grade will be based on exams, homework assignments and individual reading projects.  No student will pass the course without attempting all exams and submitting at least 80% of the homework. Reading projects are required for graduate students and optional for undergraduate students.

  • Two one-hour exams (200 pts)
  • Quizzes (10-30 pts)
  • Homework (140 pts)
  • Reading project (50 pts)
  • Final exam (150 pts)
Project Ideas:
  • Application of graph theory (graph modeling) in Field X
  • How to use graphs to solve scheduling problems
  • Advanced graph algorithms
  • Graph drawing tools
  • Design efficient integrated circuits using graph related concepts
  • Hypergraphs
  • Planarity testing algorithms
  • How to use graph-related concepts to solve routing problems in networks
  • Matching and weighted matching in graphs
  • Graph partitioning
  • Graph operations


Text Books:

  • Robin J. Wilson and John J. Watkins, Graphs: An introductory Approach, John Wiley & Sons, 1990.
  • Hesham H. Ali and Naveed Sherwani, Introduction to Graph Algorithms, to be published by John Wiley & Sons. (Selected chapters will be available in the library).
References:
  • J. A. Bondy and U. S. R. Murty, "Graph Theory with Applications," North Holland, 1985.
  • Frank Harary, "Graph Theory," Addison-Wesley, 1972.
  • Ronald Gould, "Graph Theory,"  Benjamin/Cummings, 1988.
  • Fred S. Roberts, "Discrete Mathematical Models," Prentice-Hall, 1976.
  • Fred S. Roberts, " Graph Theory and APplications to Problems of Society," SIAM, 1987.
  • Robert E. Tarjan, "Data Structure and Network Algorithms," SIAM, 1983.
  • J. A. Bondy and U. S. R. Murty, "Graph Theory and Related Topics," Academic Press, 1979.
  • Martin C. Golumbic, "Algorithmic Graph Theory and Perfect Graphs," Academic Press, 1980.