Standard Binary Cube Calculus: Encoding Multi-valued and Integer Data in Binary, Slides of Robotics

The concept of standard binary cube calculus, a method used to encode multi-valued and integer data in binary strings for efficient hardware representation and manipulation. It covers the encoding of variables, such as age and hair color, and the use of mvcc (multi-valued cube calculus) and generalized mv cube calculus. The document also discusses the simplified binary cube calculus and its benefits.

Typology: Slides

2012/2013

Uploaded on 03/17/2013

salman
salman 🇮🇳

4.4

(7)

116 documents

1 / 46

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e

Partial preview of the text

Download Standard Binary Cube Calculus: Encoding Multi-valued and Integer Data in Binary and more Slides Robotics in PDF only on Docsity!

PLAN OF EVOLVABLE AND LEARNING

PLAN OF EVOLVABLE AND LEARNING

HARDWARE LECTURES

HARDWARE LECTURES



Our hardwareOur hardware

: the

: the

DEC-PERLE-

DEC-PERLE-

board.

board.

Programming/designing environment for DEC-PERLE/XILINX.

Programming/designing environment for DEC-PERLE/XILINX.

Two different concepts of designing Learning Hardware using

Two different concepts of designing Learning Hardware using the DEC-PERLE-1 board.

the DEC-PERLE-1 board.



CompareCompare

logic

logic

versus ANN and GA approaches to learning.versus ANN and GA approaches to learning.



Introduce the concept ofIntroduce the concept of

Learning Hardware

Learning Hardware



Methods ofMethods of

knowledge representation

knowledge representation

in the

in the

Universal

Universal

Logic Machine (ULM):Logic Machine (ULM):

variants of Cube Calculus

variants of Cube Calculus

.

.



operate on logic data:operate on logic data:A general-purpose computer with instructions specialized toA general-purpose computer with instructions specialized to

Cube Calculus Machine

Cube Calculus Machine

.

.

Variants of cube calculus -

Variants of cube calculus - arithmetics

arithmetics for combinatorial

for combinatorial

problems

problems

Our approach to Cube Calculus Machine

Our approach to Cube Calculus Machine



A processor for only one application:A processor for only one application:

Curtis DecompositionCurtis Decomposition

MachineMachine

.

.

here We are

STANDARD BINARY CUBE CALCULUS

STANDARD BINARY CUBE CALCULUS



Represents product terms as cubes where the state of each

Represents product terms as cubes where the state of each input variable is specified by a

input variable is specified by a symbol:

symbol:

positive (1),

positive (1),

negative (0),negative (0),

non-existing (a don't care) (X),non-existing (a don't care) (X),

or contradictory (or contradictory (epsilon

epsilon).

).



Each of these symbols is encoded in

Each of these symbols is encoded in

positional notation

positional notation

with two bits as follows: 1 = 01, 0 = 10, X = 11,

with two bits as follows: 1 = 01, 0 = 10, X = 11, epsilon

epsilon = 00.



Positional notation

Positional notation for cube 0X1 is 10-11-01.

for cube 0X1 is 10-11-01.



Each position represents a state of the variable by the presence

Each position represents a state of the variable by the presence of "one" in it: left bit - value 0, right bit - value 1.

of "one" in it: left bit - value 0, right bit - value 1.



This

This encoding

encoding presents simple reduction to

presents simple reduction to

set-theoretical

set-theoretical

representations

representations

STANDARD BINARY CUBE CALCULUS

STANDARD BINARY CUBE CALCULUS



AA cube can represent

cube can represent :

:

a product, a sum,

a product, a sum,

a set of symmetry coefficients of a symmetric function,

a set of symmetry coefficients of a symmetric function,

a spectrum of the function,

a spectrum of the function,

or another piece of data on which some symbol-manipulation (usually set-

or another piece of data on which some symbol-manipulation (usually set-

theoretical) operations are executed.

theoretical) operations are executed.



Usually the cube corresponds to aUsually the cube corresponds to a product term of

of literals

literals.

.



For instance,For instance, assume the following order of binary variables:

assume the following order of binary variables:

age

age

,

,

sex

sex

andand

color_of_hair.color_of_hair.

Assume also that the

Assume also that the discretization

discretization of variable

of variable

age

age

is:age = 0 for person'sis:age = 0 for person's

age

age

< 18

< 18

and

and

age = 1

age = 1

otherwise

otherwise



MenMen are encoded by value 0 of attribute

are encoded by value 0 of attribute

sex

sex

and women by value 1.

and women by value 1.



color_of_haircolor_of_hair

is 0 for black and 1 for blond.is 0 for black and 1 for blond.



AA blond woman of age 19

blond woman of age 19 is denoted by 110

and a black-hair seven-years

is denoted by 110

and a black-hair seven-years

old person of unknown sex is described by cube 0X1.old person of unknown sex is described by cube 0X1.



Cube XXXCube XXX is the set of all possible people for the selected set of attribute

is the set of all possible people for the selected set of attribute

variables and theirvariables and their discretized

discretized values.

values.

ocsity.co

STANDARD BINARY CUBE CALCULUS (4)

STANDARD BINARY CUBE CALCULUS (4)





For instance, if there were three age categories,

For instance, if there were three age categories,

young, medium

young, medium

and

and

old

old

, they can be encoded as

, they can be encoded as

values 0, 1 and 2 of the ternary variable

values 0, 1 and 2 of the ternary variable

age

age,

respectively.

respectively.





Variable

Variable

age

age

could be next represented in hardware

could be next represented in hardware

as pair of variables

as pair of variables

age_

age_

and

and

age_

age_

, where

, where





thus encoding:

thus encoding:

young =

young =

NOT
NOT{

age_

age_

NOT
NOT{

age_2}

age_2}

medium

medium

= NOT
NOT{

age_

age_

age_

age_

old = age_

old = age_1 NOT

NOT{age_2}.

{age_2}.

MULTI-VALUED CUBE CALCULUS (MVCC)

MULTI-VALUED CUBE CALCULUS (MVCC)





A superset of CC.

A superset of CC.





It represents product terms as cubes where each

It represents product terms as cubes where each

input variable can have a

input variable can have a

subset

subset

of a finite set of

of a finite set of

all possible values that this variable can take.

all possible values that this variable can take.





Each element of the set is represented by a single

Each element of the set is represented by a single

bit,

which makes this representation not efficient for

bit,

which makes this representation not efficient for

large sets of values.

large sets of values.





In the above example we could have for instance a

In the above example we could have for instance a

5-valued variable

5-valued variable

age

age

for five age categories, and a

for five age categories, and a

quaternary variable

quaternary variable

color_of_hair

color_of_hair





Each position of a variable corresponds to its

Each position of a variable corresponds to its

possible value.

possible value.

GENERALIZED MV CUBE CALCULUS

GENERALIZED MV CUBE CALCULUS

A superset of MVCC.

A superset of MVCC.

  • Each

Each

output variable

output variable

can be also a subset of

can be also a subset of

values.

values.

  • Such cubes can be directly used to represent MV

Such cubes can be directly used to represent MV

relations, as in

relations, as in

Table 2

Table 2

Its operations are more general than MVCC,

Its operations are more general than MVCC,

because more interpretations can be given to

because more interpretations can be given to

cubes

cubes

This calculus has more

This calculus has more descriptive power

descriptive power, but

, but

the respective hardware processors are much

the respective hardware processors are much

more complicated.

more complicated.

SIMPLIFIED BINARY CUBE CALCULUS

SIMPLIFIED BINARY CUBE CALCULUS





A subset of CC. It operates only on

A subset of CC. It operates only on

minterms

minterms

It has application in decomposition of functions.

It has application in decomposition of functions.

Minterms

Minterms

can be of different dimensions.

can be of different dimensions.

The hardware is much simplified: operations

The hardware is much simplified: operations

are only set-theoretical.

are only set-theoretical.

This is

This is

the

the simpliest

simpliest virtual machine

virtual machine

realized by us, so larger data can be processed

realized by us, so larger data can be processed

by it because more of a machine can be fit to

by it because more of a machine can be fit to

the

the

limited FPGA Array resources

limited FPGA Array resources

of DEC-

of DEC-

PERLE-1.

PERLE-1.

SIMPLIFIED MV CUBE CALCULUS

SIMPLIFIED MV CUBE CALCULUS





There is no way now to describe in one cube

There is no way now to describe in one cube

people below 19 with red or black hair, which was

people below 19 with red or black hair, which was

possible in MVCC or GMVCC.

possible in MVCC or GMVCC.





This simplification of the language brings however

This simplification of the language brings however

big speedup of algorithms and storage reduction

big speedup of algorithms and storage reduction

when applied for data with many values of

when applied for data with many values of

attributes.

attributes.





The control of algorithms becomes more

The control of algorithms becomes more

complicated, while the data path is simplified.

complicated, while the data path is simplified.

SPECTRAL REPRESENTATIONS

SPECTRAL REPRESENTATIONS



Examples:

Examples: Reed-Muller FPRM and GRM spectra, Walsh

Reed-Muller FPRM and GRM spectra, Walsh

spectrum, various orthogonal spectra.

spectrum, various orthogonal spectra.



These representations represent function as a

These representations represent function as a sequence of

sequence of

spectral coefficients

spectral coefficients or

or selected coefficient values with their

selected coefficient values with their

numbers

numbers.



Some spectral representations are useful to represent data for

Some spectral representations are useful to represent data for genetic algorithms

genetic algorithms

: the sequence of spectral coefficients is a

: the sequence of spectral coefficients is a

chromosome.

chromosome.



For instance, in the Fixed-Polarity Reed-Muller (FPRM)

For instance, in the Fixed-Polarity Reed-Muller (FPRM) canonical AND/EXOR forms for n variables, every variable can

canonical AND/EXOR forms for n variables, every variable can have two polarities, 0 and 1.

have two polarities, 0 and 1.



Thus there are

Thus there are

n

n

different polarities for a function and the GA

different polarities for a function and the GA

algorithm has to search for the polarity that has the minimum

algorithm has to search for the polarity that has the minimum number of ones in the chromosome.

number of ones in the chromosome.

SPECTRAL REPRESENTATIONS

SPECTRAL REPRESENTATIONS

Because there are more GRM forms, it is more

Because there are more GRM forms, it is more

probable to find a shorter form among them

probable to find a shorter form among them

than among the FPRM forms.

than among the FPRM forms.

But the chromosomes are much longer and the

But the chromosomes are much longer and the

evaluation is more difficult.

evaluation is more difficult.

This kind of

This kind of trade-

trade-offs

offs is quite common in

is quite common in

spectral representations.

spectral representations.

Spectral methods allow for high degree of

Spectral methods allow for high degree of

parallelism.

parallelism.

ROUGH PARTITIONS AND

ROUGH PARTITIONS AND

LABELED ROUGH PARTITIONS

LABELED ROUGH PARTITIONS



Rough Partitions (RP) represented as Bit Sets (

Rough Partitions (RP) represented as Bit Sets (Luba

Luba).



This representation stores the two-dimensional table column-

This representation stores the two-dimensional table column- wise,

and not row-wise as MVCC does.

wise,

and not row-wise as MVCC does.



In r-partition every variable

(a column of a table) induces a

In r-partition every variable

(a column of a table) induces a

partition of the set of rows (cubes)

to blocks, one block for

partition of the set of rows (cubes)

to blocks, one block for

each value the variable can take

(there are two blocks for a

each value the variable can take

(there are two blocks for a

binary variable, and

binary variable, and

k

k

blocks for

a

blocks for

a

k

k

-valued variable).

-valued variable).



Rough Partitions are a good

idea but they don't really form a

Rough Partitions are a good

idea but they don't really form a

representation of a function.

representation of a function.



Since the values of a variable are not stored together with

Since the values of a variable are not stored together with partition blocks, the essential information on the function is lost

partition blocks, the essential information on the function is lost and the original data can not be recovered from it.

and the original data can not be recovered from it.



This is kind of an abstraction of a function, useful for instance

This is kind of an abstraction of a function, useful for instance in various decomposition algorithms.

in various decomposition algorithms.

LABELED ROUGH PARTITIONS (2)

LABELED ROUGH PARTITIONS (2)





An example of application of relation in logic synthesis

An example of application of relation in logic synthesis

area is a modulo-3 counter (a non-deterministic state

area is a modulo-3 counter (a non-deterministic state

machine is a special case of multiple-valued, multi-

machine is a special case of multiple-valued, multi-

output, relation)

that counts in sequence

output, relation)

that counts in sequence

s

s

-> s1 -

-> s1 -

> s2 -> s

> s2 -> s

and if the state

and if the state

s

s

happens to be the

happens to be the

initial state of the counter, counter should transit to

initial state of the counter, counter should transit to

any of the states

any of the states

s0,s1,s

s0,s1,s

, but not to the state

, but not to the state

s

s

itself.

itself.





Generalized values for input variables are already

Generalized values for input variables are already

known from cube calculus but

known from cube calculus but

generalized values

generalized values

for output variables

for output variables

are a new concept which

are a new concept which

allows for representation and manipulation of relations

allows for representation and manipulation of relations

in LRP.

in LRP.