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