<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Describing Problem Solving Methods using Anytime Performance profiles</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Annette</forename><surname>Ten Teije</surname></persName>
							<email>annette@cs.vu.nl</email>
						</author>
						<author>
							<persName><forename type="first">Frank</forename><surname>Van Harmelen</surname></persName>
							<email>frankh¢@cs.vu.nl</email>
						</author>
						<author>
							<affiliation key="aff0">
								<orgName type="department">Department of AI Faculty of Science</orgName>
								<orgName type="institution">Vrije Universiteit Amsterdam</orgName>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff1">
								<address>
									<addrLine>August</addrLine>
									<settlement>Stockholm</settlement>
									<country key="SE">Sweden</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff2">
								<address>
									<postCode>1999</postCode>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Describing Problem Solving Methods using Anytime Performance profiles</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">8CC646BE08A9F3D5F1D86F0B1A41FBE5</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T12:23+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Traditional selection criteria for Problem Solving Methods (PSMs) from libraries concentrate solely on the functionality of these methods, and ignore their computational performance. We propose the use of anytime performance profiles to describe the computational behaviour of problem solving methods, and to use these as additional selection criteria when selecting methods from a library. A performance profile describes how the quality of the output of an algorithm gradually increases as a function of the computation time. Such anytime descriptions of problem solving methods are attractive because they allow a trade-off to be made between available computation time and outputquality. It turns out that many problem solving methods found in the literature have a natural anytime behaviour, which has remained largely unexploited until now.</p><p>In this paper we propose an axiomatic description of performance profiles. Furthermore, in order to make our proposal feasible for library builders, we give guidelines on how to organise such axiomatic descriptions. Finally, we apply £ £</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Motivation</head><p>One of the major themes in the literature on problemsolving methods (PSMs) of the past half decade has been the so-called applicability problem: how to decide which PSMs are applicable to a given task. Solving this problem is essential for delivering some of the promises made about PSM, in particular library construction and re-usability. Solving the applicability problem boils down to identifying a set of properties of PSMs in such a way that these properties can be used to select the appropriate methods from a library.</p><p>The literature contains many proposals on how to describe properties of PSMs, and we will not try to give a systematic overview of them. Many of the proposals are mentioned in <ref type="bibr" target="#b3">[BPG96]</ref>. That paper synthesises all the different proposals and defines three categories of applicability conditions 1 : teleological conditions (= does the goal of the PSM match with the current task at hand) epistemological conditions 2 (= knowledge requirements of the PSM) and pragmatic conditions (= requirements on the interaction of the PSM with its environment).</p><p>All of the proposals on applicability conditions in the literature regard a PSM as a functional I/O relation between domain knowledge and goal, and formulate the method selection criteria in terms of this I/O relation: (a) does the goal of the PSM match the current task at hand, and (b) does the available domain knowledge match the knowledge requirements of the PSM. Much of the more recent work on characterising PSMs still focuses exclusively on the ¤ so-called "competence"<ref type="foot" target="#foot_0">3</ref> of the PSM [WAS98]. This also holds for <ref type="bibr" target="#b8">[FS98]</ref>, which emphasises more than most the importance of computational behaviour besides only the functional I/O relation. Even that paper does not give a concrete proposal for how to describe the computational behaviour. The same holds for <ref type="bibr" target="#b7">[FB98]</ref>, which describes in some detail the effect that various conditions have on the computational behaviour of some diagnostic methods, but this analysis is all done informally, with no proposal on how to describe the computational behaviour of a method.</p><p>This leaves an entire dimension of PSM applicability conditions uncovered in the literature: how should the performance of a PSM be described so that it can be used as an applicability condition? There are good reasons why performance description of PSM has been left as an open question in the Knowledge Engineering literature: as argued in <ref type="bibr" target="#b8">[FS98]</ref>, the standard worst case complexity measures from computer science are not very helpful for PSMs, since a significant part of PSMs are of a heuristic nature, and the worst case complexity describes only the case when the heuristics do not apply. One of the few attempts at describing average case complexity is <ref type="bibr" target="#b17">[SB95]</ref>, but this approach requires detailed knowledge on the expected heuristic behaviour of all of the subtasks of a PSM, which does not seem very realistic in practice.</p><p>Instead, in this paper we propose the use of so-called anytime performance profiles <ref type="bibr" target="#b5">[DB88]</ref> to describe the computational behaviour of PSMs (see section 2). Traditionally, such performance profiles are given in the form of graphs which are obtained empirically by executing the PSM. We propose an axiomatic description of performance profiles (section 4). Furthermore, in order to make our proposal feasible for library builders, we give guidelines on how to organise such axiomatic descriptions (section 4): our descriptions always consist of the same four elements, each of which must be filled in by the library-builder when characterising method performance. Finally (section 5), we apply our proposal to a number of realistic problem-solving methods, namely for hierarchical classification, parametric design (methods from XCON and VT), and consistencybased diagnosis (the GDE-method).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">What is anytime reasoning?</head><p>Anytime algorithms are defined as algorithms that return some answer for any allocation of computation time, and are expected to return better answers when given more time <ref type="bibr" target="#b0">[BD89]</ref>. This is in contrast with traditional algorithms which guarantee a correct output only after termination, and no guarantees are given for any intermediate results. The behaviour of an anytime algorithm is described by a performance profile. A performance profile describes how the quality of the output of the algorithm varies as a function of the computation time. The quality measure of the output may be any characteristic of the result of an algorithm that we find significant. One anytime algorithm could have several performance profiles tracking different attributes of the results it returns. A performance profile is typically given in the form of a graph that plots output quality against runtime.</p><p>It is clear that anytime behaviour of PSMs is desirable. Such PSMs are usable even when there is insufficient time to compute complete solutions. This is often the case given the intractable nature of typical tasks for PSMs. Also, such PSMs are applicable in real-time situations when the available computation time is often short and not known in advance. Thirdly, they offer the user the possibility to trade solution-quality against computation time, making the PSMs more widely applicable when selected from a library.</p><p>Perhaps surprisingly, anytime PSMs occur frequently. Many PSMs in the literature turn out to have an anytime nature, even when they were not developed with this purpose in mind. We have analysed the PSMs from a modern textbook on knowledge-based systems <ref type="bibr" target="#b18">[Ste95]</ref>, and have found that many of the methods discussed there have anytime behaviour. This will be illustrated in section 5, where we discuss examples which are all taken from this textbook, many of which are used in realistic KBS applications.</p><p>The study of anytime algorithms is fairly recent, and started with the introduction of the notions of anytime algorithm and performance profile by <ref type="bibr" target="#b5">[DB88]</ref>. Subsequently, work has been done on combining and compiling anytime components from libraries using performance profiles (e.g. <ref type="bibr" target="#b22">[ZR96]</ref>). Also, work has been done by a variety of people on special purpose anytime algorithms for various application areas (e.g planning [BD89; DB88], diagnosis <ref type="bibr" target="#b14">[Pos93]</ref>, search ( <ref type="bibr" target="#b11">[Kor90]</ref>) and scheduling <ref type="bibr" target="#b1">[BD94]</ref>).</p><p>Boddy <ref type="bibr" target="#b2">[Bod91]</ref> identifies a number of families of algorithms which often have anytime algorithms: numerical approximation, heuristic search, probabilistic algorithms (eg Monte Carlo methods), probabilistic inference (eg belief networks), and discrete symbolic processing. We deal with algorithms from this last family. These algorithms often add or remove elements to finite sets representing an approximate answer, and gradually reduce the difference between that set and a set representing the correct answer.</p><p>[Zil96] gives a number of desirable properties of anytime algorithms:</p><p>1. Interuptability: the algorithm can be stopped at anytime and provide some answer. 2. Monotonicity: the quality of the result is a nondecreasing function of the computation time. 3. Measurable quality: the quality of an approximate result can be determined precisely. 4. Diminishing returns: the improvement in solution quality is largest at the early stages of computation, and it diminishes over time. 5. Consistency: for a given amount of computation time on a given input, the quality of the result is always the same. 6. Recognisable quality: the quality of an approximate result can be easily determined at run-time. 7. Preemptability: the algorithm can be suspended and resumed with minimal overhead.</p><p>Notice that the first two properties constitute the definition of anytime algorithms as given at the start of this section, and are therefore required, rather than desirable. The third and fourth property are also applicable to the anytime descriptions of PSMs that we propose in this paper. The fifth property (consistency) is also (but trivially) applicable since we only deal with deterministic computation. Only the last two properties are not applicable to our work for the following reasons: Recognisable quality is not applicable since we are not dealing with dynamic monitoring of algorithms, and therefore this property is not relevant. Preemptability is not applicable, since in our analysis algorithms are only stopped, and never resumed.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Describing gradual properties of PSMs</head><p>The motivating question for this paper as given in the introduction was: how should the performance of a PSM be described so that it can be used as an applicability condition? Instead of the empirically obtained quality-performance graphs used for this purpose in the literature, we aim for an analytic treatment of the performance profiles in the form of an axiomatic description. This has the advantages of not needing expensive and unreliable empirical performance observations, and of giving more insight in the actual behaviour of the PSM. It also fits better with existing approaches of describing applicability condition in the Knowledge Engineering literature.</p><p>The second Zilberstein property above states that the output quality is a gradual property of the available computation time. In <ref type="bibr" target="#b19">[vHtT98]</ref>, we have proposed a general framework for describing gradual properties of the output of PSMs as a function of gradual properties of their input. If we regard computation time as a special "input parameter" to the PSM, anytime PSMs become a special case of what can be described in our proposed framework for gradual properties of PSMs.</p><p>In this section we briefly summarise our framework for describing gradual properties of PSMs. In the next sections, we will use this framework for the description of performance profiles of PSMs.</p><p>The framework for gradual properties of PSMs that is described in <ref type="bibr" target="#b19">[vHtT98]</ref> is based on a traditional pre-and postcondition description of PSMs: given that the preconditions hold on the input of a PSM, then after termination, the postconditions are guaranteed to hold on the output of the PSM (ie. the functionality of the PSM is achieved). Unlike traditional pre/postcondition frameworks however, our conditions are gradual. To be more precise, our pre-and postconditions each have an additional parameter. Partial orderings are defined on these parameters that describe the degree to which the conditions are fulfilled, with the minimal element signifying completely fulfilled conditions. The two most important proof obligations in this framework for the description of anytime PSMs are as follows<ref type="foot" target="#foot_1">4</ref> : ¥ a first proof obligation is to show how a change in ful- fillment of the preconditions causes a change in fulfillment of the postconditions; ¥ A second proof obligation shows that completely ful- filled preconditions imply completely fulfilled postconditions.</p><p>In order to apply this framework to anytime PSMs, we must decide on the partial orderings defining gradual fulfillment of pre-and postconditions. For the ordering on the preconditions, we obviously choose the amount of runtime available to the PSM. Because the minimal element of this ordering must correspond with completely fulfilled preconditions, we choose the maximally required runtime as the minimal element, and larger elements under the ordering correspond with ever less computation time(!). Because runtime cannot be less then 0, the elements range from complete runtime (the minimal element) down to 0.</p><p>As the ordering on the postconditions, we take whatever quality measure is taken as characteristic of the result of the algorithm. The second Zilberstein property guarantees that a suitable ordering can be defined on this characteristic. The third Zilberstein property demands that this must be a measurable value.</p><p>As mentioned before, a performance profile plots output quality against runtime. The two axes of such a graph now correspond exactly with our two measures: the precondition measure (runtime) as x-axis, and the postcondition measure (output quality) as y-axis (see the figures later in this paper).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Guidelines for anytime descriptions</head><p>Describing applicability criteria for PSMs is one of the hardest tasks when building a PSM library. These criteria must accurately capture both the preconditions and the functionality of the PSMs in the library. The accuracy of these descriptions is crucial for the later ability to retrieve the ¤ appropriate elements from the library. This task is already hard in current PSM libraries where the applicability conditions only have the form of "labels", intended to be understood by human users, but without any further formal semantics. The task becomes even harder when applicability conditions take the form of complex expressions in a formal language suited for automatic manipulation (as proposed in e.g. <ref type="bibr" target="#b3">[BPG96]</ref>).</p><p>Our proposal to use performance profiles of PSMs threatens to make this task even harder: in our own studies we have found that formulating gradual pre-and postconditions is even harder than formulating traditional pre-and postconditions, since the gradual versions require an even more detailed analysis of the behaviour of the PSM than is already required for traditional applicability criteria.</p><p>The hardest steps in describing gradual pre-and postconditions are: (1) defining a suitable ordering on the precondition; (2) defining a suitable ordering on the postconditions; and perhaps most difficult of all (3) defining the actual gradual functionality of the PSM (ie its gradual postconditions) given some gradual pre-conditions.</p><p>The good news is that when applying our general framework to anytime performance we can make some of these choices in advance (so they don't have to made by the library builder), and we can give a structured schema for some of the descriptions that must be supplied by the library builder.</p><p>The choices concerning the preconditions disappear altogether: We always simply add the available runtime as an additional parameter, and apply the obvious ordering to this parameter <ref type="foot" target="#foot_2">5</ref> .</p><p>What remains is the formulation of the postconditions (ie. the gradual functionality of the PSM as a function of increasing runtime). We have found that this formulation can always be structured in the same way. To describe the anytime functionality, four axioms are needed, each of which describes a different aspect of the anytime behaviour, as follows:</p><p>Initial behaviour: The initial period during which the behaviour of the method is constant. Many anytime algorithms start producing some output immediately, but the example in section 5.3 shows that some methods need an initial "startup period" before they start producing intermediate output.</p><p>Growth direction: This is the direction in which the quality of the intermediate output changes with increasing runtime. The second Zilbertstein property (monotonicity) guarantees that quality increases, and this axiom states what is meant by "increase".</p><p>Growth rate: The amount of increase in quality at each step during the computation. This increase in quality can be constant at each step, but may also vary during the computation (as stated in the fourth Zilberstein property: diminishing returns).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>End condition:</head><p>The amount of runtime needed for the method to achieve its full (ie. traditional) functionality. After this point, the quality of the output no longer increases, since the maximum quality has been achieved.</p><p>In <ref type="bibr" target="#b10">[GtTvH99]</ref> we have put forward the hypothesis that this scheme of four axioms would be suitable to describe a wide class of anytime behaviours. One of the results of this paper is the confirmation of this hypothesis, by showing that this scheme can be used to describe the anytime behaviour of a number of different and realistic PSMs from the literature.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Example anytime descriptions of PSMs</head><p>In this section we will apply the above scheme for describing performance profiles of PSMs to a number of concrete PSMs. These methods are all described in a modern KBS textbook [Ste95; Part III]. First we discuss three methods for a classification task. The first two examples (linear candidate confirmation and linear candidate confirmation with forward filtering) are theoretical and simple, and are meant to introduce our proposal. The third (hierarchical classification) is more realistic, and similar to the method used in the MDX system for diagnosing liver diseases <ref type="bibr" target="#b4">[CM83]</ref>. We will then turn to the task of parametric design, and discuss the methods used in the XCON system (constraint clustering) <ref type="bibr" target="#b12">[McD82]</ref> and in the VT systems (propose and revise) <ref type="bibr" target="#b13">[MSM88]</ref>. Finally, we discuss the GDE method for the task of consistency-based diagnosis [Rei87; dKW87].</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">The classification task</head><p>In a classification task, we are given a set of candidate classes and a set of observed properties of a particular individual, and we must compute which candidate classes satisfy the classification criterion on the given properties. The details of the classification criterion can vary, and are not relevant to our discussion (see [Ste95; Ch. 7] for the definition of various classification criteria such as candidates which explain, match or cover the given observations).</p><p>Slightly more formally, the task CLASSIFICATION has as inputs a set of candidate classes Cs and a set of observations Obs, and must compute all classes from Cs that satisfy the classification criterion on Obs:</p><formula xml:id="formula_0">CLASSIFICATION¦ Cs § Obs© C i C i Cs criterion ¦ C i § Obs</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2">Linear candidate confirmation (MC1)</head><p>A trivial PSM for the classification task is to iterate over all candidate classes, and add them to the output if they satisfy the classification criterion<ref type="foot" target="#foot_3">6</ref> <ref type="foot" target="#foot_4">7</ref> :</p><formula xml:id="formula_1">MC1( n, Cs,Obs): output = / 0 candidates = C i | C i Cs i ! n " for C i candidates do if criterion(C i ,Obs) then output = output+C i done return output</formula><p>The algorithm MC1 is as given without the additional boxed text. If the boxed text is added to the code, we obtain an anytime version of MC1 that we will indicate with MC1 a<ref type="foot" target="#foot_5">8</ref> . As mentioned above, the additional parameter n signifies the available runtime (ie the algorithm terminates after n steps), and is used as the ordering on the preconditions. As ordering on the postconditions (= quality measure of the output) we will use the subset ordering # on the out- put set.</p><p>Following the guidelines from the previous section, the gradual functionality of MC1 a can now be specified as follows: MC1-initial: Initially (with zero runtime) no solutions are computed:</p><formula xml:id="formula_2">MC1 a ¦ 0 § Cs § Obs© / 0 MC1-direction:</formula><p>The solution set only grows (and never decreases):</p><formula xml:id="formula_3">MC1 a ¦ n § Cs § Obs$# MC1 a ¦ n% &amp; § Cs § ObsM</formula><p>C1-rate: Each additional computation step adds at most one solution<ref type="foot" target="#foot_6">9</ref> :</p><formula xml:id="formula_4">MC1 a ¦ n ' 1 § Cs § Obs¨ )( 0 MC1 a ¦ n § Cs § Obs¨ 21 1</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>MC1-end:</head><p>After considering all candidates, we have obtained the full functionality:</p><formula xml:id="formula_5">n 3 Cs 54 MC1 a ¦ n § Cs § Obs6© MC1¦ Cs § ObsÄ</formula><p>ssuming a uniform distribution of the solutions over the candidate set, the theoretically derived performance profile determined by these axioms is shown in figure <ref type="figure" target="#fig_0">1a 10</ref> .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.3">Linear confirmation with forward filtering (MC2)</head><p>This method is equal to MC1, but first applies an initial forward reasoning step, in which some of the observations are used to filter the set of possible candidates. The method MC1 is applied to the resulting candidate set. An assumption of this method is that the additional cost of the filter step is outweighed by the reduction in cost of applying the linear confirmation step to a smaller candidate set. Furthermore, it assumes that the forward filtering step only removes candidates which are not solutions to the classification problem (ie the filtering step is sound). Instead of a single set of observations, MC2 receives two sets of observations as input, one to be used in the forward filtering step, the other to be used in the candidate confirmation step:</p><formula xml:id="formula_6">MC2( n, Cs,Obs 1 ,Obs 2 ): output = / 0 candidates = C i |C i filter(Cs,Obs 1 ) i ! n " for C i candidates do if criterion(C i ,Obs 2 )</formula><p>then output = output+C i done return output Following the guidelines from the previous section, the gradual functionality of MC2 a can now be specified as follows: </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>MC2-initial:</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>MC2-end:</head><p>The total required runtime of MC2 is the sum of the two stages. The duration of the filtering step is n f , and the duration of the confirmation stage is determined by the number of candidates that remain after the filtering step:</p><formula xml:id="formula_7">n 3 f ilter ¦ Cs § Obs 1 ¨ ' n f 4 MC2 a ¦ n § Cs § Obs 1 § Obs 2 @© MC2¦ Cs § Obs 1 § Obs 2</formula><p>The performance profile determined by these axioms is shown in figure <ref type="figure" target="#fig_0">1b</ref>. It shows a constant increase in quality (similar to MC1), but only after an initial period needed for the filtering step.</p><p>The assumption that the costs of the filter step must be outweighed by the savings can now also be stated more precisely. The costs of the filtering step is n f , the savings equal the reduction in the candidate set: Cs )( 0 f ilter ¦ Cs § Obs¨ . The assumption holds when n f 8 Cs ( A f ilter ¦ Cs § Obs¨ . This can also be written as n f ' f ilter ¦ Cs § Obs¨ 8 Cs . Now notice that this states precisely that the end time of MC2 is less then the end time of MC1 (see axioms [MC1end] and [MC2-end]).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.4">Hierarchical classification (MC3)</head><p>The first realistic PSM that we will discuss is hierarchical classification (used among others in the MDX system <ref type="bibr" target="#b4">[CM83]</ref>). This method no longer does a linear traversal of the candidate set. Instead, the candidate set is organised as the leaves of a tree. The nodes in this tree are "abstract classes", representing abstractions of sets of candidates. The PSM recursively descends down the tree, at each level deciding if the abstract classes still satisfy the observations. If yes, the method continues to descend down that part of the tree, if no, the entire tree below the abstract class is pruned. At each step of the PSM, the intermediate solution is the set of all candidates (= all leaves) that can be found under the currently considered abstract classes. The gradual functionality of MC3 can be characterised as follows:</p><p>MC3-initial: Initially, all candidates are still potential solutions:</p><formula xml:id="formula_8">MC3 a ¦ 0 § Tree § Obs6© leaves¦ TreeM</formula><p>C3-direction: an extra computation step can only decrease the set of potential solutions:</p><formula xml:id="formula_9">MC3 a ¦ n ' 1 § Tree § Obs9# MC3 a ¦ n § Tree § ObsM</formula><p>C3-rate: Taking b as the branching factor of the tree, and assuming that at each level of the tree, at least 1 of the abstract classes satisfies the criterion, and assuming a balanced tree, then each step reduces the candidate set by a factor b:</p><formula xml:id="formula_10">MC3 a ¦ n' 1 § Tree § Obs¨ 3 MC3 a ¦ n § Tree § Obs¨ b</formula><p>MC3-end: MC3 needs as many steps as there are levels in the tree n 3 maxdepth¦ Tree¨4 MC3 a ¦ n § Tree § Obs9© MC3¦ Tree § ObsN otice that for candidate classes of exponential size (which occur for multi-class classification), both MC1 and MC2 require exponential runtime (since they perform a linear traversal of the exponential candidate set), while MC3 only requires linear runtime (namely the depth of the tree, axiom [MC3-end]). This is all consistent with known results about the complexity of hierarchical classification <ref type="bibr" target="#b9">[GSC87]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Using the performance profiles</head><p>We have now defined anytime performance profiles for three different classification methods. We give three examples how these profiles help us with selecting methods from a library. First, the profiles tell us how we can trade computation time for solution quality. For example, fig <ref type="figure" target="#fig_0">1c</ref> shows that the increase in quality of MC3 (ie the decrease in the candidate D set) is exponential while for MC1 and MC2 this linear. If it is important to quickly obtain a good approximation of the final solution, then MC3 is more attractive than MC1 or MC2.</p><p>Secondly, we see from the performance profiles that MC1 and MC2 are incomplete (but sound) approximations of the final solution. The intermediate solutions of MC3 on the other hand are unsound approximations of the final solution, since the profile of MC3 approaches the solutions from above, rather than from below.</p><p>Thirdly, we see that not all methods start to produce approximate solutions immediately. If such a property is important (e.g. in a setting where some solution is always required but no guarantees can be given on the available runtime), then MC2 is unattractive.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.5">The parametric design task</head><p>We now turn to a very different type of task, namely the task of parametric design. In this task we are given a set of parameters and a set of constraints, and have to compute an assignment for each parameter such that these assignments are consistent with the given constraints.</p><p>Slightly more formally:</p><formula xml:id="formula_11">PARAMETRIC-DESIGN¦ Ps § Cs6© S § with S © ¦ P i § V i ¨ P i Ps 6 consistent ¦ Cs § SFE</formula><p>In the next two sections, we give two problem solving methods for performing this parametric design task.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.6">Param. design by constraint clustering (XCON)</head><p>XCON <ref type="bibr" target="#b12">[McD82]</ref> is a method for parametric design based on a particular organisation of constraints. The constraints are divided in clusters. The constrains within a cluster have much mutual dependencies, but no dependencies exist with constraints in other clusters. This makes it possible to solve the problem in separate steps, with backtracking occuring only within each step (namely per cluster), and not between steps. An example of such steps in the XCON application (configuring VAX mainframe computers for Digital) are:</p><p>1. make the order complete 2. configure the set of components for the CPU cabinet(s) 3. configure the set of components for the Unibus cabinet(s) 4. configure the panels for the Unibus cabinet(s) 5. configure the spatial layout of the cabinets 6. configure the cabling These are ordered as follows:</p><formula xml:id="formula_12">¦ 2G H ¦ 1¨4 ¦ 5¨4 ¦ 6Ḧ G ¦ 3¨4 ¦ 4¨T</formula><p>his partial ordering can be used to determine an execution order of the steps. The inputs of the XCON method are a list of constraint clusters and the set of parameters. The order in the list of clusters is assumed to respect the partial dependency-ordering among the clusters.</p><p>The XCON method simply iterates over the constraints clusters, solves each cluster separately (no details for this step are given in the definition below), and adds the assignments found for each step to the current output: The gradual functionality of XCON can be characterised as follows:</p><p>XCON-initial: Initially no assignments have been computed.</p><formula xml:id="formula_13">XCON a ¦ 0 § Ps § PI Cs 1 § PE QE RE S T6© / 0 XCON-direction:</formula><p>The set of assignments that is computed grows monotonically.</p><formula xml:id="formula_14">XCON a ¦ n § Ps § )I Cs 1 § UE RE QE S VẌW XCON a ¦ n ' 1 § Ps § )I Cs 1 § UE RE S VẌ</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>CON-rate:</head><p>The maximal number of new assignments for a cluster is the number of relevant variables of the constraints in that cluster. This is a maximum, since some parameters might have been computed in earlier steps (clusters). Because of the assumption of independency between steps, such assignments never violate the constraints of the current step.</p><formula xml:id="formula_15">XCON a ¦ n ' 1 § Ps § )I Cs 1 § UE RE S V¨ Y( XCON a ¦ n § Ps § )I Cs 1 § UE RE S V¨ `1 a relevant¦ Ps § Cs nb 1 ẌCON-end:</formula><p>The complete functionality is obtained after k steps, with k the number of constraint clusters in the input.</p><formula xml:id="formula_16">n 3 k 4 XCON a ¦ n § Ps § )I Cs 1 § UE RE R § Cs k S V6© XCON ¦ Ps § PI Cs 1 § UE RE Q § Cs k S TT</formula><p>hese axioms determine the performance profile, as shown in figure <ref type="figure" target="#fig_3">2a</ref>. The graph shows a stepwise increase of the output quality in k steps. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.7">Parametric design by propose and revise (P&amp;R)</head><p>Another well known method to obtain the functionality of parametric design is Propose &amp; Revise (P&amp;R). The P&amp;R method iterates over the set of parameters. In each step, P&amp;R takes a new parameter and proposes a likely value for that parameter. This new assignment becomes part of the current partial design. If this partial design is consistent with the constraints, a next step can be taken. If the partial design violates the constraints then the partial design will be revised such that it becomes consistent with the constraints. After fixing the partial design the process continues with the next parameter. This method uses domain knowledge in the propose step and in the revise step, whereas the XCON method uses domain knowledge in the way the constraints are clustered.</p><p>For XCON we used the set of assignments as the quality measure for the computation. This same measure cannot be used for P&amp;R. Unlike XCON, P&amp;R assignments in earlier steps might have to be revised in later steps. As a result, the set of assignments does not grow monotonically, violating the second Zilberstein property. For this reason, we use another quality measure for P&amp;R, namely the set of assigned parameters instead of the set of assignments (ie parameters plus their values). This set does grow monotonically, since parameters might be revised, but once assigned, a parameter is never left without a value in later stages of the compuation.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>P&amp;R-initial:</head><p>Initially no assignments have been com-puted.</p><p>P&amp;R a ¦ 0 § Ps § Cs© / 0 P&amp;R-direction: Unlike XCON, the set of assignments does not grow monotonically in P&amp;R, but the set of assigned parameters does (assigned parameters might be revised). The set</p><formula xml:id="formula_17">P i ¦ P i § V i ¨ P&amp;R a ¦ n § Ps § Csd con-</formula><p>tains all parameters that have been assigned a value after n steps. The monotonic growth is then:</p><formula xml:id="formula_18">P i ¦ P i § V i ¨ P&amp;R a ¦ n § Ps § Csd e# P i ¦ P i § V % i ¨ P&amp;R a ¦ n ' 1 § Ps § Cs</formula><p>P&amp;R-rate: P&amp;R iterates over the set of parameters, therefore each step yields exactly one additional assigned parameter:</p><formula xml:id="formula_19">P i ¦ P i § V i ¨ P&amp;R a ¦ n ' 1 § Ps § Cs © P i ¦ P i § V i ¨ P&amp;R a ¦ n § Ps § Cs ' 1</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>P&amp;R-end:</head><p>The method needs as many steps as there are parameters:</p><p>n 3 Ps 54 P&amp;R a ¦ n § Ps § Cs© P&amp;R¦ Ps § CsT hese axioms determine the performance profile, as shown in figure <ref type="figure" target="#fig_3">2b</ref>. The set of assigned parameters grows at a constant rate during the computation.</p><p>Concerning axiom [P&amp;R-direction]: This axiom allows that partial assignments are not a subset of the final assignments (ie partial assignments are allowed to be unsound). However, in the VT application which used the P&amp;R method, it turns out that the domain knowledge used in the propose step is so good that revision is almost never needed: on test-cases with 1000-2000 parameters (and therefore as many propose steps), there were only some 10-20 violations (and therefore as many revision steps), ie only 1% of the proposed values were wrong <ref type="bibr" target="#b13">[MSM88]</ref>. Thus, although the soundness of XCON's approximations (expressed by XCON's axiom [XCON-direction]) cannot be guaranteed for P&amp;R, in practice P&amp;R comes very close.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Using the performance profiles</head><p>Again, the performance profiles for the different methods can be used for selecting the methods from a library. It follows from axioms [XCON-end] and [P&amp;R-end] that P&amp;R divides the process in Ps steps, and XCON in k steps (k the number of constraint clusters). Since every cluster will assign at least one additional parameter, we have Ps 3 k, so P&amp;R divides the process in much smaller steps then XCON. If it is important that new solutions are produced at a constant rate during the computation process (e.g. because of interface requirements with users or other programs), then P&amp;R is more attractive from an anytime perspective.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.8">The consistency based diagnosis task</head><p>In consistency-based diagnoses <ref type="bibr" target="#b15">[Rei87]</ref> we are given a theory describing the intended behaviour of a system (called the system description, SD), and some observations of the systems actual behaviour, Obs. A diagnosis problem exists when Obs is inconsistent with SD (ie. the system is observed not to function as intended). The goal is to compute a minimal set of components Diag which can "explain" the abnormal behaviour, ie. assuming that these components are abnormal suffices to make Obs again consistent with SD.</p><p>DIAGNOSIS ¦ SD § Obsf© Diag such that consistent ¦ SD g Obs § Diag5</p><p>.9 The GDE method</p><p>The best known PSM for this method is the GDE method [dKW87]: It first computes so called conflict-sets. A conflict-set is a set of components which, given the observations, can not all be correct, ie at least one component in each conflict set must be part of the diagnosis. After having computed all minimal conflict-sets, GDE then uses these conflict-sets to compute so called hitting-sets. A hittingset is a set of components that contains at least one element from every conflict-set. It follows that each minimal hitting-set is a diagnosis. Pos <ref type="bibr" target="#b14">[Pos93]</ref> has shown how this can be turned into an anytime algorithm, namely by only computing the minimal conflict-sets sets up to a maximum size n instead of computing all minimal conflict-sets, and then computing all minimal hitting sets for this limited collection of conflictsets. This anytime version of GDE is as follows: The gradual functionality of GDE can be characterised as follows: GDE-initial: Initially no diagnoses are computed.</p><p>GDE a ¦ 0 § SD § Obsï© / 0 GDE-direction: For every diagnosis from step n, there will be a superset diagnosis in step n ' 1, in other words: individual diagnoses grow monotonically during the computation:</p><formula xml:id="formula_20">D GDE a ¦ n § SD § Obs4 qp D% : D # D% D% GDE a ¦ n ' 1 § SD § ObsG</formula><p>DE-rate: Unfortunately, we have not been able to estimate by how much individual diagnoses grow when the maximum size of the conflict sets increases by 1. Thus, in the following expression, we have no value for m.</p><formula xml:id="formula_21">D GDE a ¦ n § SD § ObsÜ D% GDE a ¦ n ' 1 § SD § ObsP D W D% 4 r D% )( 0 D 3 m</formula><p>GDE-end: Again unknown. We have not been able to give a reasonably sharp upperbound on the maximum size of the conflict sets that is required to compute all diagnoses. Of course, after some value k, the algorithm will compute no more diagnoses (since all have been computed), but we do not know the value of k:</p><formula xml:id="formula_22">n 3 k 4 GDE a ¦ n § SD § OBSs© GDE ¦ SD § ObsB</formula><p>ecause of the unknown parameters in axioms [GDErate] and [GDE-end], we are not able to give a graphical rendition of the performance profile for the GDE method.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusions &amp; Future Work</head><p>Conclusions In the KE literature, libraries of PSMs have been indexed using functional descriptions and knowledge requirements. In this paper, we have proposed the use of non-functional properties (in our case anytime performance profiles) as a library index for PSMs.</p><p>We have given axiomatic descriptions of anytime behaviour of PSMs. This is unlike existing work on anytime algorithms, which obtains performance profiles by simulation and measurement. Such empirically obtained profiles are dependent on the quality of the simulations, which are often expensive, and also not very reliable since they depend on the particular input distribution used for the simulations. On the other hand, our axiomatic descriptions are often limited to giving an upper-or lower-bound on the rate of the quality improvement, whereas empirical performance profiles do obtain values for the improvement rate.</p><p>In order to make it easier for library builders to give actual performance profiles for the PSMs in their libraries, we have given guidelines for constructing such an axiomatic descriptions: t each description should consist of four statements, describing initial behaviour of the PSM, direction of quality change, rate of quality of change per time unit and the time at which the optimal output quality is obtained. This regularity in the description of the dynamic behaviour of PSMs confirms a hypothesis put forward in our earlier work <ref type="bibr" target="#b10">[GtTvH99]</ref>.</p><p>Our axiomatic description of performance profiles is based on our earlier and more general proposal for describing gradual properties of PSMs <ref type="bibr" target="#b19">[vHtT98]</ref>. It turns out that performance profiles can be described in our framework for describing gradual properties. This was not obvious beforehand because the framework must be used in a slightly nonstandard way. It was designed to deal with functional properties (I/O-pre/post-conditions), while anytime behaviour is a non-functional property (concerning also the computation time, and not only the I/O relation).</p><p>Future Work In the axioms in this paper, we give only upper-or lowerbounds for the rate of quality improvement (the third axiom in our general scheme), in particular when these rates are based on the quality of heuristic knowledge. Instead of such upper-and lowerbounds, we would like to give more precise expected values for the improvement rate, based on the quality of the heuristic. For example, in MC1 the solution set increases with at most one element each computation step. However, it is easy to see that assuming a uniform distribution of solutions over candidate set, the expected rate of increase one element for each k steps (k the number of candidates divided by the number of solutions). Furthermore, using a heuristic ordering of the candidate set, we can expect one additional element for each k¦ n¨steps, with k ¦ n¨a increasing function of n. We have currently no formal framework in which to express these and similar statements.</p><p>We would also like to study which anytime behaviour is more attractive under which circumstances. For example, it is clear that dividing a given runtime in a large number of small steps is more attractive than dividing it in a small number of large steps (compare XCON, fig 2a and P&amp;R, fig <ref type="figure" target="#fig_3">2b</ref>). Less clear is the question whether the behaviour of MC2 is more attractive than MC1 (because MC2 uses less total runtime) or whether MC1 is more attractive than MC2 (because its quality increase is more evenly divided over the computation time). To our knowledge, the literature on anytime algorithms has not tackled this question until now.</p><p>Finally, in <ref type="bibr" target="#b10">[GtTvH99]</ref> we have developed some simple techniques for proving dynamic properties of KBS, and we used the interactive theorem prover KIV <ref type="bibr" target="#b16">[Rei95]</ref> to verify a simple PSM (in fact, MC1). All the formal definitions in this paper (both program code and axioms) have been given in a syntax already very close to that used in the KIV systems. We expect that our techniques can be applied to verify the axiomatic anytime descriptions given in this paper, yielding machine-assisted formal proofs of the anytime behaviour of realistic PSMs.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Fig. (a)</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head></head><label></label><figDesc>XCON( n, Ps,[Cs 1 ,...,Cs k ]): output = / 0 for i=1 to min(n, k ) do CurrentPs = relevant(Ps,Cs i ) S = (P i ,V i ) | P i CurrentPs" consistent(Cs,S) output = output + S done return output</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 2 :</head><label>2</label><figDesc>Fig (a)</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head></head><label></label><figDesc>P&amp;R( n, Ps,Cs): output = / 0 for i=1 to min(n, |Ps| ) do V i = propose(output,P i ) output = output = (P i ,V i ) if c consistent(Cs,output) then output = revise(Cs,output) done return output</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head></head><label></label><figDesc>GDE( n, SD,Obs):Cs = all minimal conflict-sets C with h C h 0! n output = all minimal hitting sets for Cs return output</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_0">i.e. the functional I/O relation</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_1"><ref type="bibr" target="#b19">[vHtT98]</ref> defines three more proof obligations, but these are less relevant when applying the framework to describe anytime behaviour: one proof obligation corresponds exactly with Zilbersteins second property (and therefore holds by definition for anytime algorithms); a second obligation concerned the relation between gradual and completely fulfilled preconditions, which in the current case simply means that after enough runtime, the complete solution is computed; finally, the usual correctness property must be shown for the PSM but this time with respect to the gradual versions of the pre-and postconditions.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_2">While noting that the minimal element corresponds with the maximum runtime, as explained in the previous section</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="6" xml:id="foot_3">This method is called MC1 in [Ste95; Ch.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="7" xml:id="foot_4">].7  The languages used for both program code and specifying axioms are close to those used in the KIV interactive program verifier. We expect that all the formal definitions in this paper can be easily transcribed in the KIV system<ref type="bibr" target="#b16">[Rei95]</ref>. It should then be possible to provide machine-verified proofs for all the result in this paper.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="8" xml:id="foot_5">This same box-notation is used for the other algorithms in this paper.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="9" xml:id="foot_6">the notation 7 S 7 is used for the size of a set S</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="10" xml:id="foot_7">Our graphs are plotted as continuous functions, but in reality the increases in output quality are stepwise.</note>
		</body>
		<back>

			<div type="funding">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Supported by the Netherlands Computer Science Research Foundation with financial support from the Netherlands Organisation for Scientific Research (NWO), project: 612-32-006</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Solving time-dependent planning problems</title>
		<author>
			<persName><forename type="first">M</forename><surname>Boddy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Dean</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings IJCAI-89</title>
				<meeting>IJCAI-89<address><addrLine>Detroit, Michigan USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1989-08">August 1989</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Deliberation scheduling for problem solving in time-constrained environments</title>
		<author>
			<persName><forename type="first">M</forename><surname>Boddy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Dean</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Artificial Intelligence</title>
		<imprint>
			<biblScope unit="volume">67</biblScope>
			<biblScope unit="page" from="245" to="285" />
			<date type="published" when="1994">1994</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Anytime problem solving using dynamic programming</title>
		<author>
			<persName><forename type="first">M</forename><surname>Boddy</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the ninth National conference on artificial intelligence AAAI-91</title>
				<meeting>the ninth National conference on artificial intelligence AAAI-91</meeting>
		<imprint>
			<date type="published" when="1991">1991</date>
			<biblScope unit="page" from="738" to="743" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Assumptions of problem-solving methods</title>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">R</forename><surname>Benjamins</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Pierret-Golbreich</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Lecture Notes in Artificial Intelligence, 1076, 9th European Knowledge Acquisition Workshop, EKAW-96</title>
				<editor>
			<persName><forename type="first">N</forename><surname>Shadbolt</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">K</forename><surname>O'hara</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">G</forename><surname>Schreiber</surname></persName>
		</editor>
		<meeting><address><addrLine>Berlin</addrLine></address></meeting>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="1996">1996</date>
			<biblScope unit="page" from="1" to="16" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Deep versus compiled knowledge approaches to diagnostic problem solving</title>
		<author>
			<persName><forename type="first">B</forename><surname>Chandrasekaran</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">International Journal of Man-Machine Studies</title>
		<imprint>
			<biblScope unit="volume">19</biblScope>
			<biblScope unit="page" from="425" to="436" />
			<date type="published" when="1983">1983</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">An analysis of timedependent planning</title>
		<author>
			<persName><forename type="first">T</forename><surname>Dean</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Boddy</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the seventh National conference on artificial intelligence AAAI-88</title>
				<meeting>the seventh National conference on artificial intelligence AAAI-88<address><addrLine>Saint Paul, Minnesota</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1988">1988</date>
			<biblScope unit="page" from="49" to="54" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Diagnosing multiple faults</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">H</forename><surname>De Kleer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><forename type="middle">C</forename><surname>Williams</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Artificial Intelligence</title>
		<imprint>
			<biblScope unit="volume">32</biblScope>
			<biblScope unit="page" from="97" to="130" />
			<date type="published" when="1987">1987</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">The role of assumptions in knowledge engineering</title>
		<author>
			<persName><forename type="first">D</forename><surname>Fensel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Benjamins</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">International Journal on Intelligent Systems (IJIS)</title>
		<imprint>
			<biblScope unit="volume">13</biblScope>
			<biblScope unit="issue">8</biblScope>
			<biblScope unit="page" from="715" to="748" />
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">The essense of problem-solving methods: Making assumptions for gaining efficiency</title>
		<author>
			<persName><forename type="first">D</forename><surname>Fensel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Straatman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">International Journal of Human-Computer Studies (IJHCS)</title>
		<imprint>
			<biblScope unit="volume">48</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="181" to="215" />
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Complexity in classificatory reasoning</title>
		<author>
			<persName><forename type="first">A</forename><surname>Goel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Soundarajan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Chandrasekaran</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">AAAI-87</title>
				<imprint>
			<date type="published" when="1987">1987</date>
			<biblScope unit="page" from="421" to="425" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Formally verifying dynamic properties of knowledge based systems</title>
		<author>
			<persName><forename type="first">P</forename><surname>Groot</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Teije</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Van Harmelen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings 11th European Workshop on Knowledge Acquisition, Modeling, and Management (EKAW &apos;99)</title>
		<title level="s">Lecture Notes in Artificial Intelligence</title>
		<meeting>11th European Workshop on Knowledge Acquisition, Modeling, and Management (EKAW &apos;99)</meeting>
		<imprint>
			<publisher>Springer Verlag</publisher>
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Real-time heuristic search</title>
		<author>
			<persName><forename type="first">R</forename><surname>Korf</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Artificial Intelligence</title>
		<imprint>
			<biblScope unit="volume">42</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="189" to="212" />
			<date type="published" when="1990">1990</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">R1: A rule-based configurer of computer systems</title>
		<author>
			<persName><forename type="first">J</forename><surname>Mcdermott</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Artificial Intelligence</title>
		<imprint>
			<biblScope unit="volume">19</biblScope>
			<biblScope unit="page" from="39" to="88" />
			<date type="published" when="1982">1982</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">VT: An expert elevator designer that uses knowledge-based backtracking</title>
		<author>
			<persName><forename type="first">S</forename><surname>Marcus</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Stout</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Mcdermott</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AI Magazine</title>
		<imprint>
			<biblScope unit="page" from="95" to="111" />
			<date type="published" when="1988">1988</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<title level="m" type="main">Time-constrained model-based diagnosis</title>
		<author>
			<persName><forename type="first">A</forename><surname>Pos</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1993">1993</date>
		</imprint>
		<respStmt>
			<orgName>University of Twente, department of computer science</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Master&apos;s thesis</note>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">A theory of diagnosis from first principles</title>
		<author>
			<persName><forename type="first">R</forename><surname>Reiter</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Artificial Intelligence</title>
		<imprint>
			<biblScope unit="volume">32</biblScope>
			<biblScope unit="page" from="57" to="96" />
			<date type="published" when="1987">1987</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">The KIV-approach to Software Verification</title>
		<author>
			<persName><forename type="first">W</forename><surname>Reif</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">KORSO: Methods, Languages, and Tools for the Construction of Correct Software -Final Report</title>
				<editor>
			<persName><forename type="first">M</forename><surname>Broy</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">S</forename><surname>Jähnichen</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer LNCS</publisher>
			<date type="published" when="1009">1009. 1995</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">A performance model for knowledge-based systems</title>
		<author>
			<persName><forename type="first">R</forename><surname>Straatman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Beys</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of European Symposium on the Validation and Verification of Knowledge Based Systems (EUROVAV&apos;95)</title>
				<meeting>European Symposium on the Validation and Verification of Knowledge Based Systems (EUROVAV&apos;95)</meeting>
		<imprint>
			<publisher>Adeiras</publisher>
			<date type="published" when="1995-06">June 1995</date>
			<biblScope unit="page" from="253" to="263" />
		</imprint>
		<respStmt>
			<orgName>Université de Savoie, Chamb&amp;eacuter</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<monogr>
		<title level="m" type="main">Introduction to Knowledge-Based Systems</title>
		<author>
			<persName><forename type="first">M</forename><surname>Stefik</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1995">1995</date>
			<publisher>Morgan Kaufmann</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Characterising approximate problem-solving by partial pre-and postconditions</title>
		<author>
			<persName><forename type="first">F</forename><surname>Van Harmelen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Teije</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of ECAI&apos;98</title>
				<meeting>ECAI&apos;98<address><addrLine>Brighton</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1998-08">August 1998</date>
			<biblScope unit="page" from="78" to="82" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">A competence theory approach to problem solving method construction</title>
		<author>
			<persName><forename type="first">B</forename><surname>Wielinga</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Akkermans</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Schreiber</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Internat. Journal of Human-Computer Studies, special issue on problem-solving methods</title>
		<imprint>
			<biblScope unit="volume">49</biblScope>
			<biblScope unit="issue">4</biblScope>
			<date type="published" when="1998">1998</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Using anytime algorithms in intelligent systems</title>
		<author>
			<persName><forename type="first">S</forename><surname>Zilberstein</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Artificial Intelligence Magazine</title>
		<imprint>
			<biblScope unit="page" from="73" to="83" />
			<date type="published" when="1996">1996</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Optimal composition of real-time systems</title>
		<author>
			<persName><forename type="first">S</forename><surname>Zilberstein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">J</forename><surname>Russell</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Artificial Intelligence</title>
		<imprint>
			<biblScope unit="volume">82</biblScope>
			<biblScope unit="issue">1-2</biblScope>
			<biblScope unit="page" from="181" to="213" />
			<date type="published" when="1996">1996</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
