efficient decomposition of large fuzzy functions and relations
Post on 22-Dec-2015
223 views
TRANSCRIPT
Efficient Efficient Decomposition of Decomposition of
Large Fuzzy Large Fuzzy Functions and Functions and
RelationsRelations
Minimization of Fuzzy Functions
• Fuzzy functions are realized in:– analog hardware– software
• Why to minimize fuzzy logic functions?– Smaller area– Lower Power– Simpler and faster program– Better learning, Occam Razor - not covered here
Minimization Approaches to Fuzzy Functions
• Two level minimization (Siy,Kandel, Mukaidono, Lee, Rovatti et al)
• Algebraic factorization (Wielgus)• Genetic algorithms (Thrift, Bonarini, many authors)• Fuzzy decision diagrams (Moraga, Perkowski)• Functional decomposition (Kandel, Kandel and
Francioni)
Graphical Representations
• Fuzzy Maps
• Lattice of variables
• The Subsumption rule
• Kandel’s methods to decompose Fuzzy Functions
IdentitiesThe identities for fuzzy algebra are:
Idempotency: X + X = X, X * X = X
Commutativity: X + Y = Y + X, X * Y = Y * X
Associativity: (X + Y) + Z = X + (Y + Z),
(X * Y) * Z = X * (Y* Z)
Absorption: X + (X * Y) = X, X * (X + Y) = X
Distributivity: X + (Y * Z) = (X + Y) * (X + Z),
X * (Y + Z) = (X * Y) + (X * Z)
Complement: X’’ = X
DeMorgan's Laws: (X + Y)’ = X’ * Y’, (X * Y)’ = X’ + Y’
TransformationsSome transformations of fuzzy sets with examples
follow:x’b + xb = (x + x’)b bxb + xx’b = xb(1 + x’) = xbx’b + xx’b = x’b(1 + x) = x’ba + xa = a(1 + x) = aa + x’a = a(1 + x’) = aa + xx’a = aa + 0 = ax + 0 = xx * 0 = 0x + 1 = 1x * 1 = x Examples:Examples:a + xa + x’b + xx’b = a(1 + x) + x’b(1 + x) = a + x’b a + xa + x’a + xx’a = a(1 + x + x’ + xx’) = a
Differences Between Boolean Logic and Fuzzy Logic
Boolean logic the value of a variable and its inverse are always disjoint (X * X’ = 0) and (X + X’ = 1) because the values are either zero or one.
Fuzzy logic membership functions can be either disjoint or non-disjoint.
Example of a fuzzy non-linear and linear membership function X is shown (a) with its inverse membership function shown in (b).
We first discuss a simplified logic with few literals
Fuzzy Intersection and Union• From the membership
functions shown in the top in (a), and complement X’ (b) the intersection of fuzzy variable X and its complement X’ is shown bottom in (a).
• From the membership functions shown in the top in (a), and complement X’ (b) the union of fuzzy variable X and its complement X’ is shown bottom in (b).
APPROACHES TO FUZZY LOGIC DECOMPOSITION
• Kandel's and Francioni's Approach based on graphical representations:– Requires subsumption-based reduction to canonical form
– Graphical: uses S-Maps and Fuzzy Maps
– Decomposition Implicant Pattern (DIP)
– Variable Matching DIP’s Table
– non-algorithmic
– not scalable to larger functions
– no software
Fuzzy to Multiple-valued Function Conversion Approach and use of Generalized Ashenhurst-Curtis Decomposition
Our new approach
New Approach: Fuzzy to Multiple-New Approach: Fuzzy to Multiple-valued Function Conversion and A/C valued Function Conversion and A/C
DecompositionDecomposition
• Fuzzy Function Ternary Map• Fuzzy Function to Three-valued Function
Conversion:– The MAX operation forms the result– The result from the canonical form is the
same as from the non-canonical form• Thus time consuming reduction to canonical form
is not necessary
Fuzzy Function Ternary Map
This shows the mapping between the fuzzy terms and terms in the ternary map.
Fuzzy Function to Three-valued Function ConversionConversion Example
Conversion of the Fuzzy function terms: x2x’2
x’1x2
x1x’2 x1x’1x’2
In non-canonical form using the MIN operation as shown forf = x2x’2 +x’1x2
+x1x’2+ x1x’1x’2
x2x’2
x’1x2
x1x’2
x1x’1x’2
Non-canonical
The MAX operation forms the result• Combining the three-valued term functions into a single
three-valued function is performed using the MAX Operation
The result from the canonical form is the same as from the non-canonical form
• F = x2x’2 +x’1x2 +x1x’2+ x1x’1x’2 conversion is equal to F(x1x2) =x’1x2+x1x’2
canonical
canonicalNon-canonical
F(x,y,z) = xz + x’y’zz’ + yzEntire flow of our method
Initial non-canonical expression
Decomposed Function
Generalized Generalized Ashenhurst-Ashenhurst-Curtis Curtis DecompositionDecomposition
Fuzzy to Fuzzy to Ternary Ternary ConversionConversion
decomposed expression
H(x,y) = Gz + zz’.
G(x,y) = x+y
F(x,y,z) = xz + x’y’zz’ + yzEntire flow of our method
Initial non-canonical expression
Decomposition is Decomposition is based on finding based on finding patterns in this tablepatterns in this table
0 1 0
0 1 1
0 1 2
Only three Only three patternspatterns
This way, the table is rewritten to the table from the next page
0 1 0
0 1 1
0 1 2
Multiple-valued function minimized and converted to fuzzy circuit
Two solutions are obtained in this case
G(x,y) = x+y, H(x,y) = Gz+zz’
Fuzzy terms Gz, G’zz’ and zz’ of Hare shown.
G(x,y) = x+y, H(x,y) = Gz+G’zz’
Generalization of Generalization of the Ashenhurst-the Ashenhurst-
Curtis Curtis decomposition decomposition
modelmodel
This kind of tables known This kind of tables known from Rough Sets, Decision from Rough Sets, Decision Trees, etc Data MiningTrees, etc Data Mining
Decomposition is hierarchical At every step many
decompositions exist
Ashenhurst Functional DecompositionAshenhurst Functional DecompositionEvaluates the data function and attempts to
decompose into simpler functions.
if A B = , it is disjoint decomposition
if A B , it is non-disjoint decomposition
X B - bound set
A - free set
F(X) = H( G(B), A ), X = AF(X) = H( G(B), A ), X = A BB
A Standard Map of A Standard Map of function ‘z’function ‘z’
Bound Set
Fre
e S
et
a b \ c
z
Columns 0 and 1and
columns 0 and 2are compatible
column compatibility = 2
Explain the concept of Explain the concept of generalized don’t caresgeneralized don’t cares
NEW Decomposition of Multi-Valued NEW Decomposition of Multi-Valued RelationsRelations
if A B = , it is disjoint decomposition
if A B , it is non-disjoint decomposition
F(X) = H( G(B), A ), X = A B
Relation
Rel
atio
n
Rel
atio
n
A
B
X
Forming a CCG from a K-MapForming a CCG from a K-Map
z
Bound Set
Fre
e S
et
a b \ cColumns 0 and 1 and columns 0 and 2 are compatiblecolumn compatibility index = 2
C1
C2
C0
Column Compatibility
Graph
Forming a CIG from a K-MapForming a CIG from a K-MapColumns 1 and 2 are incompatiblechromatic number = 2
z
a b \ c
C1
C2
C0
Column Incompatibility
Graph
CCG and CIG are CCG and CIG are complementarycomplementary
C1
C2
C0
Column Incompatibility
Graph
C1
C2
C0
Column Compatibility
Graph
Maximal Maximal clique clique coveringcovering
clique clique partitioningpartitioning
Graph Graph coloringcoloring
graph multi-graph multi-coloringcoloring
clique partitioning clique partitioning example.example.
Maximal clique covering Maximal clique covering example.example.
G
\ c
g = a high pass filter whose acceptance threshold begins at
c > 1
Map of relation GMap of relation G
G
\ c
From CIG After induction
Cost FunctionCost Function
Decomposed Function Cardinalityis the total cost of all blocks.
Cost is defined for a single block in terms of the block’s n inputs and m outputs
Cost := m * 2n
Example of DFC calculationExample of DFC calculation
B1
B2
B3
Cost(B3) =22*1=4Cost(B1) =24*1=16
Cost(B2) =23*2=16
Total DFC = 16 + 16 + 4 = 36
Other cost functionsOther cost functions
Decomposition AlgorithmDecomposition Algorithm
• Find a set of partitions (Ai, Bi) of input variables (X) into free variables (A) and bound variables (B)
• For each partitioning, find decompositionF(X) = Hi(Gi(Bi), Ai) such that column multiplicity is minimal, and calculate DFC
• Repeat the process for all partitioning until the decomposition with minimum DFC is found.
Algorithm RequirementsAlgorithm Requirements
• Since the process is iterative, it is of high importance that minimization of the column multiplicity index is done as fast as possible.
• At the same time, for a given partitioning, it is important that the value of the column multiplicity is as close to the absolute minimumabsolute minimum value
Column MultiplicityColumn Multiplicity
3
2
1
4
00 01 11 10
00 0 0 – 101 – 1 0 011 1 – 1 010 1 1 0 0
Bound Set
Fre
e S
et
1 2 3 4
Column Multiplicity-other Column Multiplicity-other exampleexample
3
2
1
4
00 01 11 10
00 0 0 – 101 – 1 0 011 1 – 1 -10 1 1 0 0
Bound Set
1 2 3 4
Fre
e S
et
ABCD D
C
0
1
0 1
00 00
11 11
X=G(C,D)X=C in this case
But how to calculate function H?
Decomposition of multiple-valued relationrelation
Karnaugh Map Compatibility Graph for columns
compatible
Kmap of block G
Kmap of block H
One level of decomposition
Compatibility of columns for Compatibility of columns for Relations is not transitive Relations is not transitive !!
This is an important difference between decomposing functions and relations
Decomposition of Relations
Now H is a relation
which can be either decomposed or minimized directly in a sum-of-products fashion
Variable orderingVariable ordering
But how to select good But how to select good partitions of variables?partitions of variables?
Vacuous variables removingVacuous variables removing• Variables b and d
reduce uncertainty of y to 0 which means they provide all the information necessary for determination of the output y
• Variables a and c are vacuous
Example of removing inessential variables (a) original function (b)
variable a removed (c) variable b removed, variable c is no longer inessential.
Discovering new concepts
• Discovering concepts useful for purchasing a carpurchasing a car
OTHER APPROACHES TO FUZZY LOGIC
MINIMIZATIONGraphical Representations
• Fuzzy to Multiple-valued Function Conversion Approach
• Fuzzy Logic Decision Diagrams Approach
• Fuzzy Logic Multiplexer
Fuzzy map may be regarded as an extension of the Veitch diagram, which forms also the basis for the Karnauph map.
The functions shown in (a) and (b) are equivalent to f(x1, x2) = x’1 x2+ x1
x’1 x’2 = x1 x’1
Fuzzy MapsFuzzy Maps
(b) f(x1, x2) = x1 x’1(a) f(x1, x2) =x1 x’1 x2+ x1 x’1 x’2
(b) f(x1, x2) = x1 x’1
(a) f(x1, x2) =x1 x’1 x2+ x1 x’1 x’2
x2=0.3 x2’=0.7
(a) f(x1, x2) =min(x1 , x’1, 0.3) max min(x1 ,x’1 , 07) = min(0.5, 0.3) max min (0.5, 0.7) = 0.3 max 0.5 = 0.5 = x1 x’1
Assuming max value of x1 x’1
Please check other values
Lattice of Two Variables• Shows the
relationship of all the possible terms.
• Shows which two terms can be reduced to a single term.
xxi i x’x’I I ++ ’ x’ xi i x’x’I I = x = xi i x’x’I I
The The Subsumption Subsumption
RuleRule
Used to reduce a fuzzy logic function.
Operations on two variable map are shown with I subsuming i.
• Used to reduce a fuzzy logic function.
• The subsumption rule is:
xi x’I + ’ xi
x’I = xi x’I
• Operations on two variable map are shown with I subsuming i.
The Subsumption RuleThe Subsumption Rule
Form Needed to Decompose Fuzzy Functions
Form requirements:
1. Sum-of-products2. Canonical
Figures show the function x2 x’2 + x’1 x2 + x1 x’2 + x1 x’1 x’2
before using the subsuming rules in (a) and after in (d) x’1 x2 + x1 x’2 .
x1
x2 x’2 + x’1 x2 + xx1 1 x’x’2 2 ++ xx1 1 x’x’1 1 x’x’22
= x2 x’2 + x’1 x2 + xx1 1 x’x’22 (1+ x’1) = x2 x’2 + x’1 x2 + xx1 1 x’x’22
= x’1 x2 + xx1 1 x’x’22 .
xxi i x’x’I I ++ ’ x’ xi i x’x’I I = x = xi i x’x’I I subsumption
Let us use subsumption to verify:
Graphical Representations
• Fuzzy Maps
• Lattice of two variables
• The Subsumption rule
• Form to Decompose a Fuzzy Functions
APPROACHES TO FUZZY LOGIC DECOMPOSITION
• Graphical Representations
Fuzzy Logic Decision Diagrams Approach
• Fuzzy Logic Multiplexer
Fuzzy Logic Decision Diagrams Approach
w w’(z + x’ z z’ + xz) + w’ (x’z z’ + xz) + w(z+xz)+ xz
Result of Example using (FLDD)
(w+x)z + (w+x)’ z’z = wz + xz + w’x’z’z + w w’z + w w’ x’ z z’
Fuzzy Logic Multiplexer
d3xx’
Fuzzy Logic Circuit Implemented using Multiplexers