 Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Non-classic logics / Bergmann. Introduction to Many-Valued and Fuzzy Logic CUP, 2007.pdf
Скачиваний:
40
Добавлен:
10.08.2013
Размер:
2.05 Mб
Скачать

14Fuzzy First-Order Logics: Semantics

# 14.1Fuzzy Interpretations

Interpretations for fuzzy ﬁrst-order logic use fuzzy sets to represent the meanings of vague predicates. Recall from Chapter 11 that a fuzzy set is a set to which entities belong to certain degrees, ranging from 1 (absolutely a member) to 0 (deﬁnitely not a member). An interpretation will represent each fuzzy set as a function mapping n-tuples of members of the domain to their degrees of membership in the set.

An interpretation I for fuzzy ﬁrst-order logic consists of

1.A nonempty set D (the domain)

2.An assignment to each predicate Pn (of arity n) of a function mapping each n-tuple of members of D to a value in [0. .1]:

I(Pn)(<x1, . . . , xn>) [0. .1]

3.An assignment of a member of D to each individual constant a: I(a) D.

Here’s an example of a (partial) interpretation (where we use T for tall and E for is one-eighth inch less than):

D: set of heights between 4 7 and 6 7 by 1/8 increments, inclusive I(T)(<x>) = (x – 4 7 ) / 24

(i.e., subtract 4 7 from the height x and divide the result by 24 )

I(E)(<x1,x2>) = 1 if x1 is 1/8 less than x2 0 otherwise

I(a) = 6 7

I(b) = 6 67/

8

I(c) = 5 8 I(d) = 5 7

I(e) = 5 67/

8

I(f) = 5 1 I(g) = 4 7

and here are some values that this interpretation produces for the fuzzy set of heights: I(T)(<6 7 >) = 24/24 (i.e., 1); I(T)(<6 67/8 >) = 191/192 (approx .995);

262

 14.2 Lukasiewicz Fuzzy First-Order Logic 263 I(T )(<5 8 >) = 104/192 (approx. .54); I(T )(<5 7 >) = 12/24 (.5); and I(T )(<4 7 >) =

0/24 (i.e., 0). We’ll refer to this interpretation as SST (for six foot seven is tall).

The speciﬁc function assigned to T was chosen to produce a reasonable representation of degrees of membership in the fuzzy set of tall heights, but there certainly are other plausible ways to deﬁne this function. However, fuzzy logical systems are deﬁned independently of speciﬁc membership functions, so we’ll wait until Chapter 17 to discuss other approaches to deﬁning membership functions. The sample function that we present for SST—which will be sufﬁcient for investigating how fuzzy ﬁrst-order logic handles vagueness—is merely meant to illustrate how we can deﬁne membership functions for fuzzy predicates like tall. SST also demonstrates how to interpret crisp predicates by assigning only 1 and 0 as membership values.

## 14.2 Lukasiewicz Fuzzy First-Order Logic

We begin our study of fuzzy ﬁrst-order logics with a ﬁrst order version of FuzzyL, which we’ll call FuzzyL .

To specify truth-conditions in FuzzyL we’ll once again need variable assignments: a variable assignment v assigns a member of the domain to each individual variable x, and an x-variant of a variable assignment v is an assignment v such that v (y) = v(y) for every variable y other than x (it may or may not assign the same value to x). As in earlier chapters we use the notation Iv(P) to stand for the value that a formula P has under a variable assignment v on an interpretation I.

Truth-conditions for atomic formulas are deﬁned in FuzzyL as:

1.Iv(Pt1 . . . tn) = I(P)(<I*(t1), . . . , I*(tn)>), where I*(ti) is I(ti) if ti is a constant and is v(ti) if ti is a variable.

That is, the truth-value of an atomic formula is just the degree to which the n-tuple of entities denoted by the formula’s terms is a member of the fuzzy set corresponding to the predicate. So, on interpretation SST (given any variable assignment) we have the following values (rounded to the nearest thousandth, a practice we’ll adopt in examples to follow as well):

Iv(Ta) = 1

Iv(Tb) = .995

Iv(Tc) = .542

Iv(Td) = .5

Iv(Te) = .495

Iv(Tf) = .167

Iv(Tg) = 0

Iv(Eaa) = 0

Iv(Eab) = 0

Iv(Eba) = 1

Iv(Ebb) = 0

 264 Fuzzy First-Order Logics: Semantics

The truth-conditions for formulas governed by propositional connectives are deﬁned as in FuzzyL:

2.Iv(¬P) = 1 – Iv(P)

3.Iv(P Q) = min (Iv(P), Iv(Q))

4.Iv(P Q) = max (Iv(P), Iv(Q))

5.Iv(P Q) = min (1, 1 – Iv(P) + Iv(Q))

6.Iv(P Q) = min (1, 1 – Iv (P) + Iv(Q), 1 – Iv(Q) + Iv(P))

7.Iv(P & Q) = max (0, Iv(P) + Iv(Q) – 1)

8.Iv(P Q) = min (1, Iv(P) + Iv(Q))

These clauses give the following fuzzy truth-values based on the interpretation SST:

 Formula Value ¬Ta 0 ¬Tc .458 ¬Tg 1 Ta Tb .995 Ta Td .5 Ta Tg 0 Ta Tb 1 Tb Tc .995 Tb Tf .995 Ta → Tb .995 Td → Te .995 Tb → Tg .005 Tc ↔ Tf .625 Ta & Tb .995 Tb & Tc .537 Td & Te 0 Ta Tb 1 Tb Tf 1 Te Tf .662

In Chapter 9 we used the min and max functions to deﬁne the numeric truthconditions for quantiﬁed formulas of L3, on the basis of the idea that universal quantiﬁcation is like conjunction (the min function) and existential quantiﬁcation is like disjunction (the max function). However, we can’t use the min and max functions to interpret the quantiﬁers in FuzzyL . Suppose, for example, that we interpret a fuzzy predicate F over the domain [0. .1] (a legitimate domain; we may wish to talk about the real numbers in the unit interval) as follows:

I(F)(<x>) = 1 if x = 0

x/2 otherwise

 14.2 Lukasiewicz Fuzzy First-Order Logic 265

Now, what is the minimum value that Fx can have? There isn’t one—it gets as close to 0 as you like, but never quite there. So once again we’ll use the greatest lower bound (glb) of a set of real numbers from the unit interval; recall that a number n in [0. .1] is the greatest lower bound of a set R of real numbers in [0. .1] if and only if n is less than or equal to each member of R, and there is no m in [0. .1] such that m is also a lower bound of R but m is greater than n. For a similar reason, we’ll use the dual concept of least upper bound (lub) instead of the maximum function, where a number n in [0. .1] is the least upper bound of a set R of real numbers in [0. .1] if and only if n is greater than or equal to each member of R, and there is no m in [0.

.1] such that m is also an upper bound of R but m is less than n. Here are the truth-conditions for quantiﬁed formulas in FuzzyL :

9.Iv(( x)P) = glb{Iv (P): v is an x-variant of v}

10.Iv(( x)P) = lub{Iv (P): v is an x-variant of v}

The notation glb {Iv ( P): v is an x-variant of v} stands for the greatest lower bound of the values that the formula P can have for any x-variant of v; similarly for lub

{Iv (P): v is an x-variant of v}. Given these clauses and the interpretation

I(F)(<x>) = 1 if x = 0

x/2 otherwise

of the predicate F, the formula ( x)Fx has the value 0, since that is the greatest lower bound of the values that Fx can have, while the formula ( x)Fx has the value 1.

Finally, the value assigned to a closed formula (a formula with no free variables) on an interpretation is the value that is assigned to that formula under every variable assignment on that interpretation. As in classical and three-valued ﬁrst-order logic, the value assigned to a closed formula will be the same with respect to every variable assignment on a given interpretation.

We’ll look at a few quantiﬁed formulas using interpretation SST. The formula ( x)Tx has the value 0 on SST. Every variable assignment has an x-variant that assigns 4 7 to x, and Tx has the value 0 on such a variant. Thus 0 is the greatest lower bound of the values that Tx can receive on any assignment’s x-variants, so every variable assignment v assigns the value 0 to the quantiﬁed formula ( x)Tx. On the other hand, the formula ( x)Tx has the value 1 on SST. Every variable assignment has an x-variant that assigns 6 7 to x, and on this variant the formula Tx has the value 1. So 1 is the least upper bound of the values that Tx can have on any x-variant, and this means that ( x)Tx is assigned the value 1 by every variable assignment.

Now consider the weak disjunction version of the Law of Excluded Middle formula, ( x)(Tx ¬Tx). The value of ( x)(Tx ¬Tx) on SST is the greatest lower bound of the values that Tx ¬Tx can receive on any variable assignment, which is .5. If a variable assignment v assigns 5 7 to x then max(Iv(Tx), 1 – Iv(Tx)) = max(.5, .5) =

.5, and this is the smallest value we can get for the disjunction—when we assign a taller height to x the value of the ﬁrst disjunct increases, and when we assign a