Fuzzy logic programming - Semantic Scholar

23 downloads 41840 Views 129KB Size Report
aDepartment of Computer Science, Faculty of Science, P.J. ÄSafÃarik ... truth constants) the infimum of truth degree of a for- ... cost reasonable(Hotel, Time),.
Fuzzy Sets and Systems 124 (2001) 361–370

www.elsevier.com/locate/fss

Fuzzy logic programming  Peter Vojt&as'a; b; ∗  arik University, Jesenna 5, 041 54 Kosice, Slovak Republic of Computer Science, Faculty of Science, P.J. Saf of Computer Science, Academy of Sciences of the Czech Republic, Pod vodarenskou vez) 2, 180 00 Praha, Czech Republic

a Department

b Institute

Received May 2000; received in revised form January 2001

Abstract In this paper we consider the theory of fuzzy logic programming without negation. Our results cover logical systems with a wide variety of connectives ranging from t-norm and conorms, through conjunctors and disjunctors and their residuals to aggregation operators. Rules of our programs are many valued implications. We emphasize, that in contrast to other approaches, our logic is truth functional, i.e. according to P. H&ajek, we work in fuzzy logic in narrow sense. We prove the soundness and the completeness of our formal model. We deal with applications to threshold computation, abduction, fuzzy uni5cation based on similarity. We show that fuzzy uni5cation based on similarities has applications to fuzzy databases and c 2001 Elsevier Science B.V. All rights reserved. 6exible querying.  Keywords: Fuzzy logic programming; Fuzzy uni5cation; Abduction; Databases; Querying; Similarities; Threshold computation

1. Introduction 1.1. Pavelka completeness and a great variety of connectives The aim of this paper is to build a formal model for fuzzy logic programming without negation. We ' Research supported by grants VEGA 1=7557=20 and GACR 201=00=1489. ∗ Corresponding author. Department of Computer Science, Fac' arik University, Jesenn&a 5, 041 54 Ko'sice, ulty of Science, P.J. Saf& Slovak Republic. E-mail addresses: [email protected], [email protected] (P. Vojt&as'). 

work in a truth functional fuzzy logic in narrow sense (according to H&ajek [7]). This is the main diIerence with other approaches (annotated, signed, hybrid, possibilistic, probabilistic logical systems). Our rules are many valued implications (IF–THEN rule based fuzzy systems). Truth value of the formula is evaluated along the complexity of formula using truth functions of connectives. Pavelka [15] showed that arbitrary fuzzy theory over his logic (which is in fact Lukasiewicz logic with truth constants) the in5mum of truth degree of a formula ’ in all models of the theory equals supremum of degrees of graded proofs of ’ in that theory and also showed that this does not hold in full generality for fuzzy theories over other logical systems. (A

c 2001 Elsevier Science B.V. All rights reserved. 0165-0114/01/$ - see front matter  PII: S 0 1 6 5 - 0 1 1 4 ( 0 1 ) 0 0 1 0 6 - 3

362

P. Vojtas / Fuzzy Sets and Systems 124 (2001) 361–370

presentation of Pavelka’s results together with a simpli5cation of his system can be found in [7].) We prove a Pavelka type result for a wide variety of logical systems, restricting to simple theories namely fuzzy logic programs without negation. We consider the system with a widest possibility of many valued connectives. This enables our system to cover a great variety of applications where connectives are learned from data. Especially, it enables to describe diIerent user environments and=or stereotypes. Our motivating example was inspired by a hotel reservation system presented by Naito et al. [15]. They described a system of rules with connectives (aggregation operators) which is learned by a neural network. Input of the neural network is user’s preferences on a sample of hotels. Output are parameters of a parametrized family of t-norms and t-conorms and a parameter of a convex combination of them. Earlier, Gupta and Qi [6] wrote: “Theoretical and experimental studies have indicated that some toperators work better in some situations, especially in the context of decision making process than min and max operators. In fact the choice of an operation is always a matter of context, and it mostly depends on the real world problem which is to be modelled. It is appropriate, therefore to use the general concept of t-operators in the modeling of decision making process, so as to provide more options and 6exibility for the selection of t-operators that may be better suited for a given problem.” 1.2. Example In our example, we describe the knowledge base using logic programming notation. The rules are true implications. We work in a fuzzy logic where the connectives have many valued truth functions. @ is an aggregation operator (e.g. arithmetic mean, weighted sum or a monotone function learned from data). Aggregation operators are very useful in such systems because they enable us to describe increasing ful5lment of positive witnesses to user requirements. hotel reservation(Business Location, Time, Hotel)←P @(near to(Business Location, Hotel), cost reasonable(Hotel, Time), building is 5ne(Hotel)). with truth value = 0:8

near to(Business Location, Hotel)←P location(Hotel, Hotel Location)&G distance(Hotel Location, Business Location, Distance)&G close(Distance). with truth value = 1. Rules for cost reasonable and building is 5ne are de5ned similarly. Here location, distance, price and building are crisp relational data. Close, reasonable price and age reasonable are fuzzy relations. They can look like  x  ; close(x) = max 0; 1 − 50  x  reasonable price(x) = max 0; 1 − ; 1000   2000 − x age reasonable(x) = max 0; 1 − : 15 As mentioned above, the aggregation can be @(x; y; z) = (x + y + z)=3 (which equally aggregates quality of distance, price and building) or @(x; y; z) = (3x + y + 2z)=6 (which gives the highest preference for distance and then the second important is the building quality while the price is least signi5cant). The fuzzy connectives are &G (x; y) = min(x; y) and → (x; y) = min(1; y=x). Note that the 5rst rule is equipped with a truth value 0:8. 1.3. Why do we need a formal model? The main task of this paper is to build a procedural and declarative semantics for fuzzy logic programming and to prove their soundness and completeness. In our opinion it is important to have a sound and complete semantics because it enables us to compare results of computation with real world data. If there exists a diIerence between computation and real world data, we know that the reason is not in the system itself but in the description of the real world situation. In this case we should tune either connectives, fuzzy predicates or the rule base. Of course, we have to take into account that the system might not be truth functional. In this case it is not appropriate for a description using logic. Thus fuzzy logic programming is not the only solution but we try to extend its applicability. Moreover, we can extend the system by threshold computation. It will be sound and complete.

P. Vojtas / Fuzzy Sets and Systems 124 (2001) 361–370

Using this we can de5ne the fuzzy logic programming abduction problem and show its soundness and completeness. Axioms describing properties of fuzzy similarities and properties of predicate calculus with equality are fuzzy IF–THEN rules. When we incorporate them in our rule base we achieve a system which has fuzzy uni5cation based on similarities. Moreover, we develop the full fuzzy analogy of 5xpoint theory which has consequences for fuzzy databases. We also mention applications for a theory of fuzzy resolution which use knowledge bases consisting of clauses (not implications). All this can be done without any additional experimental work just on the base of our formal model for fuzzy logic programming.

2. Truth functional fuzzy logic (in narrow sense) 2.1. Language Our language is a many sorted predicate language with or without function symbols (we identify sorts of variables and attributes here). The set of all attributes is denoted by A. For each sort of variables (attribute) A ∈ A there is the set CA of constant symbols of that sort (these are names of elements of domain of attribute A). A predicate p(A1 ; : : : ; An ) is de5ned by its sorts of variables (attributes). For each attribute A (and in some cases also for each predicate) we have a similarity relation (fuzzy equivalence) sA on the domain CA . Similarly, function symbols have arity de5ned by a list of attributes for input and an attribute for the output. To capture diIerent interdependences between predicates, our language can have several many valued connectives: conjunctions &1 ; &2 ; : : : ; &k , disjunctions ∨1 ; ∨2 ; : : : ; ∨l , implications →1 ; →2 ; : : : ; →m and aggregations @1 ; @2 ; : : : ; @n . The syntactical level is not touched by the many valuedness of truth functions and fuzzy structures. Nevertheless, since we have several diIerent connec-

363

tives one cannot expect associativity and commutativity between them and hence parentheses should be used more consequently and traditional abbreviations in notation do not apply here. 2.2. Truth values and structures The set of truth values in this paper is the set of real numbers from the unit interval [0; 1]. For a connective c the corresponding truth value function will be denoted by c · (i.e. a dot over the very connective). c · is according to the arity of the connective a function from [0; 1]ar(c) into [0; 1] (usually preserving rationality). A truth function for a conjunction & is a conjunctor & · : [0; 1]2 → [0; 1] and for disjunction ∨ a disjunctor ∨ · : [0; 1]2 → [0; 1] which are assumed to extend the respective two valued connective and are monotone in both coordinates (no associativity, symmetry or boundary conditions are assumed). This enables us to work with approximations of connectives and=or with connectives learned from data. The truth function for an n-ary aggregation operator @ · : [0; 1]n → [0; 1] should be a nonmonotone and ful5ll @ · (1; 1; : : : ; 1) = 1 and @ · (0; 0; : : : ; 0) = 0. The truth function for an implication → is an implicator → · : [0; 1]2 → [0; 1] which is nonincreasing in the 5rst and nondecreasing in the second coordinate and extends the two valued implication. Recall some classical connectives The Lukasiewicz connectives: & · (x; y) = max(0; x + y − 1); L

→L· (x; y) = min(1; 1 − x + y); ∨ ·(x; y) = min(1; x + y): L

The GAodel intuitionistic connectives: & · (x; y) = min(x; y); G

→G· (x; y) = y if x¿y else1; ∨ · (x; y) = max(x; y): G

The product logic: & · (x; y) = x:y; P

→P· (x; y) = min(1; y=x); ∨ · (x; y) = x + y − xy: P

364

P. Vojtas / Fuzzy Sets and Systems 124 (2001) 361–370

Since we are dealing with logic programs without negation, we skip here arbitrary interpretations and we base our declarative semantics only on fuzzy Herbrand interpretations. We follow closely Lloyd’s presentation and even notation [10]. Herbrand universe of sort A, denoted by ULA , consists of all ground terms of type A. Having function symbols we are going to interpret them as crisp (although in many database applications where the knowledge base is in a normal form, there are no function symbols at all). Herbrand base BL consists of all ground atoms. Note that so far there is no fuzziness. An n-ary predicate symbol p(A1 ; : : : ; An ) will be interpreted as a fuzzy subset of ULA1 × ULA2 × · · · × ULAn , i.e. as a mapping from pI : ULA1 × ULA2 × · · · × ULAn → [0; 1]: Gluing together all fuzzy predicates we can interpret them all at once by a mapping f : BL → [0; 1]: There is a one-to-one correspondence between these two ways of representing a structure of the language. Namely, having the value p I (t1 ; : : : ; tn ) for some constant terms in appropriate domains, we can de5ne fp I (p(t1 ; : : : ; tn )) = p I (t1 ; : : : ; tn ) and vice versa pfI . Note that p(t1 ; : : : ; tn ) is a syntactical object, i.e. a word in the alphabet of our language. Let f : BL → [0; 1] be a fuzzy interpretation of our language. The truth value for ground atoms p ∈ BL is de5ned to be f(p). For arbitrary formula ’ and an evaluation of all sorts of variables e A : Var A → ULA the truth value f(’)[e] is calculated along the complexity of formulas using truth value functions of connectives c ·. The universal quanti5er acts as f((∀x)’)[e] = inf {f(’)[e ]: e =x e} where e =x e means that e can diIer from e only at x. Finally, let the truth value of a formula ’ under an interpretation f be the same as that of its generalization and not depend on evaluation (here ∀’ means universal quanti5cation of all variables with free occurrence in ’): f(’) = f(∀’) = inf {f(’)[e]: e arbitrary}: 2.3. Fuzzy theories Developing a fuzzy logic system we should be more careful and to distinguish between syntactical and se-

mantical part of the system (some stereotypes from two valued case do not apply here). Especially, we will have no logical axioms. This is caused by the fact that we work in a very general situation with almost arbitrary connectives and we would like our computed query answers to apply to real world situation. So there is no time to look for 1-tautologies to extend the capabilities of our system. We work only with theories describing the application domain. For the purposes of this paper a fuzzy theory is a partial mapping P assigning to formulas rational numbers from (0; 1]. We do not depend on this assumption on rational numbers, from the point of view of complexity it is quite reasonable. We understand that partiality of the mapping P as being de5ned constantly zero outside of the domain dom(P). A single axiom is often denoted as (’; P(’)), i.e. the ordered tuple—the formula and the (axiomatically assigned) truth value (e.g. by an expert, by a learning procedure, etc.). An interpretation f is a model of a theory P if for all formulas ’ ∈ dom(P) we have f(’) ¿ P(’): This means that the truth value assigned by the axiom is understood as a lower bound of truth values in structures which are models. 2.4. Many valued modus ponens For our application we have to decide what are the reasonable implications and how do we evaluate logic programming computation with uncertain rules. Our starting point is the many valued modus ponens (see e.g. [7,15]), which syntactically looks like (B; x); (B → A; y) (A; mp→ (x; y)) where mp→ is a function calculating the truth value of the answer. The soundness of many valued modus ponens semantically means that whenever f is an interpretation such that f(B)¿x (i.e. f is a model of (B; x)) and f(B → A) = →· (f(B); f(A))¿y, (i.e. f is a model of (B → A; y)) then f(A)¿mp→ (x; y), i.e. the truth value of A in all models of mentioned two axioms is guaranteed to be at least the computed degree. Even without knowing what properties →· should ful5ll, we argue that mp→ should ful5ll mp→ (0; 0) =

P. Vojtas / Fuzzy Sets and Systems 124 (2001) 361–370

mp→ (0; 1) = mp→ (1; 0) = 0 (because if one of the premises of modus ponens is false then a nonzero truth value of the answer cannot be guaranteed). Similarly, mp→ (1; 1) = 1, because we would like our system to extend the two valued modus ponens. Moreover, if we know premises with higher truth value then the truth value of conclusion should not be smaller. That is mp→ should be nondecreasing in both coordinates. These are exactly the properties of a conjunctor. Denote mp→ by C→ . Note that this conjunctor C→ evaluating modus ponens with → need not be a truth value function of any conjunction in our language. Moreover, since we do not assume commutativity (symmetry) of conjunctors C evaluating modus ponens and to be sure that in proofs we do not confuse position of variables denoting truth value of the fact and the rule, let us make the following agreement: In the many valued modus ponens (B; x); (B → A; y) (A; C→ (x; y)) the position of variables of the conjunctor C, which is used to estimate the lower bound for the truth value of the head of the implication, has 5xed meaning and are intended as: the 5rst variable of C(x; :) is the truth value of the fact entering the modus ponens (here (B; x)), the second variable of C(:; y) is the truth value of the rule entering the modus ponens (here (B → A; y)), schematically: C→ (Truth value of the fact; Truth value of the rule): Position=order of variables of I is also 5xed and is intended as I(Truth value of the body; Truth value of the head): Assertion MP(C; I) means: C is a conjunctor, I is an implicator and →· = I; then from f(B)¿x and f(B → A) = I(f(B); f(A))¿y follows that f(A)¿C(x; y). According to Pedrycz [16] and Gottwald [5] we can de5ne the following properties of functions of two real variables:

365

'1(I) iI I is nonincreasing in the 5rst and nondecreasing in the second coordinate (note, every implicator ful5lls this), '2(C; I) iI (∀x)(∀y)C(x; I(x; y))6y, '3(C; I) iI (∀x)(∀y)I(x; C(x; y))¿y. Moreover, having I we de5ne CI (f; r) = inf {h: I(f; h) ¿ r}: First note that names of variables are mnemonic (according to the above agreement on the position and intended meaning of variables): f as the truth value of the fact coming to MP (in I it plays the role of body), r as the truth value of the rule and h as the truth value of the head. Note also that CI is always a conjunctor. '2(CI ; I) always holds true. If I is right continuous in the second variable, then '3(CI ; I) holds. For classical connectives we have C→L = &L , C→G = &G and C→P = &P . Analogously for C de5ne IC (b; h) = sup{r: C(b; r) 6 h}: Note that IC is an implicator, '3(C; IC ) always holds and if C is left continuous in the second (rule typed) coordinate, then '2(C; IC ) is also true. Note I&L = →L , I&G = →G and I&P = →P . Moreover, note that whenever C6CI then '2(C; I) and I¿IC imply '3(C; I). Note also that '2(C; I) implies MP(C; I), namely whenever I =→· and f(B)¿x and f(B → A) = I(f(B); f(A))¿y then C(x; y) 6 C(f(B); f(B → A)) = C(f(B); I(f(B); f(A))) 6 f(A): CI is the largest sound evaluation of modus ponens. As a corollary of completeness we will get that C6CI and I¿IC imply C = CI . 3. Semantics of fuzzy logic programming 3.1. Declarative semantics A formula B is called a body if it is built from atoms using arbitrary conjunctions, disjunctions and aggregations. For the purposes of description of procedural semantics we will use for a while pre5x notation in the

366

P. Vojtas / Fuzzy Sets and Systems 124 (2001) 361–370

body. Typically, a body looks like ∨([&1 (B1 ; @2 (B2 ; B3 ))]; [&3 (C1 ; @4 (C2 ; C3 ))]): Warning: The usual Prolog notation does not apply. A comma “,” in the body does not denote a conjunction, it only separates inputs of a connective when written in a pre5x notation. A rule is a formula of form A ← B; where B is a body and A is an atom. An atom is also called a fact (typically an element of a Herbrand base BL ). A fuzzy logic program P is a fuzzy theory P : Formulas → [0; 1] ∩ Q such that dom(P) = P −1 (0; 1] is 5nite and consists of rules and facts. A query (or a goal) is again an atom (positive) intended as a question A? prompting the system (we do not have refutation here). For the beginning, substitutions are crisp substitutions. De$nition 1. A pair (x; +) consisting of a real number 0¡x61 and a substitution + is a correct answer for a program P and a query A? if for arbitrary interpretation f : BL → [0; 1], which is a model of P, we have f(∀(A+))¿x: 3.2. Procedural semantics First, we de5ne admissible rules which act on tuples of words in the alphabet LRP and substitutions. LRP is the disjoint union of alphabets of the language of the program dom(P) enlarged by names for &·; ∨·; @· and reals. Moreover, for every implication → we have in LRP a conjunctor C, intended for evaluating modus ponens with →. Note that neither of I; →; →· is in LRP . De$nition 2. We de5ne admissible rules as follows: Rule 1: From ((XAm Y ); #) infer ((X C(B; q)Y )+; # ◦ +) if 1: Am is an atom (called the selected atom), 2: + is an mgu of Am and A, 3: P(B → A) = q and B is a (nonempty body). Rule 2: From (XAm Y ) infer (X 0Y ) (this is a rule to handle situation when in a disjunction or aggregation an argument is missing).

Rule 3: From ((XAm Y ); #) infer ((XrY )+; # ◦ +) if 1: Am is an atom, 2: + is an mgu of Am and A, 3: P(A) = r (i.e. A is a fact). Rule 4: If the word does not contain any predicate symbols rewrite all connectives (&’s and ∨’s) to &·; ∨·. As this word contains only some additional C’s and reals evaluate it (of course the substitution remains untouched). De$nition 3. Let P be a program and A a goal. A pair (r; +) consisting of a (rational) number r and a substitution + is said to be a computed answer if there is a sequence G0 ; : : : ; Gn such that 1: every Gi is a pair consisting of a word in AP and a substitution, 2: G0 = (A; id), 3: every Gi+1 is inferred from Gi by one of the admissible rules (between lines we do not forget the usual Prolog renaming of variables along derivation), 4: Gn = (r; + ) and + = + restricted to variables of A. Example of a computation: Consider a program P with rules (in propositional logic; the uni5cation and substitution stuI is the same as in classical Prolog). Connectives are in pre5x notation: A ← ∨([&1 (B1 ; @2 (B2 ; B3 ))]; [&3 (C1 ; @4 (C2 ; C3 ))]):cf = a; B1 ←1 &3 (D1 ; D2 ):cf = b1 ; C2 ←2 @2 (E1 ; E2 ):cf = c2 and the database B2 :cf = b2 ;

B3 :cf = b3 ;

C1 :cf = c1 ;

C3 :cf = c3 ;

D1 :cf = d1 ;

D2 :cf = d2 ;

E1 :cf = e1 ;

E2 :cf = e2 :

The question (consultation) A? leads to a computation which resembles classical Prolog, we have to just remember (via a bookkeeping) truth values for the 5nal evaluation of the con5dence of the answer (see also

P. Vojtas / Fuzzy Sets and Systems 124 (2001) 361–370

graded proofs of Pavelka [15] and H&ajek [7]): C(a; ∨([&1 (B1 ; @2 (B2 ; B3 ))]; [&3 (C1 ; @4 (C2 ; C3 ))]) C(a; ∨([&1 (C1 (b1 ; &3 (D1 ; D2 )); @2 (B2 ; B3 ))]; [&3 (C1 ; @4 (C2 ; C3 ))]) C(a; ∨([&1 (C1 (b1 ; &3 (D1 ; D2 )); @2 (B2 ; B3 ))]; [&3 (C1 ; @4 (C2 (c2 ; @2 (E1 ; E2 )); C3 ))]) ::: C(a; ∨ · ([&1· (C1 (b1 ; &3· (d1 ; d2 )); @2· (b2 ; b3 ))]; [&3· (c1 ; @4· (C2 (c2 ; @2· (e1 ; e2 )); c3 ))]) what is the truth value of the answer YES to the query A?. 3.3. Soundness of our semantics Theorem 1. Every computed answer for a deCnite fuzzy logic program P and A is a correct answer. Proof. Is similar to that of [10]. Take a goal A with a computation of length k + 1 starting with a rule P(A ← B) = r. Suppose that the result holds for all computed answers due to computations of length 6k. For each atom D from the body B there is a computation of length 6k, hence computed answer d6f(D) in every model of P. But then f(B)¿b, where b is the computed answer for the whole body. This is because conjunctions, disjunctions and aggregations are monotone in both coordinates. Hence, f being a model of P means f(A ← B)¿P(A ← B) = r and by the soundness of modus ponens we get f(A) ¿ C(b; r): 4. Fixpoint theory and completeness Consider the lattice FP = {f: f is a mapping from BP into [0; 1]} with coordinatewise lattice ordering.

367

De$nition 4. We de5ne the operator TP : FP → FP by TP (f)(A) = sup{r: there is a rule A ←i B which is a ground instance of some C ∈ dom(P) and r = Ci (f(B); P(C))}. 4.1. The Cxpoint theorem Theorem 2. Assume that all implications fulCll '1− 3(Ci ; →·i ). Moreover; assume that all Ci ’s; &·i ’s; ∨·i ’s and @i ’s are lower semicontinuous. Then 1: TP is continuous (i.e. TP preserves joins of upward directed sets of interpretations). 2: f is a model of P iD TP (f)6f (hence the minimal Cxpoint of TP is a model of P). Proof. (1) The continuity of TP is straightforward, using monotonicity and lower continuity of all connectives in the body and conjunctors evaluating modus ponens. (2) Denote →·i = Ii . Assume that f is a model of P. For an A ←i B a ground instance of some C ∈ dom(P) we would like to show that f(A) ¿ Ci (f(B); P(C)): We have f(A ←i B) ¿ f(C) ¿ P(C); the 5rst inequality holds because A ←i B is aground instance of C, the second, because f is a model of P. By ('1 − 2) we have Ci (f(B); P(C)) 6 Ci (f(B); f(A ←i B)) = Ci (f(B); Ii (f(B); f(A))) 6 f(A): Now assume TP (f)6f. It suXces for all ground instances A ←i B of C to show f(A ←i B)¿P(C). But f(A) ¿ TP (f)(A) ¿ Ci (f(B); P(C)) gives (by '1 and the above) f(A ←i B) = Ii (f(B); f(A)) ¿ Ii (f(B); Ci (f(B); P(C))) ¿ P(C): The last inequality is '3. Hence the 5xpoint theorem works even without any further assumptions on conjunctors (de5nitely they must not be commutative and associative).

368

P. Vojtas / Fuzzy Sets and Systems 124 (2001) 361–370

4.2. Completeness of fuzzy deCnite programs Theorem 3. Assume for all implications we have '1 − 3(Ci ; Ii ) and all Ci ’s; &·i ’s and ∨i·’ s are lower semicontinuous. Then for every correct answer (x; 4) for P and A and for every 5¿0 there is a computed answer (r; #) for P and A such that x − 5¡r and 4 = #6 ( for some 6). Proof. Having the previous theorem the proof is very similar to the classical proof of the completeness of SLD resolution. The previous theorem practically states the completeness for ground instances of atoms (similarly as in [10]), because the correct answer for a ground query A holds also in the minimal model which is a countable iteration of the TP operator starting from the 0-interpretation. Now having a positive 5 there is an n such that TPn (0)(A)¿TP! (0) − 5. Looking for the contributions to the value of TPn (0)(A), there is one also greater than TP!(0) − 5, this is obtained through the application of a rule or a fact, in any case we can trace the computation backwards. The only diIerence from the classical case is that a zero value of an atom can appear in a nonzero value of a disjunction or aggregation (that is why we need the admissible rule 2). To extend it for general case we can extend the language by constants cX for every variable and de5ne the truth value of a formula with cX as the truth value of the formula with universally quanti5ed variable X , that is as the in5mum of truth values on all constants. Such a structure of the language is again a model of the theory P, because where in the theory there was a free variable truth value is computed as though it was universally quanti5ed, hence all values on constants are greater or equal and hence also on cX . Hence, the validity on ground atoms directly follows from the 5xed point theorem and using the lifting lemma and Mgu lemma of [10] we obtain the full result. 5. Applications 5.1. Generalization of van Emden’s cut [2]—computations with a threshold Having a conjunctor C for the evaluation of modus ponens we de5ne the function EC (E tries to be

mnemonic to suggest this function counts estimates or expectations of the development of a branch in the search tree). The intended meaning of variables is EC (rule; threshold): EC (r; t) = inf {f: C(f; r) ¿ t}: As C(x; y)6 min(x; y) the function E is not de5ned for values rule ¡ threshold. Except of E(0; 0) = 0 it ful5lls all properties of an implicator and properties dual to '’s can be introduced. The most important application of E is the following: Assume I am interested whether there is an answer to A with truth value not less than some threshold t. Moreover assume that my computation selects a rule with truth value r. Then the new threshold for cut is EC (r; t). The situation is even more interesting if the new threshold is larger than the previous one, i.e. EC (r; t)¿t. This is for instance the case when C(t; r)¡t and C is right continuous in the 5rst variable. In cases when the iteration Cn tends to zero we can estimate the depth of the search tree according to the size of the threshold and the highest truth value of a rule (assuming all are below 1). 5.2. Fuzzy logic programming abduction A fuzzy logic abduction problem was de5ned in [22] and a computational model similar to the one above was given. The only diIerence is that the abduction does not fail when there is no fact or head uni5able with a selected atom. Instead of this it generated another constraint to the set of hypotheses and with a linear optimization algorithm 5nds a cheapest explanation for the abduction observation. 5.3. Similarities and the problem of fuzzy uniCcation The formal model for fuzzy logic programming with crisp uni5cation is a base for a model for fuzzy uni5cation. In the case if we base our fuzzy uni5cation on similarities we can do the following. We express properties of fuzzy similarities and axioms of predicate calculus with equality (which are luckily rules of our type, with truth value 1) as additional rules of our program P. Then the 5xpoint theorem and minimal model iteration gives a model of this extended theory. So similarity based fuzzy uni5cation is nothing else

P. Vojtas / Fuzzy Sets and Systems 124 (2001) 361–370

as what the TP operator does, closure of crisp uni5cation under similarity and equality axioms. Since TP! is also a model of this extended theory, we have a sound and complete model of fuzzy uni5cation (for details see [23]).

369

real world situation. In the above case it can look like 1 2

= f(A&G A) = &G· (f(A); f(A)) ¿ &L· (f(A); f(¬A)) = f(A&G ¬A) = 0:

5.4. Fuzzy databases and Gexible querying The TP operator is directly connected with data model which evaluates rules, starting from a crisp EDB, via fuzzy IDB relations. The fuzzy relational algebra was described in [26] and above completeness is guaranteeing the commesurability of logic and fuzzy relational algebra. Moreover, similarity based fuzzy uni5cation is the base of a 6exible query answering system (see [25]). 5.5. Fuzzy resolution with true clauses In [19] we used an observation that the truth function for ¬A∨B is an implicator to get a sound and complete model of resolution modus ponens (extended to full resolution in [20]). The main point here is that we do not need t-norms and their residuals but our theory developed here works for (almost) arbitrary conjunctors and implicators. 5.6. Fuzzy logic paradox Many authors noticed the following paradoxical behavior of many valued truth functional logical systems: Assume A is a proposition with truth values in a structure f(A) = f(¬A) = 12 : Then the following holds: f(A&A) = & · (f(A); f(A)) = & · (f(A); f(¬A)) = f(A&¬A); which is never ful5lled in real world applications. Our solution to this is that it is wrong to describe conjunction of A and A and with ¬A with the same conjunction. Our system oIers sound and complete deduction with many connectives, which can be chosen to 5t the

6. Conclusions and historical comments Our reference should 5rst mention the development of many valued logic starting from Lukasiewicz [11] and Goedel [3] dealing with 1-tautologies, surveyed in Gottwald’s book [4]. Works of Zadeh [27,28] have also started investigations in uncertain reasoning based on many valued logic and fuzzy theories (i.e. theories which no more require the truth value of axioms being 1 but they postulate some minimal truth value 0¡TV 61 required for models). Pavelka [15] introduced a proof procedure for fuzzy theories in the Lukasiewicz logic and proved its completeness. This was generalized by Nov&ak [14] for predicate calculus and substantially simpli5ed by H&ajek [7]. An exhaustive survey on fuzzy logic programming before ’91 is in Chap. 4.3 of Dubois et al. [1], most of this are mainly heuristic algorithms which are sometimes based on a truth functional logical system and seldom based on a proof of completeness. In what follows, we refer to results on many valued (fuzzy) logic programming in truth functional logical system. We refer to a system according to which many valued connectives appear in rules. Here a (→; &)-program means de5nite logic program with rules of the form of implication → with body consisting of &-conjunction of atoms. Soundness and completeness results were proved for (→L ; &L ; &G )-programs by Klawon and Kruse [8] and for (→G ; &G )-programs by Mukaidono and Kikuchi [12]. In [24] Vojt&as' and Paul&Zk proved completeness for arbitrary (→; &)-programs with left continuous t-norms under some restrictions about evaluation of modus ponens. In [21] this is proved for propositional fuzzy logic without these restrictions. In 1986 van Emden [2], not cited in [1], generalizing some results of Shapiro [17], proved under some restrictions soundness and completeness for (→P ; &G )programs, though not in a truth functional logic. He introduced, moreover, a fuzzy 5xpoint theory and invented a method which allows to cut the search tree es-

370

P. Vojtas / Fuzzy Sets and Systems 124 (2001) 361–370

timating the truth value for product implication. In the present paper we generalize also van Emden’s method of cut. Note that the MYCIN-expert system [18] is based on (→P ; &G )-rules. van Emden’s results were implemented by Li and Liu [9]. This led to other approaches to fuzzy logic programming (anotated, hybrid, probabilistic programs). There are also systems using possibilistic and signed logic. It is out of the scope of this paper to discuss relations of our system to these systems. In this paper we presented a soundness and completeness proof for fuzzy logic programs without negation and with a wide variety of connectives in a truth functional fuzzy logic in a narrow sense. We mentioned applications in threshold computation, abduction, similarity based fuzzy uni5cation, fuzzy databases, 6exible querying and clausal resolution. References [1] D. Dubois, J. Lang, H. Prade, Fuzzy sets in approximate reasoning, Part 2: Logical approaches, in: I.B. Turksen, D. Dubois, H. Prade, R.R. Yager (Eds.), Foundations of Fuzzy Reasoning. Special Memorial Volume; 25 years of fuzzy sets: A tribute to Professor Lot5 Zadeh, First issue; Fuzzy Sets and Systems 40 (1991) 203–244. [2] M.H. van Emden, Quantitative deduction and its 5xpoint theory, J. Logic Programming 1 (1986) 37–53. [3] K. Goedel, Zum intuitionistischen Aussagenkalkuel. Anzeiger Akademie der Wissenschaften Wien, Math.- Naturwissensch. Klasse 69 (1932) 65 – 66; also in Ergebnisse eines mathematischen Kolloquiums 4 (1933) 40. [4] S. Gottwald, Mehrwertige Logik, Akademie Verlag, Berlin, 1988. [5] S. Gottwald, Fuzzy Sets and Fuzzy Logic, Vieweg, Braunschweig, 1993. [6] M.M. Gupta, J. Qi, Theory of T-norms and fuzzy inference methods, in: M.M. Gupta (Ed.), Fuzzy Logic and Uncertainty Modeling, Special Memorial Volume; 25 years of fuzzy sets: A tribute to ProIesor Lot5 Zadeh, Third issue, Fuzzy Sets and Systems 40 (1991) 431– 450. [7] P. H&ajek, Metamathematics of Fuzzy Logic, Kluwer, Dordrecht, 1998. [8] K. Klawonn, K. Kruse, A. Lukasiewicz, logic based Prolog, Mathware Soft Comput. 1 (1994) 5–29. [9] D.Y. Li, D.B. Liu, A Fuzzy Prolog Database System, Research Studies Press and Wiley, New York, 1990. [10] J.W. Lloyd, Foundation of Logic Programming, Springer, Berlin, 1987.

[11] J. Lukasiewicz, Selected Works, North-Holland, Amsterdam, 1970. [12] M. Mukaidono, H. Kikuchi, Foundations of fuzzy logic programming, in: P.-Z. Wang, K.-F. Loe (Eds.), Between Mind and Computer, Advances in Fuzzy Systems— Applications and Theory, vol. 1, World Scienti5c Publ., Singapore, pp. 225 –244. [13] E. Naito, J. Ozawa, I. Hayashi, N. Wakami, A proposal of a fuzzy connective with learning function, in: P. Bosc, J. Kaczprzyk (Eds.), Fuzziness Database Management Systems, Physica-Verlag, Wurzburg, 1995, pp. 345–364. [14] V. Nov&ak, On the syntactico-semantical completeness of 5rst-order fuzzy logic I, II. Kybernetika 26 (1990) 26–47, 134 –152. [15] J. Pavelka, On fuzzy logic I, II, III, Zeitschr. Math. Logik und Grundl. Math. 25 (1979) 45–52, 119 –134, 447– 464. [16] W. Pedrycz, Fuzzy control and fuzzy systems, Report 82=14, Dept. Math., Delft Univ. of Technology. [17] E.Y. Shapiro, Programs with uncertainties, in: A. Bundy (Ed.), Proc. 8 IJCAI, W. Kaufmann, Los Altmos, CA, 1983, pp. 529–532. [18] E.H. ShortliIe, B.G. Buchanan, A model of inexact reasoning in medicine, Math. Biosci. 23 (1975) 351–379. [19] D. Smutn&a, P. Vojt&as', Fuzzy resolution with residuation of material implication, EUROFUSE-SIC’99, Budapest 1999, pp. 472– 476. [20] D. Smutn&a, P. Vojt&as', New connectives for (full) fuzzy resolution, in: P. Sin'ca& k et al. (Eds.), Proc. ISCI, Ko'sice, Physica-Verlag, Heidelberg, 2000, pp. 146–151. [21] P. Vojt&as', Fuzzy reasoning with tunable t-operators, J. Adv. Comput. Intelligence 2 (1998) 121–127. [22] P. Vojt&as', Fuzzy logic abduction, Proc. Workshop 17 at ECAI’98, Brighton, 1998. [23] P. Vojt&as', Declarative and procedural model of fuzzy uni5cation, Kybernetika 36 (2000) 707–720. [24] P. Vojt&as', L. Paul&Zk, Soundness and completeness of non-classical extended SLD resolution, in: R. DyckhoI et al. (Eds.), Proc. ELP’96 Leipzig, Lecture Notes in Computer Science, vol. 1050, Springer, Berlin, 1996, pp. 289–301. [25] P. Vojt&as', Z. Fabi&an, Aggregating similar witness for 6exible query answering, in: H.L. Larsen et al., (Eds.), Proc. Flexible Query Answering Systems FQAS 2000, Warszawa, Physica-Verlag, Heidelberg, 2000, pp. 220–229. [26] J. Vina'r, P. Vojt&as', A formal model for fuzzy knowledge based systems with similarities, Neural Network World 10 (2000) 891–905. [27] L.A. Zadeh, Fuzzy sets, Inform. and Control 8 (1965) 338–353. [28] L.A. Zadeh, Fuzzy logic and approximate reasoning (in memory of Grigore Moisil), Synthese 30 (1975) 407–428.