570 likes | 775 Views
Efficient Decomposition of Large Fuzzy Functions and Relations. 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
E N D
Efficient Decomposition of Large Fuzzy Functions and Relations
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
Identities The 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’
Transformations Some transformations of fuzzy sets with examples follow: x’b + xb = (x + x’)b b xb + xx’b = xb(1 + x’) = xb x’b + xx’b = x’b(1 + x) = x’b a + xa = a(1 + x) = a a + x’a = a(1 + x’) = a a + xx’a = a a + 0 = a x + 0 = x x * 0 = 0 x + 1 = 1 x * 1 = x 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).
Our new approach 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
New Approach: Fuzzy to Multiple-valued Function Conversion and A/C Decomposition • 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 Conversion Example Non-canonical 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 for f = x2x’2 +x’1x2 +x1x’2+ x1x’1x’2 x2x’2 x’1x2 x1x’2 x1x’1x’2
The MAX operation forms the result • Combining the three-valued term functions into a single three-valued function is performed using the MAX Operation
F = x2x’2 +x’1x2 +x1x’2+ x1x’1x’2 conversion is equal to F(x1x2) =x’1x2+x1x’2 The result from the canonical form is the same as from the non-canonical form canonical canonical Non-canonical
Initial non-canonical expression Entire flow of our method F(x,y,z) = xz + x’y’zz’ + yz decomposed expression G(x,y) = x+y H(x,y) = Gz + zz’. Fuzzy to Ternary Conversion Generalized Ashenhurst-Curtis Decomposition Decomposed Function
Initial non-canonical expression Entire flow of our method F(x,y,z) = xz + x’y’zz’ + yz Only three patterns 0 1 0 Decomposition is based on finding patterns in this table 0 1 1 0 1 2 This way, the table is rewritten to the table from the next page
0 1 0 0 1 1 0 1 2
Two solutions are obtained in this case Multiple-valued function minimized and converted to fuzzy circuit Fuzzy terms Gz, G’zz’ and zz’ of H are shown. G(x,y) = x+y, H(x,y) = Gz+zz’ G(x,y) = x+y, H(x,y) = Gz+G’zz’
This kind of tables known from Rough Sets, Decision Trees, etc Data Mining
Decomposition is hierarchical At every step many decompositions exist
Ashenhurst Functional Decomposition X A - free set Evaluates the data function and attempts to decompose into simpler functions. F(X) = H( G(B), A ), X = A B B - bound set if A B = , it is disjoint decomposition if A B , it is non-disjoint decomposition
A Standard Map of function ‘z’ Explain the concept of generalized don’t cares Bound Set a b \ c Columns 0 and 1 and columns 0 and 2 are compatible column compatibility = 2 Free Set z
Relation NEW Decomposition of Multi-Valued Relations F(X) = H( G(B), A ), X = A B A X Relation Relation B if A B = , it is disjoint decomposition if A B , it is non-disjoint decomposition
Bound Set a b \ c C0 C1 Free Set C2 Forming a CCG from a K-Map Columns 0 and 1 and columns 0 and 2 are compatible column compatibility index = 2 Column Compatibility Graph z
Forming a CIG from a K-Map a b \ c C0 C1 C2 z Columns 1 and 2 are incompatible chromatic number = 2 Column Incompatibility Graph
C0 C0 C1 C1 C2 C2 Column Compatibility Graph Column Incompatibility Graph CCG and CIG are complementary Maximal clique covering clique partitioning Graph coloring graph multi-coloring
\ c \ c G G Map of relation G After induction From CIG g = a high pass filter whose acceptance threshold begins at c > 1
Cost 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
B2 B1 B3 Cost(B2) =23*2=16 Cost(B3) =22*1=4 Cost(B1) =24*1=16 Example of DFC calculation Total DFC = 16 + 16 + 4 = 36 Other cost functions
Decomposition 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 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 minimum value
Bound Set 1 3 Free Set 4 2 Column Multiplicity
D 1 0 AB C 0 0 Free Set 0 1 1 1 X Column Multiplicity-other example Bound Set CD 1 3 4 2 1 3 2 4 X=G(C,D) X=C in this case But how to calculate function H?
Decomposition of multiple-valued relation compatible Compatibility Graph for columns Karnaugh Map Kmap of block G One level of decomposition Kmap of block H
Compatibility of columns for 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 ordering But how to select good partitions of variables?
Vacuous 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 car
OTHER APPROACHES TO FUZZY LOGIC MINIMIZATION Graphical Representations • Fuzzy to Multiple-valued Function Conversion Approach • Fuzzy Logic Decision Diagrams Approach • Fuzzy Logic Multiplexer
Fuzzy Maps 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 (b) f(x1, x2) =x1 x’1 (a) f(x1, x2) =x1 x’1 x2+x1 x’1 x’2
(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 (b) f(x1, x2) =x1 x’1
Lattice of Two Variables • Shows the relationship of all the possible terms. • Shows which two terms can be reduced to a single term.
The Subsumption Rule Used to reduce a fuzzy logic function. xi x’I +’ xi x’I = xi x’I Operations on two variable map are shown with I subsuming i.
The Subsumption Rule • 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.
Form Needed to Decompose Fuzzy Functions • Form requirements: • Sum-of-products • 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