Automated search for heuristic functions

0Citations
Citations of this article
3Readers
Mendeley users who have this article in their library.
Get full text

Abstract

The computer constructed local search heuristic function for a SAT problem can run and solve SAT faster than human designed heuristics.1 The idea behind this was to start with some predefined primitives chosen in accordance with a human observation and to combine them using genetic programming. This leads to a question whether it is possible to construct an effective heuristic function solely by a computer, a function constructed from very elementary program building blocks not only from predefined higher-level primitives. We propose an expressive procedural programming language for description of local search heuristic functions arid we apply the genetic programming concept to them to get a metaheuristic algorithm with a capability to create potentially very fast local search heuristic. To have genetic operations fast we keep the representation of individual heuristic functions in the population as simple as possible, e.g. as an ordered list of instructions in a programming language based on the RAM model. However, we've changed the RAM model language to increase the probability of creating a meaningful heuristic function when exchanging random parts of the code. These changes include adding variable types and type checking, using two operand instructions without an accumulator variable or using a full set of conditional relative jumps. To read SAT problem instances on the input we've added special datastructures like a variable for the number of clauses or a list of variables in clauses and we've added special instructions to access these datastructures. A randomly generated population of heuristics is evolved by means of genetic programming. The Composition genetic operator cuts the code of parents in two random points, exchanges their central parts and fixes jump targets. With a given probability the Mutation genetic operator changes some instruction or its operands. The scoring function evaluates the heuristics on small random SAT instances first to eliminate very poor heuristics and the remaining ones are then scored using larger SAT instances. We are currently working on an implementation of the proposed framework using a distributed computer system. Depending on the results, it might be possible to further extend the RAM model with specific constructs for description of heuristics but, without decreasing its expressive power. © Springer-Verlag Berlin Heidelberg 2005.

Cite

CITATION STYLE

APA

Cejnar, P., & Barták, R. (2005). Automated search for heuristic functions. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 3709 LNCS, p. 843). https://doi.org/10.1007/11564751_81

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free