In this paper, we detail a new algorithm for the problem of checking linear and integer feasibility in a system of Horn constraints. For certain special cases, the proposed algorithm is faster than the “Lifting Algorithm” for Horn constraint feasibility described in [2]. Moreover, the new approach is based on different ideas and in fact exploits several properties of Horn constraint systems (HCS) which were heretofore unknown, to the best of our knowledge. In the case of constraints of bounded width (corresponding to “loosely coupled” systems), our algorithm can be modified to run in O(n3+m⋅n+m⋅n2log(max(m,n))) time, where n and m represent the number of variables and the number of constraints respectively, in the input HCS. Our main result establishes that checking the feasibility of an HCS can be reduced to three subproblems: negative-cost cycle detection in networks (NCCD), matrix–vector multiplication (MV), and the conversion of an HCS to a non-redundant set of difference constraints (H2D). The MV problem and the NCCD problem have both been studied extensively, as per the literature and there exist specialized, fast algorithms for the cases that are relevant to feasibility checking in Horn constraint systems. We have identified a new problem, viz., H2D, which warrants future research, since improved algorithms for the H2D problem could be implemented in our algorithm to decrease its running time even further.
Read full abstract