600 likes | 781 Views
FUZZY LOGIC IN ROBOTICS. Efficient Decomposition of Large Fuzzy Functions and Relations. Marek Perkowski + Portland State University , Dept. Electrical Engineering, Portland, Oregon 97207, Tel. 503-725-5411, Fax (503) 725-4882, USA. Minimization of Fuzzy Functions.
E N D
FUZZY LOGIC IN ROBOTICS Efficient Decomposition of Large Fuzzy Functions and Relations Marek Perkowski + Portland State University, Dept. Electrical Engineering, Portland, Oregon 97207, Tel. 503-725-5411, Fax (503) 725-4882, USA
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
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 two variables • The Subsumption rule • Kandel’s Form 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).
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).
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
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.
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
xi x’I +’ xi x’I = xi x’I subsumption Let us use subsumption to verify: x2 x’2 +x’1 x2 +x1 x’2 +x1 x’1 x’2 = x2 x’2 +x’1 x2 +x1 x’2(1+x’1) = x2 x’2 +x’1 x2 +x1 x’2 = x’1 x2 +x1 x’2 .
Kandel's and Francioni's Approach • Decomposition Implicant Pattern (DIP) • Variable Matching DIP’s Table • S-Maps • Example using Kandel and Francioni approach
Variable Matching DIPs Table Tabular form of Decomposition Implicant Pattern (DIP) used in Kandel’s and Francioni’s approach
S-Maps • Arrange two-variable fuzzy maps for n variables. • This method is just done by iteration to form an n variable S-map. • This shows X1 is made up of repeated X2 and X3 two variable maps.
Example using Kandel and Francioni approach f = x’y’zz’ + xz + w’x’zz’ + wyz From DIP 1 implies: g(w,y) =wy, G’ (w,y) = w’ + y’ f = (wy)z + (w’ + y’) x’zz’ + xz By substituting: G(w,y) = G(Y) and G’(w,y) = G’(Y) f = F[(G(w,y), x,z)] = G(Y)z + G’(Y) x’zz’ + xz
Our new approach APPROACHES TO FUZZY LOGIC DECOMPOSITION • Kandel's and Francioni's Approach based on graphical representations: • 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 Example • The MAX operation forms the result • The result from canonical form are 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 form 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
Fuzzy to Multiple-valued Function Conversion Approach Example • Fuzzy to Multiple-valued Function Conversion Example • Fuzzy function to Multiple-valued function • Input and results of decomposition • Multiple-valued function to fuzzy function with circuit • Method of Doing More Examples • Using Mathcad to do the MIN, MAX Operations • Fuzzy Function Decomposition Results
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
Two solutions are obtained, Multiple-valued function to fuzzy function with 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’
Contents • Fuzzy logic • Fuzzy logic systems applications • Approaches to fuzzy logic decomposition Decomposition program • Conclusion
Decomposition is hierarchical At every step many decompositions exist
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’ Bound Set a b \ c Columns 0 and 1 and columns 0 and 2 are compatible column compatibility = 2 Free Set z
Relation 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 CCG and CIG are complementary Maximal clique covering clique partitioning Graph coloring graph multi-coloring Column Compatibility Graph Column Incompatibility Graph
\ 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 CD 1 0 AB Bound Set C 0 0 1 Free Set 0 1 1 1 X 3 4 2 1 3 2 4 Column Multiplicity-other example 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 Checking and Correction for Relations Example • Function that needs checked and corrected shown in a decomposition-map.
Compatibility Graph Show Cliques • Cliques before checking and correction: clique 0 = 0 1 2 clique 1 = 0 3 • Cliques after: clique 0 = 0 clique 1 = 0 3 clique 2 = 1 2 • Compatibility graph and corrected cliques shown left