Presentation on Row Reduction
Techniques
Presented By :
Name:
Amit Grover
Email :
grover@usc.edu
Topics covered in this
presentation
What is Row Reduction.
What are the reasons for doing Row Reduction
What are state variables and external inputs.
Algorithms used for row reduction
For completely specified state machines.
Pairchart
For incompletely specified state machines
Pairchart
Skill algorithm
Bargain hunter
MEU Method
Applications
What is Row Reduction ??
Definition
Given a sequential machine, our aim is to
find the finite state machine which have
same behavior as the given machine but has
reduced states.
Advantages of Row Reduction
Cost Reduction
We know Flip Flops used as memory elements are costly and each
time a new state is added to the machine we are adding new
memory element to it.
Addition of this new element needs space in the logic circuits and
thus increases the size of the logic circuit
Adds cost the logic circuit
These additions adds significant amount of cost to the Logic
circuit and we dont want that, so our aim is to reduce the cost as
much as possible without effecting the functionality of the logic
circuit.
5
State Variables and External Inputs.
External Inputs
00
01
11
10
State
Variables
1
2
3
4
6
Completely Specified Machines.
A machine which has no dont cares in its
table is called a completely specified state
machine (CSSM).
Lets see an example to find out what do we
mean by having no dont cares.
Completely Specified State Machine
(CSSM)
State
Variables
External Inputs
A
B
1
2,0
3,1
4,1
1,0
2,0
1,1
3,1
6,0
6,0
5,1
4,1
5,0
5
6
No dont
cares
Incompletely Specified State
Machines (ISSM)
Those machines whose next state or output
has dont care is called as ISSM.
Lets see with diagram what is ISSM.
Incompletely Specified State
Machine (ISSM)
State
Variables
External Inputs
A
B
1
,0
3,1
4,1
,0
2,0
1,
3,1
,
6,0
5,1
,
,0
5
6
10
Algorithms for Row Reductions
11
Completely Specified Machine
Pairchart Algorithm.

Things given to you.

Flow table.
Aim is to reduce the number of rows as much as possible.
Steps Involved
i. Draw Pairchart.
ii. Check for output Incompatibility and cross out all those which are
incompatible.
iii. Check for next state incompatibilities and cross out all those which are
incompatibles.
iv. Repeat step iii till you get no next state incompatible state.
!!These things will be more clear with a example which follows..
12
Given CSSM
A
2,0
3,1
4,1
1,0
2,0
1,1
3,1
6,0
6,0
5,1
4,1
5,0
5
6
Figure 1
13
How to read CSSM
1
2
3
4
5
6
2,0
3,1
4,1
1,0
2,0
1,1
3,1
6,0
6,0
5,1
4,1
5,0
If you are in State 1 and input is A you go to State 2 with output 0.
If you are in State 1 and input is B you go to State 3 with output 1.
If you are in State 3 and input is A you go to State 2 with output 0.
And so on
14
Step 1 for Pairchart Algorithm
Look at the Maximum Number of States
you have.
In our case it is 6. (Refer previous given CSSM).
Now write the States from 1>6 horizontally in
increasing order and from Top to Bottom in
increasing order.
This Step is shown in next slide.
15
Implementation of Step 1 of Pairchart Algorithm
Increasing Order
1
2
3
4
5
6
1
Increasing Order
6
16
Step 2 of Pair Chart Algorithm
We can remove half of the pairchart
(diagonally) because it is symmetric along
the diagonal.
So we are effectively duplicating along the
diagonal.
So after removing half of the portion from
diagonal, we get something like this.(shown
in next slide).
17
Implementation of Step 2 of Pairchart Algorithm
Increasing Order
1
2
3
Cutting
from
diagonal
4
5
6
1
Increasing Order
6
18
Increasing Order
A
Figure2
1
1
2
3
2,0
4,1
2,0
3,1
6,0
4,1
3,1
1,0
1,1
6,0
5,1
5,0
5
6
1
Increasing Order
6
19
Step 3 of Pairchart Algorithm
Lets start filling the Table in Figure 2.
Output Compatibility
We will take one column at a time and will check if
it is output compatible with each and every other
state.
Question comes what is output compatibility??
State 1 is Output Compatible with State 2 iff for same
input both gives same Output.
Refer to next slide for better explanation..
20
Column 1
 Check if 1 is output compatible
1
2
3
with 2 for both input A and B
1
2
Answer: No.
For same Input A or B
State 1 and State 2 has
different output.
So we put a cross
in block at the inter
section of 1 and 2.
5
6
2,0
4,1
2,0
3,1
6,0
4,1
3,1
1,0
1,1
6,0
5,1
5,0
5
6
1
6
21
Column 1
check if 1 is output compatible
with 3 for both input A and B
1
2
Answer: Yes.
For same Input A and B
State 1 and State 3 has
same output.
So we dont do
anything with the
block at the inter
section of 1 and 3.
3
4
1
2
3
4
5
6
2,0
4,1
2,0
3,1
6,0
4,1
3,1
1,0
1,1
6,0
5,1
5,0
5
6
1
6
22
Similarly we will fill for
all the blocks
1
2
5
X
5
6
4
X
3
4
1
2
3
X
1
2,0
4,1
2,0
3,1
6,0
4,1
3,1
1,0
1,1
6,0
5,1
5,0
X
X
X
2
6
23
Pairchart Algorithm continued
Refer to given flow table and take one column at
a time in the pairchart and fill each block in that
column (excluding those blocks which are having
X sign) with, where the state representing that
column will go when input A and B is given..
Refer to next slide for better explanation.
24
Taking Column represented by state 1
 From pairchart, state 1 goes to state 2 with input A
and to state 3 with input B.
 So we will write 2 and 3 in each block in
column 1 and Row 1 as shown..
X
1
5
X
1
2
3
2,0
4,1
2,0
3,1
6,0
4,1
3,1
1,0
1,1
6,0
5,1
5,0
X
X
X
2
6
25
Pairchart algorithm continued..
We will continue with all the rows and
column and what we get is shown in next
slide
Lets see how that will look like.
26
1
X
Taking next Column represented by state 2
 From pairchart, state 2 goes to state 4 with input A
1
and to state 1 with input B.
2
 So we will write 4 and 1 in each block in
column 2 and Row 2 (if no X) as shown.. 3
3
4
X
1
5
6
2,0
4,1
2,0
3,1
6,0
4,1
3,1
1,0
1,1
6,0
5,1
5,0
X
1
X
3
6
27
1
X
2
3
 State 3 goes to 2 and 1 so we write it in
column 3 and also in row 3 > 2 and 1
2
3
 So we will write 2 and 1 in each block in
4
column 2 and Row 2 (if no X) as shown..
X
4
Taking next Column represented by state 3
X
1
X
2
5
6
5
6
1
2,0
4,1
2,0
3,1
6,0
4,1
3,1
1,0
1,1
6,0
5,1
5,0
X
X
X
3
6
28
4
5
6
2
3
1
2
Lets fill the whole table
accordingly
X
1
4
X
X
4
X
3
2,0
4,1
2,0
3,1
6,0
4,1
3,1
1,0
1,1
6,0
5,1
5,0
X
3
X
5
6
29
Pairchart Algorithm continued..
So after filling out all the blocks in the pairchart
what next
We need to check each and every block and see if
that block is going to some other block which has
a X. (Next State Compatibility)
If Yes then we cross this block.
Else keep moving and check for other states.
Lets see how it looks like.
30
Column 1
 Check each block in column 1 for
e.g block at the intersection of 1 and 3.
Check Row 2 Column 2
and vice versa..
2 = 2, so
it is okay.Reason is on Slide 17
1
X
2
3
5
6
X
1
X
4
3
Check Row 1 and Column 3
or vice versa.
In this case, (3,1) references
itself, and is not yet Xd,
so it is okay.
1
6
2
4
5
6
2,0
4,1
2,0
3,1
6,0
4,1
3,1
1,0
1,1
6,0
5,1
5,0
1
2
3
X
5
6
31
Column 1 continue.
 Checking next block in column 1
i.e block at the intersection of 1 and 5.
1
X
2
3
X
1
Check Row 3 and Column 5
It does not have a X.
So Okay
X
4
3
4
5
Check Row 2 Column 6.
It does not have a X.
So Okay
1
6
X
4
X
1
4
5
6
1
2
3
2,0
4,1
2,0
3,1
6,0
4,1
3,1
1,0
1,1
6,0
5,1
5,0
X
3
X
5
6
32
Column 2
 Check each block in column 2
for e g block at the intersection of 2 and 4.
Check Row 4 Column 3
and vice versa
It has a Cross So Mark
This block with X
Column 3 Row 4.
1
X
2
3
4
5
6
4
3
3
X
1
1
6
X
4
No Need to check this
block further.
X
3
1
2
3
2,0
4,1
2,0
3,1
6,0
4,1
3,1
1,0
1,1
6,0
5,1
5,0
X
3
X
5
6
33
1
2
3
Lets fill the Whole Pairchart
1
X
2
3
5
6
X
1
X
4
3
4
5
1
x6
X
4
X
3
2,0
4,1
2,0
3,1
6,0
4,1
3,1
1,0
1,1
6,0
5,1
5,0
X
3
X
4
X
5
6
34
Pairchart Algorithm continued..
If you understand everything till this point
then assume that you understand most of this
algorithm.
There is one last step still left for this
algorithm.
Guess what it can be
Remember what was our aim!!!
To reduce the number of states required to represent
the same machine.
35
Pairchart Algorithm continued..
It s very easy..
Draw the graph and link all those states which are
compatible to each other with the help of pairchart.
Lets see how it looks like
36
Refer Pairchart on slide 35
> Look at column 1
1 is compatible with 3 and 5
> Look at column 2
2 is compatible with 6
> Look at column 3
3 is compatible with 5
> Look at column 4
4 is compatible with none
> Look at column 5
5 is compatible with none
5
2
6
4
>Look at column 1
6 is compatible with none
37
Pairchart Algorithm continued..
Now we need to build up the largest
possible circle which covers as much states
as possible.
It shows that 135 , 24 and 3 are the states
required to represent the same machine..
So lets see how the new state machine looks
like..
38
Pairchart Algorithm continued..
4
5
2
6
39
Pairchart Algorithm continued..
New State
Assignment
1
2
3
4
5
6
2,0
4,1
2,0
3,1
6,0
4,1
3,1
1,0
1,1
6,0
5,1
5,0
A
135
26,0
B
135,1
26
4,1
135,0
135,1
26,0
Refer to our original table and see where State
(1 3 5) go for Input A .
eg in our case it goes to 2 and 6 with output 0.
and for input B it goes to 135.
 Similarly we will do for 26 and 4.
Note :  For 4 we have 3 but there is no state
as 3 but 3 is covered by 135 and thus we will write
135,1. Repeat for Input B.
40
Review of what we did till now
Till Now we talked about
What State Reduction is..
We talked about Algorithm which can help us in
reducing the rows to reduce the cost of the machine for a
given CSSM..
What next ???
Now we will talk about ISSM machines and
algorithms used for it
If you really understood till this point it wont be
difficult to understand the rest of stuff..
41
ISSM Algorithm
ISSM Algorithm is continuation of CSSM
pairchart algorithm..
But there are some more additional algorithms..
Steps
Pairchart (we already discussed)
Skill algorithm( To get MCs (Maximum Compatibility
Sets)
Bargain Hunter Algorithm.
MEU
42
ISSM  Pairchart
Since we had talked about Pairchart, I will
skip the details and will proceed further..
But one thing to keep in mind is that in ISSM
we have dont cares and in the pairchart where
ever we encounter dont cares we write dont
cares directly..
Example is shown in the next slide.
43
ISSM: Pairchart Algorithm
A
Given:
5
6
7
8
44
After Multiple Passes
(Already discussed already)
We come to final Table
Shows that 2&3
state is
compatible to
each other
1
2
X
8
45
Skill Algorithm
This algorithms helps us to get minimal
covering machine for ISSM.
This algorithms gives the MCs (Maximum
Compatibility.
Lets see how it works
46
Skill Algorithm Continued
It consists of different columns
Column K will consists of all the states we have in decreasing
order.
Column Sk will contain all those states which are compatible with
state in K (We have to refer or pairchart for that).
We compare column Sk and L and concatenate state in column K
with states which are common to Sk and L.
Compare Column L and states in previous row and its L column
and find out all those states which are not covered by each other.
Next slide will make these points much clear..
47
Skill Algorithm Continue..
Refer Pairchart for State 8 in Column 8
8 is not compatible with any one so write NULL in Sk and L and 8 in L.
Sk
NULL
NULL
MCs
7
6
5
4
3
2
1
48
Skill Algorithm Continued..
Refer Pairchart for State 7 in Column 7
7 is not compatible with any one so..
Sk will have NULL.
Look for
states which
intersect
Concatenate 7
with states which
Intersects.
In this case nothing intersect so
Put just 7 in L
MCs
Sk
NULL
NULL
NULL
7,8
Nothing covers
each other so
6
5
4
3
2
1
49
Skill Algorithm Continued..
Refer Pairchart for State 6 in Column 6
6 is compatible with 7 so..
Sk will have 7.
Concatenate 6 with states which intersects.
In this case 7 intersects so It would be 67 in L
But 7 doesnot intersect with 8 so we will write MCs
6 also in L
Look for states
which intersect
Sk
NULL
NULL
NULL
7,8
67,6
67,8
67 covers 6 and
7 But not 8 so
67,8 in L
5
4
3
2
1
50
Skill Algorithm Continue..
Refer Pairchart for State 5 in Column 5
5 is compatible with 67 so..
Sk will have 67.
Look for
states which
Intersects.
Concatenate 5 with states which intersects.
In this case 67 intersects so L will have 567, 5
Remember we have to write 5 in L although it is
covered by 567 but it will be taken care in
Column L.
Sk
NULL
NULL
NULL
7,8
67,6
67,8
67
567,5
567,8
MCs
567 covers 5,67
But not 8 so
567,8 in L
4
3
2
1
51
Skill Algorithm Continued..
Refer Pairchart for State 4 in Column 4
4 is compatible with 6 so..
Sk will have 6.
Look for
states which
Intersects.
Concatenate 4 with states which intersects.
In this case 6 intersects so L will have 46,4 in L. MCs
Sk
NULL
NULL
NULL
7,8
67,6
67,8
67
567,5
567,8
46,4
567,46,8
46 covers 4
so 567,8, 46
in L
3
2
1
52
Skill Algorithm Continued..
Refer Pairchart for State 3 in Column 3
3 is compatible with 567 so..
Sk will have 567.
Look for
states which
Intersects.
Concatenate 3 with states which intersects.
In this case 567 intersects so L will have 367,3
MCs
Sk
NULL
NULL
NULL
7,8
67,6
67,8
67
567,5
567,8
46,4
567,46,8
567
3567,3
46,3567,8
3567 covers
5,367 but not
8,46 so 3567,8, 46
in L
2
1
53
Skill Algorithm Continued..
Refer Pairchart for State 2 in Column 2
2 is compatible with 347 so..
Sk will have 347.
Concatenate 2 with states which intersects.
In this case 4,37 is common so
It would be 24,23,2 in L
Look for
states which
Intersects.
MCs
Sk
NULL
NULL
NULL
7,8
67,6
67,8
67
567,5
567,8
46,4
567,46,8
567
3567,3
46,3567,8
347
24,237,2
46,24,3567
,8,237
24,237 covers 2
so 3567,8, 46,237,24
in L
54
Skill Algorithm Continued..
Refer Pairchart for State 1 in Column 1
1 is compatible with 4 so..
Sk will have 4.
Concatenate 1 with states which intersects.
In this case 4 intersect so L will have 14,1
Look for
states which
Intersects.
MCs
Sk
NULL
NULL
NULL
7,8
67,6
67,8
67
567
567,8
46
567,46,8
567
3567
46,3567,8
347
24,237
46,24,3567
,8,237
14,1
46,8,3567,
24,237,14
14 covers 1 so
3567,8,46,237,24,14
in L
55
Skill Algorithm continued..
We are done with Skill Algorithm.
But still have Bargain Hunter algorithm.
Lets take another ISSM and recalculate Skill
algorithm and then proceed with Bargain
Hunter.
Reason for taking another ISSM is because we
will get better view of these algorithms.
56
Pairchart Algorithm already seen
1
2
4
3
4
X
4
X
5
6
,0
,0
1,1
2,,5,
1
2
3
4
2
5
1 2
2 4
2
4
2
5X
,,0
2,4,4,1
,0
4,3,,,,1
2,0
6
57
Skill Algorithm
MCs
Sk
NULL
NULL
5,6
45
45,6
456
345,36
345,36
24
24,36,345
2456
16,145,124
124,16,145,
345,36
Till this point we knew how to draw it..
58
Bargain Hunter Algorithm
This Algorithms uses the MCs found from
Skill algorithm as inputs and calculate CCs
(Compatibility classes and CS (Compatible
sets) we get PCs(Prime compatibles).
This how flow of algorithms are correlated.
MCs(Skill Algorithm) >Bargain Hunter
(PCs) >MEU>Minimal Covering
Machine.
59
Bargain Hunter Algorithm
Steps 1
Create CCs from MCs.
Take each MC from highest to lowest and take all
possible combinations of those MCs to get CC.
Next slide will explain this in a better way.
60
Bargain Hunter Algorithm
MCs >124,16,145,345,36 from SKILL Algorithm
CC
345
124
145
MCs from
Skill Algorithm
36
16
34
35
45
12
14
24
15
All Possible
Subsets of MCs
3
4
5
1
2
61
Bargain Hunter continued..
Step 2.
Now we will take each CC one at a time and
will look at the table (given to us) and check
where each CC goes if we give input as 0 , 1 ,2.
Lets see how it looks like.
62
Bargain Hunter Algorithm
CC
0
Inputs
1
CS
345
12
24
124
34
145
36
15
16
16
34
12
24
35
24
45
12
34
14
24
15
1
2
3
4
,0
,
4,
,0
,0
3,
1,1
2,
,
2,
4,
,
,
4,1
,1
5,
,0
2,0
63
Bargain Hunter Algorithm
CC
0
Inputs
1
CS
345
12
24
124
34
145
36
15
16
16
34
12
24
35
24
45
12
34
14
24
15
1
2
3
4
,0
,
4 ,
,0
,0
3,
1,1
2,
,
2,
4,
,
,
4,1
,1
5,
,0
2,0
Similarly we can do for all CCs
64
Bargain Hunter Algorithm
Step 3
Time to calculate CS
Way we calculate CS is
Ignore all the singletons like 2,3,1,4,5,6 etc.
For each Row see corresponding block when Input is
0 ,1 ,2 and copy all those values which does not cover
each other.
Lets see diagram to find out what is it all about.
65
Bargain Hunter Algorithm
CC
0
Inputs
1
CS
345
12
24
12,24
124
34
34
145
NULL
36
15
15
16
16
24
34
12
24
12,24
35
24
24
45
NULL
12
34
34
14
NULL
24
NULL
15
NULL
NULL
NULL
NULL
NULL
NULL
NULL
1
2
3
4
5
6
,0
,0
1,1
2,,5,
,,0
2,4,4,1
,0
4,3,,,,1
2,0
66
Bargain Hunter Algorithm
CC
0
Inputs
1
CS
345
12
24
12,24
124
34
34
Ignore
145
Singleton 36
NULL
15
15
16
16
24
34
12
24
12,24
35
24
24
45
NULL
12
34
34
14
NULL
24
NULL
15
NULL
NULL
NULL
NULL
NULL
NULL
NULL
1
2
3
4
5
6
,0
,0
1,1
2,,5,
,,0
2,4,4,1
,0
4,3,,,,1
2,0
Similarly for all other Rows we can find CS
67
Bargain Hunter Algorithm
Step 4
Now its time to apply bargain method
Copy only CC and CS Column because you
dont need any other column.
The way it works is that we try to get the best deal.
What I mean is that if some one is giving you apples for
$2 and also for $4 then you go for the one with $2 and
delete $4 entry..
The same concept works for us as shown in next slide.
68
Bargain Hunter Algorithm
CC
CS
345
12,24
124
34
145
NULL
36
15
16
24
34
12,24
35
24
45
NULL
12
34
14
NULL
24
NULL
CC 145 is better than CC 4
15
NULL
NULL
CC 145 is better than CC 5
NULL
CC 145 is better than CC 1
NULL
CC 24 is better than CC 2
NULL
NULL
NULL
Better deal because CC 345 gives us
CS 12, 24 but CC 34 gives 12 , 24 so
of course 345 is better than 34 because
it is larger than 34
CC 145 is better than CC 45
CC 124 is better than CC 12
CC 145 is better than CC 14
CC 145 is better than CC 15
You cant remove 6 because of 16 because 6 gives NULL but
69
16 is coming with some cost (CS 24)
Bargain Hunter Algorithm
Those CCs which are left are our PCs
CC
CS
PC
345
12,24
345
124
34
124
145
NULL
145
36
15
36
16
24
16
35
24
35
24
NULL
24
NULL
NULL
Prime Compatibles
70
Now its time for MEU method
Steps:
We start with NULL set.
Uresin class will be all state singletons (i.e., {q}, q is a state)
We will count the number of occurrences of each state in the PCs
Then we choose the state with least number of occurrences.
We check what all PCs cover this state
We take each PC and calculate its Uresin class
Uresin class consists of all states and (class set) sets that
were in the previous Uresin class but not a subset of the
current PC, together with any set in the class set of the
current PC that is not a subset of (possibly equal to) an
earlier PC.
This will be more clear with the diagram in next slide.
71
MEU Method
PCs : 345, 124, 145, 36 ,16 ,35, 24, 3,6
State 2 is occurring the least.
choose 2 and write all those PCs
which covers 2 i.e PC 24,124
24
Starting Point
NULL
(1,2,3,4,5,6)
324433
Uresin class
Number of occurrences
in PCs
124
Number of times 1 is coming
is 3
PCs : 345,124,145,36,16,35,24,3,6
72
MEU Method
PCs : 345, 124, 145, 36 ,16 ,35, 24, 3,6
PC 24 has
CS NULL and
includes
2 and 4
but not
1,3,5,6
so Uresin of 24 is
(1,3,5,6)
36
We will choose 1/5/6
I am choosing right most
You can choose whatever
you want
16
24
6
(1,3,5,6) Uresin class
NULL
(1,2,3,4,5,6)
PC 124 has CS
34 and thus
includes
1,2 3,and 4
but not
5,6
so Uresinof 124 is
(34,5,6)
3 4 3 3
Number of occurrences
in PCs
124
(34,5,6) Uresin class
1, 3, 3
345
We will choose 34
Left most
73
MEU Method
PC
CS
345
12,24
124
34
145
NULL
36
15
16
24
35
24
24
NULL
NULL
NULL
PC 36 has
CS 15 and thus
when compared
with previous PC
24s Uresin class
It includes
everything
So its Uresin is 15
36
(15)
24
(1,3,5,6)
NULL
16
(3,5)
PC 16 has CS 24,
but 24 does not appear
in the Uresin class of 16
because 24 is contained
in earlier node 24.
Thats why this node is
NOT eliminated by P1
 see Pruning Principle
slides below).
PC 6 has
CS NULL and thus
when compared
with previous PC
24s Uresin class
It includes
6 but not 1,3,5
thus its
Uresin is 1,3,5
(1,2,3,4,5,6)
124
(34,5,6)
(1,3,5)
345
(6)
PC 345 has
CS 12,24 and Observe
that it covers previous
PC 124 completely.
It shows that Uresin will
be 6 only
74
PCs : 345,124,145,36,16,35,24,3,6
MEU Method
PC 145 has
CS NULL and it
Covers his previous PC
36s Uresin class
completely
So its Uresin is NULL
PCs : 345, 124, 145, 36 ,16 ,35, 24, 3,6
15 is covered by145
Minimum covering machine
36
(15)
(3,5)
(1,3,5,6)
(1,2,3,4,5,6)
124
(34,5,6)
(NULL)
16
24
NULL
145
(1,3,5)
Since there is
nothing else So no
need to check other
PCs, we will
stop here and will go
ahead to create
Minimum
Covering machine
345
(12,24,6)
PCs : 345,124,145,36,16,35,24,3,6
75
Minimum Covering Machine
 We saw that PCs 24,36,145 will form the minimal covering
machine.
 To create minimum covering machine we will draw a table with
states 24, 36145 and we will see that when we give input 0,1,2
then where will these states go.
 Lets see how they look like.
76
Minimal covering machine
0
Input
145
24
36
States
0
24,0
,0
,
4,
,0
,0
3,
1,1
2,
,
2,
4,
,
,
4,1
,1
5,
,0
2,0
State 1 4 and 5 goes to state 2.
when Input is 0 and State 2 is
covered by state 24 in our
minimal cover machine so we
will write 24 and output is 0
77
Minimal covering machine
0
Input
145
24
36
States
0
24,0
1
24,1
,0
,
4,
,0
,0
3,
1,1
2,
,
2,
4,
,
,
4,1
,1
5,
,0
2,0
State 1 4 and 5 goes to state 2
when Input is 1 and state 4 is
covered by state 24 in our
minimal cover machine so we
will write 24 and output is 1
78
Minimal covering machine
0
Input
145
24
36
States
0
24,0
1
24,1
2
24,1
,0
,
4,
,0
,0
3,
1,1
2,
,
2,
4,
,
,
4,1
,1
5,
,0
2,0
State 145 goes to state 4
when Input is 0 and state 2 is
covered by state 24 in our
minimal covering machine so
we will write 24 and output is 1
79
Minimal covering machine
0
Input
145
0
24,0
1
24,1
24
24,0
24,0
36
145,1
24,0
States
2
24,1
36,1
24,0
,0
,
4,
,0
,0
3,
1,1
2,
,
2,
4,
,
,
4,1
,1
5,
,0
2,0
Similarly we will fill for all the states
80
Pruning Principles for the MEU
Method
81
Rules to prune the MEU Branches
I am going to discuss only 2 rules here
First Pruning Principle (P1):
We can prune any node in MEU whose latest CC
covers an earlier CC in its label. Why? Because:
The covered CC will be a redundant member of any
closed cover this node eventually leads to. No such
closed cover can therefore be minimal.
Second Pruning Principle (P2):
We can remove any node whose Uresin class
contains a PC in its label
Because each branch from that node eventually becomes
pruned by the first pruning principle.
82
Pruning Principles continued...
These pruning principles need an example
that clearly demonstrates how they work.
The example we discussed before does not
display pruning principles, so I am taking
and example from Prof Ellisons book to
show it with animation as to how to apply
these pruning principles.
83
Things given to us..
Now in this example I am going to skip the
basic algorithm because we had already
seen two examples previously as to how to
make MEU diagram.
In this example I assume that we are given
CCs and their corresponding CSs.
84
MEU Pruning Example
CC
CS
1345
124,26,56
156
145,246
124
13,26
126
14,15,24
345
24
145
NULL
134
12,26,56
56
45
16
15,24
15
14
24
13
12
26
26
14
34
NULL
NULL
NULL
Assuming this Table is given
to us.
Next Slide only demonstrate
How to apply Pruning Principles
Details discussed
before are not repeated.
85
MEU Example illustrating
Pruning Principles
1345
Uresin (124,26,56)
124
(26,56)
124
(13,26)
345
(24,1,6)
NULL
(1,2,3,4,5,6)
134
( 12,26,56)
24
(13,6)
126
(15,24,56)
26
(12,56)
Incomplete
Can be finished as shown
in previous examples.
1345 X P1
134
(12,26,56)
124
(15,56)
24
(15,56)
156 X P2
(145,246,12)
56
(45,12)
34
( 1,2,5,6)
Pruned by P1
because CC
1345 contains
earlier node,
345
Omitted (see book for
complete example
Had to be completed
in accord with breadthfirst principle.
Pruned by P2
because the Uresin
class of CC 156
has member 246
that covers
earlier node, 26
86
References
Techniques in Advanced Logic Switching
Theory book by Prof. Ellison
Examples are taken from Discussion
sessions and class lectures and above
mentioned book for easy understanding for
future students.
87
Declaration
I alone prepared and wrote this project. I received no help
from any one else. This material is not copied or
paraphrased from any other source except where
specifically indicated. I grant my permission for this
project to be placed on the course homepage during future
semesters. I understand that I could receive an F for the
course retroactively, even after graduation, if this work us
later found to be plagiarized.
Amit Grover
88