A Combinatorial Algorithm for Horn Programs

  • Authors:
  • R. Chandrasekaran;K. Subramani

  • Affiliations:
  • Department of Computer Science, University of Texas at Dallas, Dallas;LDCSEE, West Virginia University, Morgantown

  • Venue:
  • ISAAC '09 Proceedings of the 20th International Symposium on Algorithms and Computation
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper, we design and analyze a simple, greedy algorithm for a class of linear programs called Horn programs. This algorithm, which we term as the "Lifting Algorithm", is a variant of the Stressing Algorithm proposed for Difference Constraint systems in [5] and runs in time O(m·n 2) on a Horn system with m constraints and n variables. Inasmuch as Horn constraints subsume difference constraints, and all known algorithms for the problem of checking feasibility in Difference Constraint Systems run in time 驴(m·n), the running time of our algorithm is only a factor n worse than the best known running time for checking feasibility in Difference Constraint Systems. Horn programs arise in a number of application areas including econometrics and program verification; consequently, their study is well-motivated. An important feature of our algorithm is that it uses only one operator, viz., addition. We also show that our algorithm can identify the linear and lattice point feasibility of Extended Horn Systems in O(m ·n 2) time.