An empirical complexity study for a 2CPA solver
|
|
- Katherine Wood
- 5 years ago
- Views:
Transcription
1 Modern Information Processing: From Theory to Applications 1 B. Bouchon-Meunier, G. Coletti and R.R. Yager, Editors c 2005 Elsevier B.V. All rights reserved An empirical complexity study for a 2CPA solver M. Baioletti and A. Capotorti and S. Tulipani Dipartimento di Matematica ed Informatica, Università degli Studi di Perugia Perugia, Italy Abstract The computational decision problem CPA [1 4] is a variant of the probabilitistic satisfiability problem PSAT [5,11,15]. In this paper we investigate the behavior of an algorithm which decides CPA applied to the still NP-complete subproblem 2CPA, whose instances have at most two literals per clause. We locate, as it is done for some satisfiability problems [10,12 14,17], a critical value for the ratio α = m/n, where m is the number of binary clauses present in the instance and n is the number of events. This point divides almost all coherent instances from almost all not coherent ; moreover the most difficult instances lies near this point. Keywords: Probability assessments, Coherence decision, NP-complete problems, Simplification rules. We had the pleasure to work with our friend and colleague Sauro to this last job. He was always inspired by an interest of pure research and he has been our guide and promoter. This contribution is dedicated to him. Andrea & Marco 1. Introduction Probabilistic models based on partial assessments play a central role in the treatment of partial knowledge and they have a wide relevance in both unconditional and conditional frameworks. For an exhaustive overview on this subject refer to [8]
2 2 M. Baioletti et al. where there is a complete description of such methodology and where all the most recent developments have been summarized. One of the major obstacles to the use of general probabilistic models in applications has been the high computational cost of the most common adopted methods. Anyway, in the last period several techniques have been developed to bypass such drawback, both in conditional assessments ([8], chapt. 14) and in unconditional assessments (see [16]). We recently proposed a new approach [1 4] to the problem of the coherence of unconditional assessments by formulating an algorithm based on a variable elimination procedure in the style of Davis Putnam procedure for satisfiability. This approach, in line with de Finetti thought [9], deals with probability assessments on events which are represented implicitly by their explicit logical relations. An instance of the problem, called CPA for Coherent Probability Assessment, is an assessment on events, say E 1,..., E n, together with a set of dual clauses 1 on Boolean variables X 1,..., X n. Each dual clause determines a relation on E 1,..., E n by substituting each variable X i for the corresponding E i and by letting the clause to be equate to 0, which represents false. Problem CPA is adequate to treat any partial probabilistic framework as well as the problem PSAT [5,11,15], to which it is naturally reducible [1]. Hence, CPA is a NP-complete problem. Actually, it is NP-complete also its restriction 2CPA to clauses with at most two literals. In this paper we will investigate the behavior of our algorithm for CPA in the case of instances of 2CPA. We have already proved in [3] that a suitable elimination procedure, based on our rewriting rules introduced in [1,2], solves instances of 2CPA in polynomial average time. Here, we perform an experimental analysis, as announced in [4], on random instances. In Section 2, we briefly present the more general problem CPA and the procedure based on simplification rules of instances. In Section 3, we present our procedure to generate random 2CPA instances which has the peculiarity to avoid logically unsatisfiable or trivially incoherent instances. Finally, in Section 4, we report the experimental results of our procedure applied to such random instances. We are able to observe that the behavior of our algorithm is related to the index α = m/n, where m is the number of binary clauses present in the instance and n is the number of Boolean variables involved. Like most of the satisfiability problems [10,12 14,17], our procedure presents an almost unimodal path depending on the index α, with a peak in instances for which the α is quite concentrated around a critical value. This particular value of α is also a crossover where the instances of the problem pass from almost all coherent to almost all not coherent. 1 Dual means in disjunctive normal form.
3 An empirical complexity study for a 2CPA solver 3 2. CPA and simplification rules In this section we formalize the CPA problem in its general form and we describe the rules of simulations used in our decision procedure. Let us give first the basic definitions. Definition 1. An instance of CPA is given by a pair (C, p) where p = (p 1,..., p n ) is a vector of real numbers with 0 p i 1, i = 1,..., n, and C = {D 1,..., D m } is a set of dual clauses in Boolean variables X 1,..., X n. Each dual clause D j is a conjunction of literals D j = X ε 1 j 1 X ε 2 j 2... X ε r j r j k {1,..., n}, ε k {0, 1} where, as usual, X 0 j k = X j k (the negation of X jk ) and X 1 j k = X jk. It is understood that, under the substitution of each variable X i for an event E i, the instance (C, p) represents a probabilistic assessment E i p i, i = 1,..., n, and each clause D j, for j = 1,..., m, when equated to 0 (i.e. false) represents a Boolean relation among the events. Events E i s generate a Boolean algebra B modulo the given relations, see [1], and it is not trivial if and only if the set of dual clauses C is zero satisfiable. Definition 2. An instance (C, p) is called coherent, or satisfiable, if there is a probability distribution P : B [0, 1] on the Boolean algebra described above such that P (E i ) = p i for i = 1,..., n. Actually, inside our procedure we will need to generalize the notion of CPA instance, first by considering an assessment that takes value into a generic interval [0, p 0 ], instead of [0, 1]. This is required since, in the elimination process, the use of Splitting Rule 2 will divide an assessment of total mass q in two assessments of total masses q 1 and q 2, respectively, such that q 1 + q 2 = q. Moreover, since the new assessments generated by the Splitting Rule are parametric, we need the elements of assessment p i and the total mass p 0 to be linear polynomials of some real variables. Such variables could also be constrained by the a set of inequalities. Therefore an assessment can be generalized to a symbolic one as follows: Definition 3. A symbolic assessment S is a pair (C, p) where C is a set of dual clauses, as in Definition 1, and p = (p 0, p 1,..., p n ) is an array of linear polynomials with real constant terms and integer coefficients for the real variables, say z = (z 1,..., z t ). If U is a set of linear inequalities in the real variables z, we say that (S; U) is a symbolic assessment with constraints U if, for every list a of real numbers 2 This rule will be defined forward
4 4 M. Baioletti et al. which satisfy all the inequalities in U with the substitution of z for a, the following condition holds 0 p i ( a) p 0 ( a) for i = 1,..., n. The notion of satisfiability can be easily extended to a symbolic assessment with constraints, see [1]. Now we present some rules for rewriting an instance of CPA into simpler instances. Each rule can produce, as a side effect, a set of constraints on the assessment values. So we work in general with a sequence S 1, S 2,..., S r ; U (1) of general assessments on the same set of constraints U. A sequence of symbolic constrained assessments on real variables z is satisfiable if there is a list of real numbers a which satisfies every constraint in U and such that each ground assessment S i ( a) is coherent. The rules described below can be applied to any S = (C, p) belonging to the list S 1, S 2,..., S r. The new sequence is satisfiable if and only if the old sequence was such (for a proof see [1]). To simplify the notation, if p i is any polynomial in the list (p 0, p 1,..., p n ) and ε {0, 1}, we will denote by p ε i the polynomial p i, if ε = 1, and the polynomial p 0 p i, if ε = 0. For the sake of space limitation, we report here only the three most relevant rules. Anyway, each rule is numbered according to the list presented in [2] which we refer to for a complete description of all the rules. R1: Unitary clause rule. If Xi ε appears as a clause in C then Delete all clauses containing Xi ε Delete the literal X 1 ε i in each clause where it appears Add the constraint p ε i = 0. R5: Splitting Rule. Fix a variable that, without loss of generality, can be X 1. Then replace S by the two general assessments S 1 = (C 1, p 1 ) and S 0 = (C 0, p 0 ) in the Boolean variables X 2,..., X n such that p 1 = (p 1, z 2,..., z n ) and p 0 = (p 0 p 1, p 2 z 2,..., p n z n ) where z 2,..., z n are new real variables not already being used C ε = C[X 1 ε], for ε = 0, 1 where [X 1 ε] means the substitution of variable X 1 for the Boolean value ε Add the constraints 0 z i p 1, 0 p i z i p 0 p 1 for i = 2,..., n. R8: Inclusion rule. If in S = (C, p) all the clauses of C are binary clauses and the literal literal graph G(C) is bipartite, then Delete S from the sequence Add the constraints p ɛ i + p η j p 0 for all Xi ɛ X η j in C.
5 An empirical complexity study for a 2CPA solver 5 These rules are correct with respect to the notion of satisfiability. Hence they can be used in an algorithm which checks the coherence of a given probability assessment (C, p). The algorithm starts with the symbolic assessment S; as input, where S = (C, (1, p 1,..., p n )) and halts when a contradiction in U is found or when there are no more clauses. In this case the coherence of (C, p) is equivalent to the solvability of U, the constraint system returned by the procedure, which can be checked by using one of several methods based on linear programming. At each step the algorithm keeps the current sequence S 1, S 2,..., S r in a stack and applies one of the simplification rules to the topmost assessment, trying to use as late as possible the Splitting Rule. 3. Algorithm behavior for 2CPA: random instances generation As already stated in the introduction, the main goal of this paper is to produce a qualitative analysis of the performance of the algorithm described in the previous section when it is applied to 2CPA instances, i.e. when the clauses D j s, j = 1,..., m, have at most two literals. Since, due to rule R1, unitary clauses would be immediately simplified, without loss of generality, we will focus on instances containing clauses with exactly two literals. The practical relevance of such instances and the good performance (polynomial average time complexity) of the algorithm on them were already discussed in [3], but the present empirical study will show interesting features hardly attainable by pure theoretical tools. The first issue we had to face to perform good simulations was to find a sound random generator of 2CPA instances. In fact, a fully unconstrained generator is not suitable for our purposes because trivial not coherent instances can easily appear. In this section we discuss three generators of random instances for the 2CPA problems; anyway, in the next section we will present only the empirical results obtained by the second and the third. The first two generators share as a first common step the random generation of the probabilities p i, associated to each event X i, i = 1,..., n, with a uniform distribution in [0, 1]. The second step is the random generation of the clauses. The two generators differ in this step. A first common principle used in both generators is that clauses must be zero satisfiable, i.e. there must exists a truth assignment on the variables which falsifies all the clauses. In fact it is easy to show that a 2CPA instance whose clauses are not zero satisfiable, is incoherent. Fortunately, the problem of checking if a 2CPA has zero satisfiable clauses is equivalent to 2SAT and then it is solvable in a time linear with respect the number of clauses. A second principle is to avoid to generate instances whose clauses violate in an
6 6 M. Baioletti et al. apparent way some rules of probability theory. In particular, for each binary clause Xi ɛ Xη j, where ɛ, η {0, 1}, the constraint p ɛ i + pη j 1 must hold. Otherwise the instance is not coherent and any procedure, based on our rules, would be able to detect the incoherence in a few steps. In fact applying the splitting rule (R5) on one of the two variables present in the clause, and then applying the unit clause rule (R1) on the other variable, two numerical contradictory constraints would be added to the system. This inconsistency would be immediately detected by the procedure. When performing an empirical analysis on the percentage of coherent instances or on the difficulty of solution, the presence of instances with clauses violating p ɛ i + pη j 1 can cause a bias on the results of an empirical analysis because this kind of clauses are very easy to solve and always incoherent. Moreover, a totally random generator of instances, i.e. which generates the p i s independently of the clauses, has a very high probability (of order 1 2 n ) to create at least one clause violating the former constraint. Therefore a 2CPA instances generator must take into account the clauses D j s when it generates the probabilities p i s. On the other hand, it is computationally easier to reverse the process by taking into account the probabilities p i s meanwhile the clauses D j s are generated. Now, we observe that the constraint reduces to p i + p j 1 if ɛ = 1 and η = 1, to p i + p j 1 if ɛ = 0 and η = 0, to p i p j if ɛ = 1 and η = 0 and to p i p j if ɛ = 0 and η = 1. So, given p i and p j the polarities can be chosen according to the following table p i + p j 1 p i + p j 1 ɛ = 1, η = 0 ɛ = 1, η = 0 p i p j or or ɛ = 1, η = 1 ɛ = 0, η = 0 ɛ = 0, η = 1 ɛ = 0, η = 1 p i p j or or ɛ = 1, η = 1 ɛ = 0, η = 0 (2) Except in cases where p i = p j or p i + p j = 1, only two clauses, among the four possible, are admissible; moreover, one of them has equal polarities while the other has different polarities. Hence a generator can first decide about equal or different polarities and later choose the right ones according to table (2), where, to be definite, in case p i = p j it uses only the first line and in case p i + p j = 1 the first column. Finally this way of selecting clauses also fulfills the first principle because the truth assignment
7 An empirical complexity study for a 2CPA solver 7 0 if p i 1/2 v(x i ) = 1 otherwise is able to zero satisfy all the selected clauses. The first generator 3 takes as input a positive integer n and a probability value p. Then, after randomly choosing the assessment vector (p 1,..., p n ), the generator decides, on the base of the fixed probability p, for every 1 i j n if to generate a clause on the variables X i, X j or not. If yes, it chooses, with probability 1/2, one of the two admissible clauses according to the above table (2). This operational procedure generates a random instance of 2CPA where the expected value ᾱ of M/n, where M is the random number of clauses, is ( ) n 1 p(n 1) ᾱ = p = 2 n 2 The analysis of the experiments can be done by varying the probability p or, equivalently, by varying ᾱ and taking p = (2ᾱ)/(n 1). On the contrary, the analysis with the second generator of random clauses is done with respect to the fixed index α = m/n. This generator, whose inputs are now m and n, after the first step draws randomly m couples of variables without replacement and it selects the polarities of the variables in each clause according to table (2). An apparent advantage of the second generator is that the instances produced have a fixed number of clauses, while the first generator is only able to control the average number of clauses. The third generator produces instances which are generally much harder than those produced by the first two. It exploits the linear time reduction of the problem 3 COLORABILITY to 2CPA, which was already used in [1] to prove that CPA is NP complete. This generator has as input parameters v and p and generates a random graph G with v vertices and a random number E of edges, where each possible edge has probability p to be present in G. Denoting by e the realization of E, G is then converted into a 2CPA instance with n = 3v variables and m = 3(v + e) clauses, and with all the event s probabilities set to 1/3. 4. Algorithm behavior for 2CPA: empirical results We have performed a series of experiments to determine the computational hardness to solve random instances of 2CPA and to estimate the percentage of those that are coherent. 3 This generator was already used in a simplified form to prove that a procedure based on our rules is polynomial average-time on 2CPA [3]
8 8 M. Baioletti et al. Here, for the sake of synthesis, we report the results obtained by using only the second and the third random generator described in the previous section. With the second generator, the parameter n varies among the integers from 20 to 45 by a step of length 5, while the parameter α varies in [0, 3] with a fineness of For each joint combination of n and α, the algorithm solved random instances, storing the following data cp = percentage of coherent instances t = execution time nn = number of visited nodes in the search tree ps = percentage of instances solved by satisfiability of U In the following figure we report the graphs of cp against α. Note the path with a threshold, typical of satisfiability problems. In fact, also in 2CPA we find that cp Fig. 1. Percentages of coherent instances, with n varying from 20 to 45 by a step of length 5 the percentage of coherent (the analogous of satisfiable for k SAT) instances passes from values close to 100% to values almost null. This quick decrease happens in the neighborhood of a critical value of α, usually named threshold or crossover and denoted by α c. Such behavior has been already observed in other combinatorial and physical problems and it has been named phase transition (see [10]). In figure 2 the average hardness of the procedure measured by nn against α are plotted. Obviously, for any fixed value of α, nn increases according to the number n of variables. All the paths share a common behavior. They are unimodal and strongly asymmetric, i.e. they are quite fast increasing till a value of α around 1.7, while they are slightly decreasing for higher values of α. A similar behavior can be observed in figure 3, in which the average execution times in seconds are reported.
9 An empirical complexity study for a 2CPA solver 9 nn Fig. 2. Number of visited nodes in the search tree, with n varying from 20 to 45 by a step of length t Fig. 3. Procedure execution times, with n varying from 20 to 45 by a step of length 5 On the contrary, in figure 4 the graphs of ps against α show more symmetrical paths. This is in accordance with the behavior of cp. In fact, varying the number of variables n, the maximum values accordingly locate close to the crossovers α c. This phenomenon could suggest that far from the transition area 2CPA is essentially an almost purely combinatorial problem, while close to the crossover point it has also a numerical counterpart. Anyhow this aspect must be deepened in some future investigation.
10 10 M. Baioletti et al. ps Fig. 4. Percentage of instances solved by satisfiability of U, with n varying from 20 to 45 by a step of length 5 For the sake of comparison, we report also the results of runs performed with the third random generator. Due to hardness of instances generated in such a way, we restricted our attention only to instances generated by random graphs with the number or vertices in between 3 and 8. Note that in this case the potential value of 3 colorability instances 3 colorability instances % coherent var 6 var 8 var number of nodes var 6 var 8 var Fig. 5. Percentages of coherence and computational hardness for instances generated with random graphs with 4 (solid), 6 (dashed) and 8 (dotted) vertices the crossover for cp should be between 2 and 3 and it is significantly influenced by the number of vertices of the graph (and hence by the number of variables of the instances). Moreover, we can underline that the hardness in solving such instances has an increasing path, which differs from that one almost-unimodal observed with the second generator. This was, in a way, an expected behavior since instances generated by the third generator are harder and of special type with respect to the other which are almost generic.
11 4.1. Crossover location An empirical complexity study for a 2CPA solver 11 In figure 1, it appears that the crossover value should be close to 1. This, by the way, is the same results for the transition phase point for 2SAT [12,7,6]. Recall that the crossover is defined as the value α c such that, in mean, the 50% of the instances are coherent. Hence, to better locate its value, we have used the following strategy. First of all, for each run (of instances) with a fixed value of the parameter n, we have estimated the critical value α c (n). Its computation has been done by a linear regression among the values of cp against α with the restriction to the central range, i.e. cp [0.3, 0.7], where the paths are all almost linear. The particular value α c (n) has been computed as α c (n) = 0.5 a n b n where a n and b n are the least squares estimates of the linear regression. % coherent _c Number of vars Fig. 6. Linear regressions of cp against α and of α c against n Varying n, we obtained a mean value of with a standard deviation of Anyway, the value of α c (n) slightly decreases as n increases. Hence we have computed also the linear regression of α c (n) against n, obtaining the following linear relation, with R 2 = , α c (n) = n. These results are summarized in figure 4, where both linear regression and the locations of cp are plotted. 5. Conclusion We can conclude saying that the empirical results confirm our theoretical believes about the behavior of the procedure. What we plan to do in the next future is, from the theoretical point of view, to try to prove that the real crossover point is 1, while from the operational side, to search for a more efficient algorithm which allows to solve instances with a higher number of variables.
12 12 M. Baioletti et al. References 1. M. Baioletti, A. Capotorti, S. Tulipani, B. Vantaggi (2000) Elimination of Boolean variables for probabilistic coherence. Soft Computing vol. 4 N. 2, M. Baioletti, A. Capotorti, S. Tulipani, B. Vantaggi (2002) Simplification Rules for the Coherent Probability Assessment Problem. Ann. of Math. and Artif. Intell., Vol. 35, M. Baioletti, A. Capotorti, S. Tulipani (2003) Polynomial average time complexity of an algorithm for 2CPA. submitted to Information and Computation. 4. M. Baioletti, A. Capotorti, S. Tulipani (2003) Procedures for the CPA problem based on the elimination of Boolean constraints, in Proceedings of Sixth International Conference on Theory and Applications of Satisfiability Testing SAT 03, S.Margherita Ligure - Portofino (Italy), May G.Boole (1854) An investigation of the laws of thought. London: Walton and Maberley, (reprint New York: Dover 1958). 6. V. Chvatal, B. Read (1992) Mick gets some (the odds arc on his side), in Proocedings of 33 rd Ann. Symp. on Foundat. of Computer Science, J.M. Crawford, L.D. Auton (1993) Experimental results on the crossover point in SAT problem, in Proceedings of 8 th AAAI, G. Coletti, R. Scozzafava (2002) Probabilistic Logic in a Coherent Setting, Dordrecht: Kluwer, Series Trends in Logic. 9. B. de Finetti (1970) Teoria della probabilità vol.i,ii. Torino: Einaudi (Engl. Transl. (1974) Theory of probability vol.i,ii, London: Wiley & Sons). 10. J. Franco and M. Paull (1983) Probabilistic analysis of the Davis Putnam procedure for solving the satisfiability problem. Discrete Applied Math. 5, 1983, G.Georgakopoulos, D.Kavvadias and C.H.Papadimitriou (1988) Probabilistic Satisfiability. Journal of Complexity, 4, A. Goerdt (1992) A treshold for unsatisfiability, Proceedings of 17 t h Int. Symp. Mathematical Foundations of Computer Science, A. Goerdt (1999) A remark on random 2-SAT, Discrete Applied Mathematics,96-97, A. Goldberg, Jr. P.W. Purdom and C.A. Brown (1982) Average time analysis of simplified Davis-Putnam procedures. Information Process. Lett., vol. 15, 72 75; see also Errata, vol. 16, 1983, p T.Hailperin (1986) Boole s logic and probability, studies in logic and the foundations of mathematics 85. New York: North Holland. 16. P.Hansen, B.Jaumard, M.Poggi de Aragão (1995) Boole s Conditions of Possible Experience and Reasoning Under Uncertainty. Discrete Applied Mathematics, 60, D. Mitchell, B. Selman and H. Levesque (1992) Hard and easy distributions of SAT problems. In Proceedings of the Tenth National Conference on Artificial Intelligence (AAAI-92), San Jose, CA, July 1992,
Simplification rules for the coherent probability assessment problem
Annals of Mathematics and Artificial Intelligence 35: 11 28, 2002. 2002 Kluwer Academic Publishers. Printed in the Netherlands. Simplification rules for the coherent probability assessment problem Marco
More informationElimination of Boolean variables for probabilistic coherence
Original paper Soft Computing 4 2000) 81±88 Ó Springer-Verlag 2000 Elimination of Boolean variables for probabilistic coherence M. Baioletti, A. Capotorti, S. Tulipani, B. Vantaggi Abstract In this paper
More informationFrom imprecise probability assessments to conditional probabilities with quasi additive classes of conditioning events
From imprecise probability assessments to conditional probabilities with quasi additive classes of conditioning events Giuseppe Sanfilippo Dipartimento di Scienze Statistiche e Matematiche S. Vianelli,
More informationExploiting a Theory of Phase Transitions in Three-Satisability. Problems. David M. Pennock and Quentin F. Stout. University ofmichigan
Exploiting a Theory of Phase Transitions in Three-Satisability Problems David M. Pennock and Quentin F. Stout Electrical Engineering and Computer Science Department University ofmichigan Ann Arbor, MI
More informationConditional Belief Functions: a Comparison among Different Definitions
Conditional Belief Functions: a Comparison among Different Definitions Giulianella Coletti Marcello Mastroleo Dipartimento di Matematica e Informatica University of Perugia (coletti,mastroleo)@dipmat.unipg.it
More informationThe Complexity of Maximum. Matroid-Greedoid Intersection and. Weighted Greedoid Maximization
Department of Computer Science Series of Publications C Report C-2004-2 The Complexity of Maximum Matroid-Greedoid Intersection and Weighted Greedoid Maximization Taneli Mielikäinen Esko Ukkonen University
More informationComp487/587 - Boolean Formulas
Comp487/587 - Boolean Formulas 1 Logic and SAT 1.1 What is a Boolean Formula Logic is a way through which we can analyze and reason about simple or complicated events. In particular, we are interested
More informationFoundations of Artificial Intelligence
Foundations of Artificial Intelligence 8. Satisfiability and Model Construction Davis-Putnam-Logemann-Loveland Procedure, Phase Transitions, GSAT Joschka Boedecker and Wolfram Burgard and Bernhard Nebel
More informationTopics in Model-Based Reasoning
Towards Integration of Proving and Solving Dipartimento di Informatica Università degli Studi di Verona Verona, Italy March, 2014 Automated reasoning Artificial Intelligence Automated Reasoning Computational
More informationThe SAT Phase Transition
The SAT Phase Transition Ian P. Gent and Toby Walsh 2 Abstract. We describe a detailed experimental investigation of the phase transition for several different classes of randomly generated satisfiability
More informationarxiv: v1 [cs.cc] 5 Dec 2018
Consistency for 0 1 Programming Danial Davarnia 1 and J. N. Hooker 2 1 Iowa state University davarnia@iastate.edu 2 Carnegie Mellon University jh38@andrew.cmu.edu arxiv:1812.02215v1 [cs.cc] 5 Dec 2018
More informationPart V. Intractable Problems
Part V Intractable Problems 507 Chapter 16 N P-Completeness Up to now, we have focused on developing efficient algorithms for solving problems. The word efficient is somewhat subjective, and the degree
More informationOn evaluating decision procedures for modal logic
On evaluating decision procedures for modal logic Ullrich Hustadt and Renate A. Schmidt Max-Planck-Institut fur Informatik, 66123 Saarbriicken, Germany {hustadt, schmidt} topi-sb.mpg.de Abstract This paper
More informationan efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem.
1 More on NP In this set of lecture notes, we examine the class NP in more detail. We give a characterization of NP which justifies the guess and verify paradigm, and study the complexity of solving search
More informationLimitations of Algorithm Power
Limitations of Algorithm Power Objectives We now move into the third and final major theme for this course. 1. Tools for analyzing algorithms. 2. Design strategies for designing algorithms. 3. Identifying
More informationCOMP219: Artificial Intelligence. Lecture 20: Propositional Reasoning
COMP219: Artificial Intelligence Lecture 20: Propositional Reasoning 1 Overview Last time Logic for KR in general; Propositional Logic; Natural Deduction Today Entailment, satisfiability and validity Normal
More informationFormal Verification Methods 1: Propositional Logic
Formal Verification Methods 1: Propositional Logic John Harrison Intel Corporation Course overview Propositional logic A resurgence of interest Logic and circuits Normal forms The Davis-Putnam procedure
More informationA Lower Bound of 2 n Conditional Jumps for Boolean Satisfiability on A Random Access Machine
A Lower Bound of 2 n Conditional Jumps for Boolean Satisfiability on A Random Access Machine Samuel C. Hsieh Computer Science Department, Ball State University July 3, 2014 Abstract We establish a lower
More informationDetecting Backdoor Sets with Respect to Horn and Binary Clauses
Detecting Backdoor Sets with Respect to Horn and Binary Clauses Naomi Nishimura 1,, Prabhakar Ragde 1,, and Stefan Szeider 2, 1 School of Computer Science, University of Waterloo, Waterloo, Ontario, N2L
More informationGenerating Hard but Solvable SAT Formulas
Generating Hard but Solvable SAT Formulas T-79.7003 Research Course in Theoretical Computer Science André Schumacher October 18, 2007 1 Introduction The 3-SAT problem is one of the well-known NP-hard problems
More informationBranching. Teppo Niinimäki. Helsinki October 14, 2011 Seminar: Exact Exponential Algorithms UNIVERSITY OF HELSINKI Department of Computer Science
Branching Teppo Niinimäki Helsinki October 14, 2011 Seminar: Exact Exponential Algorithms UNIVERSITY OF HELSINKI Department of Computer Science 1 For a large number of important computational problems
More informationWorst-Case Upper Bound for (1, 2)-QSAT
Worst-Case Upper Bound for (1, 2)-QSAT Minghao Yin Department of Computer, Northeast Normal University, Changchun, China, 130117 ymh@nenu.edu.cn Abstract. The rigorous theoretical analysis of the algorithm
More informationNP and Computational Intractability
NP and Computational Intractability 1 Polynomial-Time Reduction Desiderata'. Suppose we could solve X in polynomial-time. What else could we solve in polynomial time? don't confuse with reduces from Reduction.
More informationDetermine the size of an instance of the minimum spanning tree problem.
3.1 Algorithm complexity Consider two alternative algorithms A and B for solving a given problem. Suppose A is O(n 2 ) and B is O(2 n ), where n is the size of the instance. Let n A 0 be the size of the
More informationPhase Transitions and Computational Complexity Bart Selman
Phase Transitions and Computational Complexity Bart Selman BS - 08/95 1 Computational Challenges In AI Many core computer science problems have been shown to be computationally intractable. We have results
More informationSatisifiability and Probabilistic Satisifiability
Satisifiability and Probabilistic Satisifiability Department of Computer Science Instituto de Matemática e Estatística Universidade de São Paulo 2010 Topics Next Issue The SAT Problem The Centrality of
More informationChapter 7 Propositional Satisfiability Techniques
Lecture slides for Automated Planning: Theory and Practice Chapter 7 Propositional Satisfiability Techniques Dana S. Nau CMSC 722, AI Planning University of Maryland, Spring 2008 1 Motivation Propositional
More informationChapter 3 Deterministic planning
Chapter 3 Deterministic planning In this chapter we describe a number of algorithms for solving the historically most important and most basic type of planning problem. Two rather strong simplifying assumptions
More informationConditional Exchangeability and Locally Strong. Coherence
Conditional Exchangeability and Locally Strong Coherence Andrea Capotorti 1, Sara Gardi 1 Dip. Matematica e Informatica, Universitá di Perugia - Italy, capot@dipmat.unipg.it Abstract We propose logical-numerical
More informationComplexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler
Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard
More informationOutline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.
Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität
More informationCritical Reading of Optimization Methods for Logical Inference [1]
Critical Reading of Optimization Methods for Logical Inference [1] Undergraduate Research Internship Department of Management Sciences Fall 2007 Supervisor: Dr. Miguel Anjos UNIVERSITY OF WATERLOO Rajesh
More informationPropositional Resolution
Artificial Intelligence Propositional Resolution Marco Piastra Propositional Resolution 1] Deductive systems and automation Is problem decidible? A deductive system a la Hilbert (i.e. derivation using
More informationLOGIC PROPOSITIONAL REASONING
LOGIC PROPOSITIONAL REASONING WS 2017/2018 (342.208) Armin Biere Martina Seidl biere@jku.at martina.seidl@jku.at Institute for Formal Models and Verification Johannes Kepler Universität Linz Version 2018.1
More informationLecture 15 - NP Completeness 1
CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) February 29, 2018 Lecture 15 - NP Completeness 1 In the last lecture we discussed how to provide
More informationPropositional Logic: Evaluating the Formulas
Institute for Formal Models and Verification Johannes Kepler University Linz VL Logik (LVA-Nr. 342208) Winter Semester 2015/2016 Propositional Logic: Evaluating the Formulas Version 2015.2 Armin Biere
More informationWHAT IS AN SMT SOLVER? Jaeheon Yi - April 17, 2008
WHAT IS AN SMT SOLVER? Jaeheon Yi - April 17, 2008 WHAT I LL TALK ABOUT Propositional Logic Terminology, Satisfiability, Decision Procedure First-Order Logic Terminology, Background Theories Satisfiability
More informationChapter 7 Propositional Satisfiability Techniques
Lecture slides for Automated Planning: Theory and Practice Chapter 7 Propositional Satisfiability Techniques Dana S. Nau University of Maryland 12:58 PM February 15, 2012 1 Motivation Propositional satisfiability:
More informationCSE 555 HW 5 SAMPLE SOLUTION. Question 1.
CSE 555 HW 5 SAMPLE SOLUTION Question 1. Show that if L is PSPACE-complete, then L is NP-hard. Show that the converse is not true. If L is PSPACE-complete, then for all A PSPACE, A P L. We know SAT PSPACE
More informationLecture Notes on SAT Solvers & DPLL
15-414: Bug Catching: Automated Program Verification Lecture Notes on SAT Solvers & DPLL Matt Fredrikson André Platzer Carnegie Mellon University Lecture 10 1 Introduction In this lecture we will switch
More informationCHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1
CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY E. Amaldi Foundations of Operations Research Politecnico di Milano 1 Goal: Evaluate the computational requirements (this course s focus: time) to solve
More informationSAT, NP, NP-Completeness
CS 473: Algorithms, Spring 2018 SAT, NP, NP-Completeness Lecture 22 April 13, 2018 Most slides are courtesy Prof. Chekuri Ruta (UIUC) CS473 1 Spring 2018 1 / 57 Part I Reductions Continued Ruta (UIUC)
More information1 Propositional Logic
CS 2800, Logic and Computation Propositional Logic Lectures Pete Manolios Version: 384 Spring 2011 1 Propositional Logic The study of logic was initiated by the ancient Greeks, who were concerned with
More informationLecture 9: Search 8. Victor R. Lesser. CMPSCI 683 Fall 2010
Lecture 9: Search 8 Victor R. Lesser CMPSCI 683 Fall 2010 ANNOUNCEMENTS REMEMBER LECTURE ON TUESDAY! EXAM ON OCTOBER 18 OPEN BOOK ALL MATERIAL COVERED IN LECTURES REQUIRED READINGS WILL MOST PROBABLY NOT
More informationClause/Term Resolution and Learning in the Evaluation of Quantified Boolean Formulas
Journal of Artificial Intelligence Research 1 (1993) 1-15 Submitted 6/91; published 9/91 Clause/Term Resolution and Learning in the Evaluation of Quantified Boolean Formulas Enrico Giunchiglia Massimo
More informationDecision Procedures for Satisfiability and Validity in Propositional Logic
Decision Procedures for Satisfiability and Validity in Propositional Logic Meghdad Ghari Institute for Research in Fundamental Sciences (IPM) School of Mathematics-Isfahan Branch Logic Group http://math.ipm.ac.ir/isfahan/logic-group.htm
More informationCSI 4105 MIDTERM SOLUTION
University of Ottawa CSI 4105 MIDTERM SOLUTION Instructor: Lucia Moura Feb 6, 2010 10:00 am Duration: 1:50 hs Closed book Last name: First name: Student number: There are 4 questions and 100 marks total.
More informationNotes for Lecture 21
U.C. Berkeley CS170: Intro to CS Theory Handout N21 Professor Luca Trevisan November 20, 2001 Notes for Lecture 21 1 Tractable and Intractable Problems So far, almost all of the problems that we have studied
More informationNP Completeness and Approximation Algorithms
Winter School on Optimization Techniques December 15-20, 2016 Organized by ACMU, ISI and IEEE CEDA NP Completeness and Approximation Algorithms Susmita Sur-Kolay Advanced Computing and Microelectronic
More informationPrice: $25 (incl. T-Shirt, morning tea and lunch) Visit:
Three days of interesting talks & workshops from industry experts across Australia Explore new computing topics Network with students & employers in Brisbane Price: $25 (incl. T-Shirt, morning tea and
More informationNP-Hardness reductions
NP-Hardness reductions Definition: P is the class of problems that can be solved in polynomial time, that is n c for a constant c Roughly, if a problem is in P then it's easy, and if it's not in P then
More informationEssential facts about NP-completeness:
CMPSCI611: NP Completeness Lecture 17 Essential facts about NP-completeness: Any NP-complete problem can be solved by a simple, but exponentially slow algorithm. We don t have polynomial-time solutions
More informationMore on NP and Reductions
Indian Institute of Information Technology Design and Manufacturing, Kancheepuram Chennai 600 127, India An Autonomous Institute under MHRD, Govt of India http://www.iiitdm.ac.in COM 501 Advanced Data
More informationCS 301: Complexity of Algorithms (Term I 2008) Alex Tiskin Harald Räcke. Hamiltonian Cycle. 8.5 Sequencing Problems. Directed Hamiltonian Cycle
8.5 Sequencing Problems Basic genres. Packing problems: SET-PACKING, INDEPENDENT SET. Covering problems: SET-COVER, VERTEX-COVER. Constraint satisfaction problems: SAT, 3-SAT. Sequencing problems: HAMILTONIAN-CYCLE,
More informationHorn upper bounds of random 3-CNF: a computational study
Horn upper bounds of random 3-CNF: a computational study Marina Langlois Robert H. Sloan György Turán 1 Email: mirodo1 sloan gyt@uic.edu University of Illinois at Chicago 1 Also University of Szeged, Hunagary
More informationSummer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA.
Summer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA NP Completeness Susmita Sur-Kolay Advanced Computing and Microelectronics Unit
More informationThe Constrainedness Knife-Edge. Toby Walsh. APES Group. Glasgow, Scotland.
Abstract A general rule of thumb is to tackle the hardest part of a search problem rst. Many heuristics therefore try to branch on the most constrained variable. To test their eectiveness at this, we measure
More informationPythagorean Triples and SAT Solving
Pythagorean Triples and SAT Solving Moti Ben-Ari Department of Science Teaching Weizmann Institute of Science http://www.weizmann.ac.il/sci-tea/benari/ c 2017-18 by Moti Ben-Ari. This work is licensed
More informationWarm-Up Problem. Is the following true or false? 1/35
Warm-Up Problem Is the following true or false? 1/35 Propositional Logic: Resolution Carmen Bruni Lecture 6 Based on work by J Buss, A Gao, L Kari, A Lubiw, B Bonakdarpour, D Maftuleac, C Roberts, R Trefler,
More informationBackdoor Sets for DLL Subsolvers
Backdoor Sets for DLL Subsolvers Stefan Szeider Department of Computer Science Durham University DH1 3LE Durham, England, UK Abstract We study the parameterized complexity of detecting small backdoor sets
More informationLecture 8: February 8
CS71 Randomness & Computation Spring 018 Instructor: Alistair Sinclair Lecture 8: February 8 Disclaimer: These notes have not been subjected to the usual scrutiny accorded to formal publications. They
More informationCS156: The Calculus of Computation
CS156: The Calculus of Computation Zohar Manna Winter 2010 It is reasonable to hope that the relationship between computation and mathematical logic will be as fruitful in the next century as that between
More informationNP-Complete Reductions 2
x 1 x 1 x 2 x 2 x 3 x 3 x 4 x 4 12 22 32 CS 447 11 13 21 23 31 33 Algorithms NP-Complete Reductions 2 Prof. Gregory Provan Department of Computer Science University College Cork 1 Lecture Outline NP-Complete
More informationLong Range Frustration in Finite Connectivity Spin Glasses: Application to the random K-satisfiability problem
arxiv:cond-mat/0411079v1 [cond-mat.dis-nn] 3 Nov 2004 Long Range Frustration in Finite Connectivity Spin Glasses: Application to the random K-satisfiability problem Haijun Zhou Max-Planck-Institute of
More informationA Model for Generating Random Quantified Boolean Formulas
A Model for Generating Random Quantified Boolean Formulas Hubie Chen Departament de Tecnologia Universitat Pompeu Fabra Barcelona, Spain hubie.chen@upf.edu Yannet Interian Center for Applied Mathematics
More information1.1 P, NP, and NP-complete
CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: Introduction to NP-complete Problems Date: 11/01/2008 Lecturer: Lap Chi Lau Scribe: Jerry Jilin Le This lecture gives a general introduction
More informationA Method for Generating All the Prime Implicants of Binary CNF Formulas
A Method for Generating All the Prime Implicants of Binary CNF Formulas Yakoub Salhi CRIL-CNRS, Université d Artois, F-62307 Lens Cedex, France salhi@cril.fr Abstract In this paper, we propose a method
More informationNP-Completeness and Boolean Satisfiability
NP-Completeness and Boolean Satisfiability Mridul Aanjaneya Stanford University August 14, 2012 Mridul Aanjaneya Automata Theory 1/ 49 Time-Bounded Turing Machines A Turing Machine that, given an input
More informationI N F S Y S R E S E A R C H R E P O R T PROBABILISTIC LOGIC UNDER COHERENCE: COMPLEXITY AND ALGORITHMS INSTITUT FÜR INFORMATIONSSYSTEME
I N F S Y S R E S E A R C H R E P O R T INSTITUT FÜR INFORMATIONSSYSTEME ABTEILUNG WISSENSBASIERTE SYSTEME PROBABILISTIC LOGIC UNDER COHERENCE: COMPLEXITY AND ALGORITHMS Veronica BIAZZO Thomas LUKASIEWICZ
More information1 Algebraic Methods. 1.1 Gröbner Bases Applied to SAT
1 Algebraic Methods In an algebraic system Boolean constraints are expressed as a system of algebraic equations or inequalities which has a solution if and only if the constraints are satisfiable. Equations
More informationLogic and Inferences
Artificial Intelligence Logic and Inferences Readings: Chapter 7 of Russell & Norvig. Artificial Intelligence p.1/34 Components of Propositional Logic Logic constants: True (1), and False (0) Propositional
More informationIntroduction to Arti Intelligence
Introduction to Arti Intelligence cial Lecture 4: Constraint satisfaction problems 1 / 48 Constraint satisfaction problems: Today Exploiting the representation of a state to accelerate search. Backtracking.
More informationKnowledge base (KB) = set of sentences in a formal language Declarative approach to building an agent (or other system):
Logic Knowledge-based agents Inference engine Knowledge base Domain-independent algorithms Domain-specific content Knowledge base (KB) = set of sentences in a formal language Declarative approach to building
More information6. Logical Inference
Artificial Intelligence 6. Logical Inference Prof. Bojana Dalbelo Bašić Assoc. Prof. Jan Šnajder University of Zagreb Faculty of Electrical Engineering and Computing Academic Year 2016/2017 Creative Commons
More informationPhase transitions in Boolean satisfiability and graph coloring
Phase transitions in Boolean satisfiability and graph coloring Alexander Tsiatas May 8, 2008 Abstract I analyzed the behavior of the known phase transitions in two NPcomplete problems, 3-colorability and
More informationLecture 9: The Splitting Method for SAT
Lecture 9: The Splitting Method for SAT 1 Importance of SAT Cook-Levin Theorem: SAT is NP-complete. The reason why SAT is an important problem can be summarized as below: 1. A natural NP-Complete problem.
More informationNP-Completeness Part II
NP-Completeness Part II Please evaluate this course on Axess. Your comments really do make a difference. Announcements Problem Set 8 due tomorrow at 12:50PM sharp with one late day. Problem Set 9 out,
More informationNP-Completeness. Andreas Klappenecker. [based on slides by Prof. Welch]
NP-Completeness Andreas Klappenecker [based on slides by Prof. Welch] 1 Prelude: Informal Discussion (Incidentally, we will never get very formal in this course) 2 Polynomial Time Algorithms Most of the
More informationPropositional Logic: Models and Proofs
Propositional Logic: Models and Proofs C. R. Ramakrishnan CSE 505 1 Syntax 2 Model Theory 3 Proof Theory and Resolution Compiled at 11:51 on 2016/11/02 Computing with Logic Propositional Logic CSE 505
More informationComplexity Theory. Jörg Kreiker. Summer term Chair for Theoretical Computer Science Prof. Esparza TU München
Complexity Theory Jörg Kreiker Chair for Theoretical Computer Science Prof. Esparza TU München Summer term 2010 Lecture 5 NP-completeness (2) 3 Cook-Levin Teaser A regular expression over {0, 1} is defined
More informationTecniche di Verifica. Introduction to Propositional Logic
Tecniche di Verifica Introduction to Propositional Logic 1 Logic A formal logic is defined by its syntax and semantics. Syntax An alphabet is a set of symbols. A finite sequence of these symbols is called
More informationA Lower Bound for Boolean Satisfiability on Turing Machines
A Lower Bound for Boolean Satisfiability on Turing Machines arxiv:1406.5970v1 [cs.cc] 23 Jun 2014 Samuel C. Hsieh Computer Science Department, Ball State University March 16, 2018 Abstract We establish
More informationAutomata Theory CS Complexity Theory I: Polynomial Time
Automata Theory CS411-2015-17 Complexity Theory I: Polynomial Time David Galles Department of Computer Science University of San Francisco 17-0: Tractable vs. Intractable If a problem is recursive, then
More informationAnalysis of a Randomized Local Search Algorithm for LDPCC Decoding Problem
Analysis of a Randomized Local Search Algorithm for LDPCC Decoding Problem Osamu Watanabe, Takeshi Sawai, and Hayato Takahashi Dept. of Mathematical and Computing Sciences, Tokyo Institute of Technology
More informationSolving Fuzzy PERT Using Gradual Real Numbers
Solving Fuzzy PERT Using Gradual Real Numbers Jérôme FORTIN a, Didier DUBOIS a, a IRIT/UPS 8 route de Narbonne, 3062, Toulouse, cedex 4, France, e-mail: {fortin, dubois}@irit.fr Abstract. From a set of
More informationDeterministic planning
Chapter 3 Deterministic planning The simplest planning problems involves finding a sequence of actions that lead from a given initial state to a goal state. Only deterministic actions are considered. Determinism
More informationLecture 12 Scribe Notes
6.890: Algorithmic Lower Bounds: Fun With Hardness Proofs Fall 04 Prof. Erik Demaine Lecture Scribe Notes Recap For the past two classes, we ve been covering inapproximability, some of its reduction styles,
More informationMaximal ideal recursive semantics for defeasible argumentation
Maximal ideal recursive semantics for defeasible argumentation Teresa Alsinet 1, Ramón Béjar 1, Lluis Godo 2, and Francesc Guitart 1 1 Department of Computer Science University of Lleida Jaume II, 69 251
More informationOn the Complexity of the Minimum Independent Set Partition Problem
On the Complexity of the Minimum Independent Set Partition Problem T-H. Hubert Chan 1, Charalampos Papamanthou 2, and Zhichao Zhao 1 1 Department of Computer Science the University of Hong Kong {hubert,zczhao}@cs.hku.hk
More informationMinimization of Matched Formulas
WDS'11 Proceedings of Contributed Papers, Part I, 101 105, 2011. ISBN 978-80-7378-184-2 MATFYZPRESS Minimization of Matched Formulas Š. Gurský Charles University, Faculty of Mathematics and Physics, Prague,
More informationNP-COMPLETE PROBLEMS. 1. Characterizing NP. Proof
T-79.5103 / Autumn 2006 NP-complete problems 1 NP-COMPLETE PROBLEMS Characterizing NP Variants of satisfiability Graph-theoretic problems Coloring problems Sets and numbers Pseudopolynomial algorithms
More informationPropositional Logic: Methods of Proof (Part II)
Propositional Logic: Methods of Proof (Part II) This lecture topic: Propositional Logic (two lectures) Chapter 7.1-7.4 (previous lecture, Part I) Chapter 7.5 (this lecture, Part II) (optional: 7.6-7.8)
More informationMathematical Logic Propositional Logic - Tableaux*
Mathematical Logic Propositional Logic - Tableaux* Fausto Giunchiglia and Mattia Fumagalli University of Trento *Originally by Luciano Serafini and Chiara Ghidini Modified by Fausto Giunchiglia and Mattia
More informationComputational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30)
Computational Logic Davide Martinenghi Free University of Bozen-Bolzano Spring 2010 Computational Logic Davide Martinenghi (1/30) Propositional Logic - sequent calculus To overcome the problems of natural
More informationInteger vs. constraint programming. IP vs. CP: Language
Discrete Math for Bioinformatics WS 0/, by A. Bockmayr/K. Reinert,. Januar 0, 0:6 00 Integer vs. constraint programming Practical Problem Solving Model building: Language Model solving: Algorithms IP vs.
More informationFirst-Order Logic First-Order Theories. Roopsha Samanta. Partly based on slides by Aaron Bradley and Isil Dillig
First-Order Logic First-Order Theories Roopsha Samanta Partly based on slides by Aaron Bradley and Isil Dillig Roadmap Review: propositional logic Syntax and semantics of first-order logic (FOL) Semantic
More informationTHE THREE-STATE PERFECT PHYLOGENY PROBLEM REDUCES TO 2-SAT
COMMUNICATIONS IN INFORMATION AND SYSTEMS c 2009 International Press Vol. 9, No. 4, pp. 295-302, 2009 001 THE THREE-STATE PERFECT PHYLOGENY PROBLEM REDUCES TO 2-SAT DAN GUSFIELD AND YUFENG WU Abstract.
More informationPropositional Logic: Methods of Proof. Chapter 7, Part II
Propositional Logic: Methods of Proof Chapter 7, Part II Inference in Formal Symbol Systems: Ontology, Representation, ti Inference Formal Symbol Systems Symbols correspond to things/ideas in the world
More informationProof Techniques (Review of Math 271)
Chapter 2 Proof Techniques (Review of Math 271) 2.1 Overview This chapter reviews proof techniques that were probably introduced in Math 271 and that may also have been used in a different way in Phil
More information