Re: Any function that can transfer a MDD to BDD in VIS?

From: Fabio Somenzi (Fabio_at_colorado.edu)
Date: Mon Oct 18 2004 - 10:47:28 MDT


>>>>> "CR" == Cedric Roux <Cedric.Roux_at_lip6.fr> writes:

 CR> Hi Lun,
 CR> I am not a VIS creator, but I hack in it a lot for my PhD stuff.

 CR> For a finite state machine, you have that
 CR> a MDD is just a list of BDD.

Cedric,

Thanks for taking the time to answer. Just a minor clarification.
What you describe is a multi-valued function (mvf in vis), which has a
component for each value of its output type. An MDD is just _one_
BDD, because it represents a function whose inputs are multi-valued,
but whose output is binary. The mdd package provides the mapping
between multi-valued inputs and binary inputs of the underlying BDD.

For instance, for a variable of type {R,G,B} the mdd package will
allocate two binary variables and define the map

 R: 00
 G: 01
 B: 1-

In practice, of course, there is not much point in having MDDs without
mvf's, but in terms of implementation they are separate.

Fabio

 CR> For each value a variable can take,
 CR> you will have an associated BDD representing states for which the
 CR> variable takes this value.

 CR> What do you mean by transforming a MDD into a BDD ?

 CR> Having 2 variables and their MDDs, you can
 CR> create the BDD representing the relation "x = y" for instance,
 CR> and various others.

 CR> It probably doesn't answer your question :)

 CR> The real question is (I think):
 CR> Having a variable that has values 0, 1, 2, ..., n, what do you
 CR> want to do with it ?

 CR> My 0.2 euros.
 CR> Cedric.

 CR> On Sun, 17 Oct 2004, Li, Lun wrote:

>> Thanks first,
>>
>> Both MDD and BDD are used in VIS. Is there a function that can transfer a MDD to corresponding BDD in VIS package, or vice versa?
>>
>> Best regards,
>>
>> Lun



This archive was generated by hypermail 2.1.7 : Mon Oct 18 2004 - 10:50:11 MDT