Characterising approximate problem-solving by partially fulfilled pre- and postconditions
Frank van Harmelen, Annette ten Teije · 1998
In Software Engineering, the functionality of a program is traditionally characterised by pre- and postconditions: if the preconditions are fulfilled then the postconditions are guaranteed to hold, but if the preconditions are not fulfilled, no postconditions are guaranteed at all. In this paper, we study how the functionality of a program is affected when the preconditions are only partially fulfilled. This is particularly important for heuristics AI methods which still function reasonably well (although perhaps suboptimally) under less then ideal preconditions. We introduce a framework for characterising partially fulfilled pre- and postconditions. We also present the proof obligations that must be met when using programs under partially fulfilled preconditions. We show that the classical characterisation of programs can be seen as a special case of our gradual characterisation. We illustrate our framework with two simple diagnostic algorithms which coincide in the classical approach, but which behave differently under gradually relaxed preconditions.