Towards a theory of algorithms

  • Authors:
  • Allan Borodin

  • Affiliations:
  • Department of Computer Science, University of Toronto

  • Venue:
  • WADS'05 Proceedings of the 9th international conference on Algorithms and Data Structures
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Undergraduate (and graduate) algorithms courses and texts often organize the material in terms of “algorithmic paradigms”, such as greedy algorithms, backtracking, dynamic programming, divide and conquer, local search, primal-dual, etc. (but not etc. etc.). We seem to be able to intuitively describe what we have in mind when we discuss these classes of algorithms but rarely (if ever) do we attempt to define precisely what we mean by such terms as greedy, dynamic programming, etc. Clearly, a precise definition is required if we want to defend a statement such as “This is a difficult optimization problem.... in particular, there is no greedy algorithm that provides a good approximation for this problem”. In the context of combinatorial search and optimization problems, I will present precise models for some common basic paradigms. In a sense what we would really like to have are algorithmic models (e.g. for a greedy optimization algorithm) that are as widely accepted as the Church-Turing definition for “computable function”. While this goal is probably much too ambitious, we would at least like to have models that capture most of the algorithms that fit within these common paradigms. This talk is based on results from a number of papers. In particular, I will present precise definitions for greedy and greedy-like algorithms [2], simple dynamic programming and backtracking [3], and basic primal-dual/local ratio algorithms [1].