0% found this document useful (0 votes)
86 views27 pages

Today: - Fuzzy Logic - Neural Nets

The document discusses fuzzy logic and its applications. It explains that fuzzy logic uses degrees of truth rather than binary true/false. It then provides examples of how fuzzy logic can be applied to computer games by assigning fuzzy characteristics like aggressiveness to players. The document also discusses fuzzy sets and operations, and how fuzzy rules can be used in systems like controlling the acceleration of a vehicle based on its distance from another car.

Uploaded by

sridharegsp
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
86 views27 pages

Today: - Fuzzy Logic - Neural Nets

The document discusses fuzzy logic and its applications. It explains that fuzzy logic uses degrees of truth rather than binary true/false. It then provides examples of how fuzzy logic can be applied to computer games by assigning fuzzy characteristics like aggressiveness to players. The document also discusses fuzzy sets and operations, and how fuzzy rules can be used in systems like controlling the acceleration of a vehicle based on its distance from another car.

Uploaded by

sridharegsp
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 27

Today

AI
Fuzzy Logic
Neural Nets

11/6/2001 CS 638, Fall 2001


Fuzzy Logic
Philosophical approach
Ontological commitment based on degree of truth
Is not a method for reasoning under uncertainty
Crisp Facts distinct boundaries
Fuzzy Facts imprecise boundaries
Probability - incomplete facts
Example Scout reporting an enemy
Two to three tanks at grid NV 123456 (Crisp)
A few tanks at grid NV 123456 (Fuzzy)
There might be 2 tanks at grid NV 54 (Probabilistic)

11/6/2001 CS 638, Fall 2001


Apply to Computer Games
Can have different characteristics of players
Strength: strong, medium, weak
Aggressiveness: meek, medium, nasty
If meek and attacked, run away fast
If medium and attacked, run away slowly
If nasty and strong and attacked, attack back
Control of a vehicle
Should slow down when close to car in front
Should speed up when far behind car in front
Provides smoother transitions not a sharp boundary

11/6/2001 CS 638, Fall 2001


Fuzzy Sets
Classical set theory
An object is either in or not in the set
Sets with smooth boundary
Not completely in or out somebody 6 is 80% tall
Fuzzy set theory
An object is in a set by matter of degree
1.0 => in the set
0.0 => not in the set
0.0 < object < 1.0 => partially in the set
Provides a way to write symbolic rules with terms like
medium but evaluate them in a quantified way

11/6/2001 CS 638, Fall 2001


Example Fuzzy Variable
Membership Each function tells us how
(Degree of Truth) much we consider a
Meek Nasty character in the set if it has
1.0 Medium a particular aggressiveness
value
Or, how much truth to
attribute to the statement:
The character is nasty (or
meek, or neither)?

-1 -0.5 0.0 0.5 1


Aggressiveness

11/6/2001 CS 638, Fall 2001


Fuzzy Set Operations: Complement
Membership FS
The degree to which you
believe something is not in
1.0 the set is 1.0 minus the
degree to which you
believe it is in the set
FS

0.0
Units

11/6/2001 CS 638, Fall 2001


Fuzzy Set Ops: Intersection (AND)
Membership If you have x degree of faith in
statement A, and y degree of
About 6 Tall faith in statement B, how
1.0
much faith do you have in the
statement A and B?
Eg: How much faith in that
person is about 6 high and tall
Does it make sense to attribute
more truth than you have in
0.0 one of A or B?
Height

11/6/2001 CS 638, Fall 2001


Fuzzy Set Ops: Union (OR)
Membership If you have x degree of faith in
statement A, and y degree of
About 6 Tall faith in statement B, how
1.0
much faith do you have in the
statement A or B?
Eg: How much faith in that
person is about 6 high or tall
Does it make sense to attribute
less truth than you have in one
0.0 of A or B?
Height

11/6/2001 CS 638, Fall 2001


Fuzzy Rules
If our distance to the car in front is small, and the distance is
decreasing slowly, then decelerate quite hard
Fuzzy variables in blue
Fuzzy sets in red
Conditions are on membership in fuzzy sets
Actions place an output variable (decelerate) in a fuzzy set (the quite
hard deceleration set)
We have a certain belief in the truth of the condition, and
hence a certain strength of desire for the outcome
Multiple rules may match to some degree, so we require a
means to arbitrate and choose a particular goal - defuzzification

11/6/2001 CS 638, Fall 2001


Fuzzy Rules Example (from Gems)
Rules for controlling a car:
Variables are distance to car in front and how fast it is changing, delta,
and acceleration to apply
Sets are:
Very small, small, perfect, big, very big - for distance
Shrinking fast, shrinking, stable, growing, growing fast for delta
Brake hard, slow down, none, speed up, floor it for acceleration
Rules for every combination of distance and delta sets, defining an
acceleration set
Assume we have a particular numerical value for distance and
delta, and we need to set a numerical value for acceleration
Extension: Allow fuzzy values for input variables (degree to which we
believe the value is correct)

11/6/2001 CS 638, Fall 2001


Set Definitions for Example
v. small small perfect big v. big brake slow present fast fastest

distance acceleration

<< < = > >>

delta

11/6/2001 CS 638, Fall 2001


Instance for Example
v. small small perfect big v. big brake slow present fast fastest

distance acceleration
????
<< < = > >> Distance could be considered
small or perfect
Delta could be stable or growing
What acceleration?
delta

11/6/2001 CS 638, Fall 2001


Matching for Example
Relevant rules are:
If distance is small and delta is growing, maintain speed
If distance is small and delta is stable, slow down
If distance is perfect and delta is growing, speed up
If distance is perfect and delta is stable, maintain speed
For first rule, distance is small has 0.75 truth, and
delta is growing has 0.3 truth
So the truth of the and is 0.3
Other rule strengths are 0.6, 0.1 and 0.1

11/6/2001 CS 638, Fall 2001


Fuzzy Inference for Example
Convert our belief into action
For each rule, clip action fuzzy set by belief in rule
present slow

acceleration acceleration
fast present

11/6/2001
acceleration
CS 638, Fall 2001
acceleration
Defuzzification Example
We have three things sets we have reason to believe we are
in, and each set covers a range of values
Two options in going from current state to a single value:
Mean of Max: Take the rule we believe most strongly, and take the
(weighted) average of its possible values
Center of Mass: Take all the rules we partially believe, and take their
weighted average
In this example, we slow down either way, but we slow
down more with Mean of Max
Mean of max is cheaper, but center of mass exploits more
information

11/6/2001 CS 638, Fall 2001


Evaluation of Fuzzy Logic
Does not necessarily lead to non-determinism
Advantages
Allows use of numbers while still writing crisp rules
Allows use of fuzzy concepts such as medium
Biggest impact is for control problems
Help avoid discontinuities in behavior
In example problem strict rules would give discontinuous acceleration
Disadvantages
Sometimes results are unexpected and hard to debug
Additional computational overhead
There are other ways to get continuous acceleration

11/6/2001 CS 638, Fall 2001


References
Nguyen, H. T. and Walker, E. A. A First Course in
Fuzzy Logic, CRC Press, 1999.
Rao, V. B. and Rao, H. Y. C++ Neural Networks
and Fuzzy Logic, IGD Books Worldwide, 1995.
McCuskey, M. Fuzzy Logic for Video Games, in
Game Programming Gems, Ed. Deloura, Charles
River Media, 2000, Section 3, pp. 319-329.

11/6/2001 CS 638, Fall 2001


Neural Networks
Inspired by natural decision making structures (real nervous
systems and brains)
If you connect lots of simple decision making pieces
together, they can make more complex decisions
Compose simple functions to produce complex functions
Neural networks:
Take multiple numeric input variables
Produce multiple numeric output values
Normally threshold outputs to turn them into discrete values
Map discrete values onto classes, and you have a classifier!
But, the only time Ive used them is as approximation functions

11/6/2001 CS 638, Fall 2001


Simulated Neuron - Perceptron
Inputs (aj) from other perceptrons with weights (Wi,j)
Learning occurs by adjusting the weights
Perceptron calculates weighted sum of inputs (ini)
Threshold function calculates output (ai)
Step function (if ini > t then ai = 1 else ai = 0)
Sigmoid g(a) = 1/1+e-x
Output becomes input for next layer of perceptron
aj
Wi,j
Wi,j aj = ini ai

ai = g(ini)

11/6/2001 CS 638, Fall 2001


Network Structure
Single perceptron can represent AND, OR not XOR
Combinations of perceptron are more powerful
Perceptron are usually organized on layers
Input layer: takes external input
Hidden layer(s)
Output layer: external output
Feed-forward vs. recurrent
Feed-forward: outputs only connect to later layers
Learning is easier
Recurrent: outputs can connect to earlier layers or same layer
Internal state

11/6/2001 CS 638, Fall 2001


Neural network for Quake
Enemy Dead
Four input perceptron Sound Low Health
One input for each condition
Four perceptron hidden layer
Fully connected
Five output perceptron
One output for each action
Choose action with highest output
Or, probabilistic action selection
Choose at random weighted by output

Attack Wander Spawn


Retreat Chase
11/6/2001 CS 638, Fall 2001
Learning Neural Networks
Learning from examples
Examples consist of input and correct output
Learn if networks output doesnt match correct output
Adjust weights to reduce difference
Only change weights a small amount ()
Basic perceptron learning
Wi,j = Wi,j + (t-o)aj
If output is too high (t-o) is negative so Wi,j will be reduced
If output is too low (t-o) is positive so Wi,j will be increased
If aj is negative the opposite happens

11/6/2001 CS 638, Fall 2001


Neural Net Example
Single perceptron to represent OR
Two inputs
One output (1 if either inputs is 1)
Step function (if weighted sum > 0.5 output a 1)
Initial state (below) gives error on (1,0) input
Training occurs
1
0.1
Wj aj = 0.1
0
g(0.1) = 0
0.6
0

11/6/2001 CS 638, Fall 2001


Neural Net Example
Wj = Wj + (t-o)aj
W1 = 0.1 + 0.1(1-0)1 = 0.2
W2 = 0.6 + 0.1(1-0)0 = 0.6
After this step, try (0,1)1 example
No error, so no training

0
0.2
Wj aj = 0.6
1
g(0.6) = 0
0.6
1

11/6/2001 CS 638, Fall 2001


Neural Net Example
1
0.2
Wj aj = 0.2
0
g(0.2) = 0
Try (1,0)1 example 0 0.6
Still an error, so training occurs
W1 = 0.2 + 0.1(1-0)1 = 0.3
W2 = 0.6 + 0.1(1-0)0 = 0.6
And so on
What is a network that works for OR?
What about AND?
Why not XOR?

11/6/2001 CS 638, Fall 2001


Neural Networks Evaluation
Advantages
Handle errors well
Graceful degradation
Can learn novel solutions
Disadvantages
Neural networks are the second best way to do anything
Cant understand how or why the learned network works
Examples must match real problems
Need as many examples as possible
Learning takes lots of processing
Incremental so learning during play might be possible

11/6/2001 CS 638, Fall 2001


References
Mitchell: Machine Learning, McGraw Hill, 1997.
Russell and Norvig: Artificial Intelligence: A Modern Approach, Prentice Hall,
1995.
Hertz, Krogh & Palmer: Introduction to the theory of neural computation,
Addison-Wesley, 1991.
Cowan & Sharp: Neural nets and artificial intelligence, Daedalus 117:85-121,
1988.

11/6/2001 CS 638, Fall 2001

You might also like