TY - GEN
T1 - Optimization with mode-directed preferences
AU - Guo, Hai Feng
AU - Jayaraman, Bharat
AU - Gupta, Gopal
AU - Liu, Miao
PY - 2005
Y1 - 2005
N2 - Traditional constraint programming specifies an optimization problem by using a set of constraints and minimizing (or maximizing) objective functions. Unfortunately, general optimization problems may involve compound objectives whose optima are difficult to be represented by a simple minimization (or maximization). Even worse, for many applications, especially those defined over structural domains, it is difficult to specify any objective functions. In this paper we presents a declarative method for specifying generalized optimization problems based on comparison and selection among alternative solutions. The method introduces a formal predicate mode declaration for designating certain predicates as optimization predicates, and uses preference rules for stating the criteria for determining their optimal solutions. We illustrate their uses with two representative examples: one is matrix-chain multiplication from dynamic programming, and the other is ambiguity resolution for recursively-defined grammars. This paper also addresses how to extend a tabled Prolog system with preferences. The execution of logic programs with preferences is achieved in two steps. First, an automatic transformation is applied to embed the preferences into the problem specification to form an executable program. Second, the new program is then evaluated using tabled resolution, while the mode declaration provides a selection mechanism among the alternative solutions. We show that the transformation scheme preserves the semantics for each optimization predicate. Experimental results are shown to indicate that preferences provide a declarative approach without sacrificing efficiency.
AB - Traditional constraint programming specifies an optimization problem by using a set of constraints and minimizing (or maximizing) objective functions. Unfortunately, general optimization problems may involve compound objectives whose optima are difficult to be represented by a simple minimization (or maximization). Even worse, for many applications, especially those defined over structural domains, it is difficult to specify any objective functions. In this paper we presents a declarative method for specifying generalized optimization problems based on comparison and selection among alternative solutions. The method introduces a formal predicate mode declaration for designating certain predicates as optimization predicates, and uses preference rules for stating the criteria for determining their optimal solutions. We illustrate their uses with two representative examples: one is matrix-chain multiplication from dynamic programming, and the other is ambiguity resolution for recursively-defined grammars. This paper also addresses how to extend a tabled Prolog system with preferences. The execution of logic programs with preferences is achieved in two steps. First, an automatic transformation is applied to embed the preferences into the problem specification to form an executable program. Second, the new program is then evaluated using tabled resolution, while the mode declaration provides a selection mechanism among the alternative solutions. We show that the transformation scheme preserves the semantics for each optimization predicate. Experimental results are shown to indicate that preferences provide a declarative approach without sacrificing efficiency.
KW - Mode
KW - Preference Logic Programming
KW - Tabled Prolog
UR - https://www.scopus.com/pages/publications/33746073745
U2 - 10.1145/1069774.1069797
DO - 10.1145/1069774.1069797
M3 - Conference contribution
AN - SCOPUS:33746073745
SN - 1595930906
SN - 9781595930903
T3 - PPDP'05 - Proceedings of the Seventh ACM SIGPLAN Conference on Principles and Practice of Declarative Programming
SP - 242
EP - 251
BT - PPDP'05 - Proceedings of the Seventh ACM SIGPLAN Conference on Principles and Practice of Declarative Programming
T2 - PPDP'05 - 7th ACM SIGPLAN Conference on Principles and Practice of Declarative Programming
Y2 - 11 July 2005 through 13 July 2005
ER -