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

14Fuzzy First-Order Logics: Semantics

14.1Fuzzy Interpretations

Interpretations for fuzzy first-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 (definitely 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 first-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 specific 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 define this function. However, fuzzy logical systems are defined independently of specific membership functions, so we’ll wait until Chapter 17 to discuss other approaches to defining membership functions. The sample function that we present for SST—which will be sufficient for investigating how fuzzy first-order logic handles vagueness—is merely meant to illustrate how we can define 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 first-order logics with a first 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 defined 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 defined 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 define the numeric truthconditions for quantified formulas of L3, on the basis of the idea that universal quantification is like conjunction (the min function) and existential quantification is like disjunction (the max function). However, we can’t use the min and max functions to interpret the quantifiers 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 quantified 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 first-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 quantified 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 quantified 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 first disjunct increases, and when we assign a