Presentation on Row Reduction Techniques

advertisement
Presentation on Row Reduction
Techniques
Presented By :
Name:
Amit Grover
Email :
grover@usc.edu
1
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
•
2
What is Row Reduction ??
3
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.
4
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 don’t 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
1
2
3
4
6
Completely Specified Machines.
• A machine which has no don’t cares in its
table is called a completely specified state
machine (CSSM).
• Let’s see an example to find out what do we
mean by having no don’t cares.
7
Completely Specified State Machine
(CSSM)
External Inputs
A
B
1
2,0
3,1
2
4,1
1,0
3
2,0
1,1
4
3,1
6,0
5
6,0
5,1
6
4,1
5,0
No don’t
cares
8
Incompletely Specified State
Machines (ISSM)
• Those machines whose next state or output
has don’t care is called as ISSM.
• Let’s see with diagram what is ISSM.
9
Incompletely Specified State
Machine (ISSM)
External Inputs
A
B
1
-,0
3,1
2
4,1
-,0
3
2,0
1,-
4
3,1
-,-
5
6,0
5,1
6
-,-
-,0
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
B
1
2,0
3,1
2
4,1
1,0
3
2,0
1,1
4
3,1
6,0
5
6,0
5,1
6
4,1
5,0
Figure 1
13
How to read CSSM
1
2
3
4
5
6
A
B
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
1
2
3
4
5
6
1
2
3
4
Increasing Order
5
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
1
2
3
Cutting
from
diagonal
4
5
6
1
2
3
4
Increasing Order
5
6
18
A
Figure2
1
2
1
3
2
4
3
5
4
6
2,0
4,1
2,0
3,1
6,0
4,1
B
3,1
1,0
1,1
6,0
5,1
5,0
5
6
1
2
3
4
Increasing Order
5
6
19
Step 3 of Pairchart Algorithm
• Let’s 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
with 2 for both input A and B
1
2
X
Answer: No.
For same Input A or B
State 1 and State 2 has
different output.
3
4
-So we put a cross
in block at the inter
section of 1 and 2.
3
5
6
4
A
B
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
2
3
4
5
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 don’t do
anything with the
block at the inter
section of 1 and 3.
X
3
4
1
2
3
4
5
6
A
B
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
2
3
4
5
6
22
Similarly we will fill for
all the blocks
1
2
4
X
X
5
X
X
5
6
3
X
3
4
1
2
X
1
6
B
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
A
3
4
5
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.
1
- So we will write 2 and 3 in each block in
column 1 and Row 1 as shown..
4
3
2
X
3
X
4
5
X
X
1
5
X
3
2
6
3
X
2
1
2
6
B
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
A
3
4
5
6
25
Pairchart algorithm continued..
• We will continue with all the rows and
column and what we get is shown in next
slide…
• Let’s see how that will look like.
26
1
X
2
Taking next Column represented by state 2
- From pairchart, state 2 goes to state 4 with input
1A
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
4
3
2
X
3
4
X
4
3
2
1
4
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
X
2
B
X
1
X
1
X
X
5
6
5
A
3
4
5
6
27
1
X
2
3
2
3
2
1
1
- 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
X
4
Taking next Column represented by state 3
3
2
1
4
6
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
2
B
X
1
X
1
X
2 1
X
5
6
5
A
4
5
6
28
1
4
3
2
X
2 1
X
4
5
3
X
2
3
2
3
6
5
X
1
5
4
1
3
6
X
6
3
5
2
X
3
B
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
5
1
4
6
2 1
X
4
6
1
2
Lets fill the whole table
accordingly
A
6
X
4
5
4
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.
• Let’s 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
2
3
2
1
X
4
5
4 1
3 6
2
3
6
5
4
6
X
1
X
2 1
X
6
4
5
2
3 6
X
3
4
5
6
B
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
5
1
3
Check Row 1 and Column 3
or vice versa.
In this case, (3,1) references
itself, and is not yet X’d,
so it is okay.
X
1
2
A
4
5
4
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
2
3
2
1
2
3
6
5
X
6
X
1
X
4
5
2
3 6
X
3
5
B
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
6 5
1
4
6
2 1
X
4
3
Check Row 3 and Column 5
It does not have a ‘X’.
So Okay
4 1
3 6
X
4
5
Check Row 2 Column 6.
It does not have a ‘X’.
So Okay
1
2
A
4
5
4
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
2
3
2
1
5
4 1
3 6
X
4
X
2
3
6
5
6
X
1
5
2
5
6
3 6
X
3
B
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
6 5
1
4
4
X
2 1
X
4
3
No Need to check this
block further.
X
1
2
A
4
5
4
X
5
6
33
Let’s fill the Whole Pairchart
1
2
1
X
2
X
2 1
2
3
6
5
X
1
X
5
2
3 6
X
3
B
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
6 5
1
4
6
2 1
X
4
6
5
4 1
3 x6
X
4
5
4
3
2
3
3
A
4
X
4
5
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.
– Let’s 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
3
1
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 let’s see how the new state machine looks
like..
38
Pairchart Algorithm continued..
1
3
4
5
2
6
39
Pairchart Algorithm continued..
New State
Assignment
1
2
3
4
5
6
A
B
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
B
135
26,0
135,1
26
4,1
135,0
4
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 won’t 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 MC’s (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 don’t cares and in the pairchart where
ever we encounter don’t cares we write don’t
cares directly..
– Example is shown in the next slide.
43
ISSM: Pairchart Algorithm
A
Given:
C
B
1 1
-
2
a
-
B
2
4
a
3
b
-
-
3
-
-
3
b
8
-
4
1
-
2
-
5
-
5
3
-
7
-
5
-
6
-
b
-
b
-
b
-
-
6
-
-
a
2
-
4
-
-
b
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
3
X
1
1
-
2
a
-
B
2
4
a
3
b
-
-
3
-
-
3
b
8
-
4
1
-
2
-
5
-
5
3
-
7
-
5
-
6
-
b
-
b
-
b
7
-
-
6
-
-
a
8
2
-
4
-
-
b
X
4
X
5
X
X
6
X
X
7
X
8
X
X
X
X
X
X
X
1
2
3
4
5
6
7
X
8
45
Skill Algorithm
• This algorithms helps us to get minimal
covering machine for ISSM.
• This algorithms gives the MC’s (Maximum
Compatibility.
• Let’s 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 right NULL in Sk and L’ and 8 in L.
K
Sk
L’
L
8
NULL
NULL
8
MC’s
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’
MC’s
K
Sk
L’
L
8
NULL
NULL
8
7
NULL
7
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 MC’s
6 also in L’
Look for states
which intersect
K
Sk
L’
L
8
NULL
NULL
8
7
NULL
7
7,8
6
7
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.
K
Sk
L’
L
8
NULL
NULL
8
7
NULL
7
7,8
6
7
67,6
67,8
5
67
567,5
567,8
MC’s
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.
Concatenate 4 with states which intersects.
In this case 6 intersects so L’ will have 46,4 in L’. MC’s
Look for
states which
Intersects.
K
Sk
L’
L
8
NULL
NULL
8
7
NULL
7
7,8
6
7
67,6
67,8
5
67
567,5
567,8
4
6
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.
Concatenate 3 with states which intersects.
In this case 567 intersects so L’ will have 367,3
Look for
states which
Intersects.
MC’s
K
Sk
L’
L
8
NULL
NULL
8
7
NULL
7
7,8
6
7
67,6
67,8
5
67
567,5
567,8
4
6
46,4
567,46,8
3
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.
MC’s
K
Sk
L’
L
8
NULL
NULL
8
7
NULL
7
7,8
6
7
67,6
67,8
5
67
567,5
567,8
4
6
46,4
567,46,8
3
567
3567,3
46,3567,8
2
347
24,237,2
46,24,3567
,8,237
1
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.
MC’s
K
Sk
L’
L
8
NULL
NULL
8
7
NULL
7
7,8
6
7
67,6
67,8
5
67
567
567,8
4
6
46
567,46,8
3
567
3567
46,3567,8
2
347
24,237
46,24,3567
,8,237
1
4
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.
– Let’s 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
0
Pairchart Algorithm already seen
1
2
4
3
3
X
3
4
X
4
X
5
6
-,0
-,0
1,1
2,-,5,-
1
2
4
2
X
1
2
5
1 2
2 4
2
4
3
6
2
5X
X
4
5
1
2
-,-,0
2,4,4,1
-,0
4,3,-,-,-,1
2,0
6
57
Skill Algorithm
MCs
K
Sk
L’
L
6
NULL
6
6
5
NULL
5
5,6
4
5
45
45,6
3
456
345,36
345,36
2
4
24
24,36,345
1
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
MCs from
Skill Algorithm
145
36
16
34
35
45
12
14
24
15
All Possible
Subsets of MCs
3
4
5
1
2
61
6
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.
– Let’s see how it looks like.
62
Bargain Hunter Algorithm
CC
CS
0
1
2
1
2
3
4
-,0
-,-
4,-
-,0
-,0
3,-
1,1
2,-
-,-
2,-
4,-
-,-
0
Inputs
1
345
12
24
-
124
2
4
34
145
2
4
4
36
15
2
2
16
5
-
16
5
-,-
4,1
-,1
34
12
24
-
6
5,-
-,0
2,0
35
1
24
-
45
2
4
-
12
-
-
34
14
2
4
4
24
2
4
3
15
-
4
4
3
1
2
-
4
2
4
-
5
-
4
-
1
-
4
-
2
-
-
3
6
5
-
2
2
63
Bargain Hunter Algorithm
CC
CS
0
1
2
1
2
3
4
-,0
-,-
4 ,-
-,0
-,0
3,-
1,1
2,-
-,-
2,-
4,-
-,-
0
Inputs
1
345
12
24
-
124
2
4
34
145
2
4
4
36
15
2
2
16
5
-
16
5
-,-
4,1
-,1
34
12
24
-
6
5,-
-,0
2,0
35
1
24
-
45
2
4
-
12
-
-
34
14
2
4
4
24
2
4
3
15
-
4
4
3
1
2
-
4
2
4
-
5
-
4
-
1
-
4
-
2
-
-
3
6
5
-
2
2
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.
– Let’s 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
2
4
34
34
145
2
4
4
NULL
36
15
2
2
15
16
5
-
16
24
34
12
24
-
12,24
35
1
24
-
24
45
2
4
-
NULL
12
-
-
34
34
14
2
4
4
NULL
24
2
4
3
NULL
15
-
4
4
NULL
3
1
2
-
NULL
4
2
4
-
NULL
5
-
4
-
NULL
1
-
4
-
NULL
2
-
-
3
NULL
6
5
-
2
NULL
2
1
2
3
4
5
6
0
1
-,0
-,0
1,1
2,-,5,-
-,-,0
2,4,4,1
-,0
2
4,3,-,-,-,1
2,0
66
Bargain Hunter Algorithm
CC
0
Inputs
1
CS
345
12
24
-
12,24
124
2
4
34
34
Ignore
Singleton 36
145
2
4
4
NULL
15
2
2
15
16
5
-
16
24
34
12
24
-
12,24
35
1
24
-
24
45
2
4
-
NULL
12
-
-
34
34
14
2
4
4
NULL
24
2
4
3
NULL
15
-
4
4
NULL
3
1
2
-
NULL
4
2
4
-
NULL
5
-
4
-
NULL
1
-
4
-
NULL
2
-
-
3
NULL
6
5
-
2
NULL
2
1
2
3
4
5
6
0
1
-,0
-,0
1,1
2,-,5,-
-,-,0
2,4,4,1
-,0
2
4,3,-,-,-,1
2,0
Similarly for all other Rows we can find CS
67
Bargain Hunter Algorithm
• Step 4
– Now it’s time to apply bargain method
– Copy only CC and CS Column because you
don’t 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
CC 145 is better than CC 5
3
NULL
4
NULL
5
NULL
1
NULL
2
NULL
6
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
CC 145 is better than CC 1
CC 24 is better than CC 2
You can’t 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
3
NULL
3
6
NULL
6
Prime Compatibles
70
Now it’s 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
124
Number of occurrences
in PCs
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
(1,3,5,6) Uresin class
6
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
3
NULL
6
NULL
PC 36 has
CS 15 and thus
when compared
with previous PC
24’s Uresin class
It includes
everything
So it’s Uresin is 15
36
(15)
16
24
(1,3,5,6)
(3,5)
NULL
PC 16 has CS 24,
but 24 does not appear
in the Uresin class of 16
because 24 is contained
in earlier node 24.
That’s 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
24’s Uresin class
It includes
6 but not 1,3,5
thus it’s
Uresin is 1,3,5
6
(1,2,3,4,5,6)
(1,3,5)
124
(34,5,6)
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
36’s Uresin class
completely
So it’s Uresin is NULL
PCs : 345, 124, 145, 36 ,16 ,35, 24, 3,6
15 is covered by145
Minimum covering machine
36
145
(NULL)
(15)
16
24
(3,5)
(1,3,5,6)
NULL
6
(1,2,3,4,5,6)
(1,3,5)
124
(34,5,6)
Since there is
nothing else So no
need to check other
PC’s, 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 PC’s 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.
- Let’s see how they look like.
76
Minimal covering machine
0
Input
145
0
24,0
1
2
1
2
1
-,0
-,-
4,-
2
-,0
-,0
3,-
3
1,1
2,-
-,-
4
2,-
4,-
-,-
5
-,-
4,1
-,1
6
5,-
-,0
2,0
24
36
States
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
0
24,0
1
24,1
2
1
2
1
-,0
-,-
4,-
2
-,0
-,0
3,-
3
1,1
2,-
-,-
4
2,-
4,-
-,-
5
-,-
4,1
-,1
6
5,-
-,0
2,0
24
36
States
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
0
24,0
1
24,1
2
24,1
1
2
1
-,0
-,-
4,-
2
-,0
-,0
3,-
3
1,1
2,-
-,-
4
2,-
4,-
-,-
5
-,-
4,1
-,1
6
5,-
-,0
2,0
24
36
States
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
2
24,1
24
24,0
24,0
36,1
36
145,1
24,0
24,0
States
1
2
1
-,0
-,-
4,-
2
-,0
-,0
3,-
3
1,1
2,-
-,-
4
2,-
4,-
-,-
5
-,-
4,1
-,1
6
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 Ellison’s 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
2
NULL
6
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
Download