Efficient Decomposition of Large Fuzzy Functions and Relations Marek Perkowski + Portland State University, Dept. Electrical Engineering, Portland, Oregon.

Slides:



Advertisements
Similar presentations
Boolean Algebra and Logic Gates
Advertisements

Prof. Sin-Min Lee Department of Computer Science
Chapter 2 Logic Circuits.
Boolean Algebra and Reduction Techniques
MVI Function Review Input X is p -valued variable. Each Input can have Value in Set {0, 1, 2,..., p i-1 } literal over X corresponds to subset of values.
Logic Synthesis Part II
CS 151 Digital Systems Design Lecture 6 More Boolean Algebra A B.
Chapter 3 Simplification of Switching Functions
1 Section 10.1 Boolean Functions. 2 Computers & Boolean Algebra Circuits in computers have inputs whose values are either 0 or 1 Mathematician George.
Graph Coloring Algorithms for Fast Evaluation of Curtis Decomposition Marek Perkowski, Rahul Malvi, Stan Grygiel, Mike Burns, and Alan Mishchenko Portland.
ECE Synthesis & Verification - Lecture 19 1 ECE 667 Spring 2009 ECE 667 Spring 2009 Synthesis and Verification of Digital Systems Functional Decomposition.
Digital Logic Review: Part II
Computer Engineering (Logic Circuits) (Karnaugh Map)
Logic gate level Part 3: minimizing circuits. Improving circuit efficiency Efficiency of combinatorial circuit depends on number & arrangement of its.
Lecture 3. Boolean Algebra, Logic Gates
Efficient Decomposition of Large Fuzzy Functions and Relations.
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
Boolean Algebra and Logic Simplification
BOOLEAN ALGEBRA Saras M. Srivastava PGT (Computer Science)
Boolean Algebra and Digital Circuits
Department of Computer Engineering
Combinatorial Algorithms Unate Covering Binate Covering Graph Coloring Maximum Clique.
1 © 2015 B. Wilkinson Modification date: January 1, 2015 Designing combinational circuits Logic circuits whose outputs are dependent upon the values placed.
Graph Coloring. Introduction When a map is colored, two regions with a common border are customarily assigned different colors. We want to use a small.
Module 4.  Boolean Algebra is used to simplify the design of digital logic circuits.  The design simplification are based on: Postulates of Boolean.
Combinational Problems: Unate Covering, Binate Covering, Graph Coloring and Maximum Cliques Example of application: Decomposition.
Two Level Networks. Two-Level Networks Slide 2 SOPs A function has, in general many SOPs Functions can be simplified using Boolean algebra Compare the.
CHAPTER 3: PRINCIPLES OF COMBINATIONAL LOGIC
Lecture 4 Nand, Nor Gates, CS147 Circuit Minimization and
LOGIC GATES & BOOLEAN ALGEBRA
1 Lecture 6 BOOLEAN ALGEBRA and GATES Building a 32 bit processor PH 3: B.1-B.5.
+ CS 325: CS Hardware and Software Organization and Architecture Gates and Boolean Algebra Part 3.
ENGIN112 L6: More Boolean Algebra September 15, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 6 More Boolean Algebra A B.
LOGIC CIRCUITLOGIC CIRCUIT. Goal To understand how digital a computer can work, at the lowest level. To understand what is possible and the limitations.
Boolean Algebra and Reduction Techniques
Boolean Algebra & Logic Circuits Dr. Ahmed El-Bialy Dr. Sahar Fawzy.
Chapter 3 Special Section Focus on Karnaugh Maps.
BOOLEAN ALGEBRA AND LOGIC SIMPLIFICATION
Unate Covering, Binate Covering, Graph Coloring Maximum Cliques part B.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Lecture 4 Dr. Shi Dept. of Electrical and Computer Engineering.
EE2420 – Digital Logic Summer II 2013 Hassan Salamy Ingram School of Engineering Texas State University Set 5: Karnaugh Maps.
Digital Logic (Karnaugh Map). Karnaugh Maps Karnaugh maps (K-maps) are graphical representations of boolean functions. One map cell corresponds to a row.
Revision Mid 1 Prof. Sin-Min Lee Department of Computer Science.
ECE DIGITAL LOGIC LECTURE 8: BOOLEAN FUNCTIONS Assistant Prof. Fareena Saqib Florida Institute of Technology Spring 2016, 02/11/2016.
BOOLEAN ALGEBRA LOGIC GATES. Introduction British mathematician George Boole( ) was successful in finding the link between logic and mathematics.
Lecture 5 More Boolean Algebra A B. Overview °Expressing Boolean functions °Relationships between algebraic equations, symbols, and truth tables °Simplification.
Mu.com.lec 9. Overview Gates, latches, memories and other logic components are used to design computer systems and their subsystems Good understanding.
CE1110: Digital Logic Design Gate Level Minimization Karnaugh Maps (K-Maps)
Lecture 4 Nand, Nor Gates, CS147 Circuit Minimization and
Computer Organisation
ECE 20B, Winter 2003 Introduction to Electrical Engineering, II LECTURE NOTES #2 Instructor: Andrew B. Kahng (lecture)
CS 105 Digital Logic Design
PROBABILISTIC AND LOGIC APPROACHES TO MACHINE LEARNING AND DATA MINING
Dr. Clincy Professor of CS
Example of application: Decomposition
A Boolean Paradigm in Multi-Valued Logic Synthesis
17-Nov-18 Logic Algebra 1 Combinational logic.
Dr. Clincy Professor of CS
BASIC & COMBINATIONAL LOGIC CIRCUIT
Optimization Algorithm
Dr. Clincy Professor of CS
CS Chapter 3 (3A and ) – Part 3 of 5
Combinational Problems: Unate Covering, Binate Covering, Graph Coloring and Maximum Cliques Unit 6 part B.
Dr. Clincy Professor of CS
Chapter 3 Special Section
ECE 352 Digital System Fundamentals
Analysis of Logic Circuits Example 1
Introductory Concepts
Analysis of Logic Circuits Example 1
Circuit Simplification and
Presentation transcript:

Efficient Decomposition of Large Fuzzy Functions and Relations Marek Perkowski + Portland State University, Dept. Electrical Engineering, Portland, Oregon 97207, Tel , Fax (503) , USA FUZZY LOGIC IN ROBOTICS

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 = xExamples: 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 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(x 1, x 2 ) = x’ 1 x 2 + x 1 x’ 1 x’ 2 = x 1 x’ 1 Fuzzy Maps (b) f(x 1, x 2 ) = x 1 x’ 1 (a) f(x 1, x 2 ) =x 1 x’ 1 x 2 + x 1 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.

 x i x’ I  +  ’ x i x’ I  = x i x’ I   x i x’ I  +  ’ x i x’ I  = x i x’ I  The Subsumption Rule Used to reduce a fuzzy logic function. Operations on two variable map are shown with I subsuming i.

Form Needed to Decompose Fuzzy Functions Form requirements: 1.Sum-of-products 2.Canonical Figures show the function x 2 x’ 2 + x’ 1 x 2 + x 1 x’ 2 + x 1 x’ 1 x’ 2 before using the subsuming rules in (a) and after in (d) x’ 1 x 2 + x 1 x’ 2. x1

x 1 x’ 2 + x 1 x’ 1 x’ 2 x 2 x’ 2 + x’ 1 x 2 + x 1 x’ 2 + x 1 x’ 1 x’ 2 x 1 x’ 2 = x 2 x’ 2 + x’ 1 x 2 + x 1 x’ 2 (1+ x’ 1 ) x 1 x’ 2 = x 2 x’ 2 + x’ 1 x 2 + x 1 x’ 2 x 1 x’ 2 = x’ 1 x 2 + x 1 x’ 2.  x i x’ I  +  ’ x i x’ I  = x i x’ I   x i x’ I  +  ’ x i x’ I  = x i x’ I  subsumption Let us use subsumption to verify:

Kandel's and Francioni's Approach Decomposition Implicant Pattern (DIP) Variable Matching DIP’s Table S-Maps Example using Kandel and Francioni approach

Decomposition Implicant Pattern (DIP)

Variable Matching DIPs Table h(X)h’(X)DIP x i x i x j x’ i x’ j x’ i x j x i x’ j x i x j + x’ i x’ j x’ i x’ i  x’ j x i  x j x i + x’ j x’ i + x j x i x’ j + x’ i x j 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 X 1 is made up of repeated X 2 and X 3 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

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 Our new approach

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.

Conversion Fuzzy Function to Three-valued Function Conversion Example Conversion of the Fuzzy function terms: x 2 x’ 2 x’ 1 x 2 x 1 x’ 2 x 1 x’ 1 x’ 2 In non- canonical form using the MIN operation as shown for f = x 2 x’ 2 +x’ 1 x 2 +x 1 x’ 2 + x 1 x’ 1 x’ 2 x 2 x’ 2 x’ 1 x 2 x 1 x’ 2 x 1 x’ 1 x’ 2 Non-canonical

The MAX operation form 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 = x 2 x’ 2 +x’ 1 x 2 +x 1 x’ 2 + x 1 x’ 1 x’ 2 conversion is equal to F(x 1 x 2 ) =x’ 1 x 2 +x 1 x’ 2 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

F(x,y,z) = xz + x’y’zz’ + yz Entire flow of our method Initial non-canonical expression Decomposed Function Generalized Ashenhurst- Curtis Decomposition Fuzzy to Ternary Conversion decomposed expression H(x,y) = Gz + zz’. G(x,y) = x+y

F(x,y,z) = xz + x’y’zz’ + yz Entire flow of our method Initial non-canonical expression Decomposition is based on finding patterns in this table Only three patterns

Multiple-valued function to fuzzy function with circuit Two solutions are obtained, G(x,y) = x+y, H(x,y) = Gz+zz’ Fuzzy terms Gz, G’zz’ and zz’ of H are shown. 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

Generalization of the Ashenhurst- Curtis decomposition model

Short Introduction: multiple-valued logic {0,1} - binary logic (a special case) {0,1,2} - a ternary logic {0,1,2,3} - a quaternary logic, etc Signals can have values from some set, for instance {0,1,2}, or {0,1,2,3} Minimal value MINMIN MAXMAX 2 Maximal value

Decomposition is hierarchical At every step many decompositions exist

Functional Decomposition Evaluates 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 = A  B

A Standard Map of function ‘z’ Bound Set Free Set a b \ c z Columns 0 and 1 and columns 0 and 2 are compatible column compatibility = 2

Decomposition of Multi-Valued Relations 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 A B X

Forming a CCG from a K-Map z Bound Set Free Set a b \ c Columns 0 and 1 and columns 0 and 2 are compatible column compatibility index = 2 C1C1 C2C2 C0C0 Column Compatibility Graph

Forming a CIG from a K-Map Columns 1 and 2 are incompatible chromatic number = 2 z a b \ c C1C1 C2C2 C0C0 Column Incompatibility Graph

CCG and CIG are complementary C1C1 C2C2 C0C0 C1C1 C2C2 C0C0 Column Compatibility Graph Column Incompatibility Graph Maximal clique covering clique partitioning Graph coloring graph multi- coloring

clique partitioning example.

Maximal clique covering example.

G \ c g = a high pass filter whose acceptance threshold begins at c > 1 Map of relation G G \ c From CIG After induction

Cost Function Decomposed Function Cardinality is 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 * 2 n

Example of DFC calculation B1 B2 B3 Cost(B3) =2 2 *1=4 Cost(B1) =2 4 *1=16 Cost(B2) =2 3 *2=16 Total DFC = = 36 Other cost functions

Decomposition Algorithm Find a set of partitions (A i, B i ) of input variables (X) into free variables (A) and bound variables (B) For each partitioning, find decomposition F(X) = H i (G i (B i ), A i ) 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. absolute minimumAt 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

Column Multiplicity Bound Set Free Set

Column Multiplicity-other example Bound Set Free Set AB CD D C X=G(C,D) X=C in this case But how to calculate function H?

relation Decomposition of multiple-valued relation Karnaugh Map Compatibility Graph for columns compatible Kmap of block G Kmap of block H One level of decomposition

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 = clique 1 = 0 3 Cliques after: clique 0 = 0 clique 1 = 0 3 clique 2 = 1 2 Compatibility graph and corrected cliques shown left

Discovering new concepts purchasing a carDiscovering concepts useful for purchasing a car

Variable ordering

Vacuous variables removing Variables b and d reduce uncertainty o f 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.

Need to Decompose Multiple- valued Functions and Relations Multiple-valued and Inconsistent Data Ways to Create Relations –Decomposition Process to Create Relations –Program to Change Inconsistency data into Relations

Decomposition Structure General flow chart of RMVGUD Program.

Results of Relation Decomposition hayes flare 1 flare 2 No. of Blocks No. of cubes No. of Cubes No. of Inputs Output FileInput FileFile

CONCLUSION Fuzzy functions are efficiently realized as multi-level networks of fuzzy operators The approach has been extended also to relations. Relation is decomposed to network of relations and functions, non- decomposable relations are realized using other methods as the simplest functions Advantages of the new approach to fuzzy logic decomposition –Eliminates the need for time-consuming conversion to canonical form –Eliminates the use of S-maps –Entirely algorithmic –Enables decomposition of large fuzzy expressions –Software tool exists