I'm working on a problem which seems suited to fuzzy logic, but am a
little stuck on the right way to interpret things. Below I explain the
problem. Are any of my approaches at all sensible? Is there something
I should know, which would help me understand why one approach is
best? Is there a book I obviously haven't read? Help!
Here is the problem.
I'm trying to track a collection of vehicles, marked with
transponders, moving in front of a line of sensors. Whenever an
interesting event occurs, I want to decide which vehicle was in front
of the relevant sensor.
There are two sources of uncertainty in the problem. First, sensors
can sometimes miss transponders. Second, when a transponder is lost by
a sensor, I'm not sure whether the vehicle is not in front of the
sensor, or whether it was moving slowly, reversed itself, and is now
not in front of the sensor.
To address these issues, I want to regard the "position" of a
transponder as a fuzzy subset of the possible positions. Since it can
only be in one place at a time, I require that the sum of the
membership function over all positions be exactly 1. (Is this a "fuzzy
singleton"? is there such a thing?)
When a transponder is detected by a sensor, of course, I can attach a
truth value of 1 to the appropriate position. Next, when the
transponder is lost, I can attach truth values to the two adjacent
positions--(.5, .5) when I don't know anything, and better values if
the vehicle is moving quickly in a known direction. That isn't the
hard part, I don't think...
Next, I want to answer the question, "Is vehicle A to the left of
vehicle B?" This question has me somewhat stumped. Here's what I've
tried so far:
1. Define "A is left of B" by the statement, "If A is at i, then (B is
at j for some j>i, and B is not at k for any k<=i)."
Using the Kleene-Dienes fuzzy implication, the truth value of this
statement is equal to the truth value of the following statement,
OR-ed over all values of i:
~(i in A) or (((j+1 in B) or ... or (n in B))
and
( ~(0 in B) and ~(1 in B) and ... and ~(j in B)))
Using "max" for disjunction and "min" for conjunction, I get the
formula:
max over all i of
max of
(1 - mA(i))
and
min of
max over j>i of mB(j)
and
min over k<=i of (1 - mB(k))
The formula is interesting. One funny consequence is that, when the
largest value of mA(i) and mB(k) is small, the truth value for
"A<B" is small as well. I interpret that to mean, "If I'm not sure
where A and B are in the first place, then I can't be sure whether
one is left of the other."
That interpretation makes sense, but it bothers me. In particular,
there may be some K, such that mA(i)=0 when i>K, and mB(k)=0 when
j<K. Even in that case, the above formula might express uncertainty
whether "A<B" holds.
2. That led me to try interpreting the position information more like
probabilities. It's hard to resist: they sum to 1.
Using the above example as a guide, I defined "A<B" by the
statement, "There is a j, such that A is left of j, and B is right
of j-1."
Then, defining t(A<j) to be the sum over k<j of mA(k), we get the
calculation:
max over j of
min of
sum over k from 0 to j-1 of mA(k)
and
sum over k from j to n of mB(k)
This calculation is also interesting. In the case that bothered me,
this formula yields certainty that "A<B".
On the other hand, it bothers me to use a probabilistic definition
of disjunction, exactly when it suits me, and a fuzzy definition
the rest of the time.
3. A decent compromise seemed to result when I defined "A<B" by the
statement, "For some i<j, A is at i and B is at j". That led to
OR-ing, for all i<j, the AND of A(i) and B(j). The calculation
looks like:
max { min (mA(i), mB(j)) | j>i }
i
This formula doesn't give certainty, in the case which bothered me
above, but in that case it DOES say that "B<A" has truth value 0.
The thing that bothers me the most is that I can define "A<B" so many
ways, and in each case I get a different (albeit interesting) notion
of leftness. Am I missing something obvious here? Or should I be
revelling in all this freedom?
Len.
lbudney@pobox.com
Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.
############################################################################
This message was posted through the fuzzy mailing list.
(1) To subscribe to this mailing list, send a message body of
"SUB FUZZY-MAIL myFirstName mySurname" to listproc@dbai.tuwien.ac.at
(2) To unsubscribe from this mailing list, send a message body of
"UNSUB FUZZY-MAIL" or "UNSUB FUZZY-MAIL yoursubscription@email.address.com"
to listproc@dbai.tuwien.ac.at
(3) To reach the human who maintains the list, send mail to
fuzzy-owner@dbai.tuwien.ac.at
(4) WWW access and other information on Fuzzy Sets and Logic see
http://www.dbai.tuwien.ac.at/ftp/mlowner/fuzzy-mail.info
(5) WWW archive: http://www.dbai.tuwien.ac.at/marchives/fuzzy-mail/index.html