Re: Using the RM for ADTs

From: Brian Selzer <brian_at_selzer-software.com>
Date: Fri, 3 Jul 2009 00:58:58 -0400
Message-ID: <J6g3m.10230$Dx2.7314_at_flpi146.ffdc.sbc.com>


"David BL" <davidbl_at_iinet.net.au> wrote in message news:767b6704-2690-47d2-898c-8c2663a4ea5c_at_l35g2000pra.googlegroups.com...
> On Jul 3, 5:23 am, "Brian Selzer" <br..._at_selzer-software.com> wrote:
>
>> I think it might be simpler to assign artificial identifiers to the
>> components instead of the nodes. It is certainly more intuitive. Each
>> component has a finite number of leads, and each lead can connect with
>> zero
>> or more components, possibly other leads on the same component. For
>> example, a NOR gate becomes an inverter if you tie the inputs together.
>> The
>> circuits can then be represented entirely as a set of unordered pairs:
>>
>> {{component, lead}, {component, lead}}
>
> Consider a node to which n components are connected and n is large.
> Using pairwise connections can either be exceedingly arbitrary (by
> only representing n-1 pairs) or it makes for enormous redundancy (by
> representing all n(n-1)/2 pairs).
>
> I think this is much worse that the symmetry problem with resistors.

I see your point, but I still think that assigning components artificial identifiers is better: the unordered pairs could be replaced with or preprocessed into a single set per node prior to the determination of isomorphism. For example,

{resistor1:lead1,capacitor2:lead1,transistor1:lead2}

discribes a node that connects a resistor and a capacitor to the base of a transistor.

The above contains the same information as the unordered pairs

{{resistor1:lead1,capacitor2:lead1},
{resistor1:lead1,transistor1:lead2}}

without either the arbitrariness or the redundancy you seek to avoid.

> Note that netlists used by circuit simulation programs like SPICE tend
> to use something similar to what I discussed - i.e. for each component
> list all the nodes to which it is connected. One difference is that
> they require component labels as well as node labels.
>
>
>> I think that for components with two leads that can operate in either
>> orientation, if the lead identifiers were also treated like bound
>> variables,
>> along with the component identifiers, then circuits would still be
>> considered equivalent even if one or more of the components that can be
>> reversed are.
>
> You might to be onto something there. I've also been thinking that the
> concept of bound variables could be relevant. I came at this by
> thinking about the idea of instantiating circuit values within
> containing circuits. To achieve circuit reuse I was thinking that
> circuit values must be named (so they can be referenced by name in
> order to be instantiated within another circuit).
>
>
>> The definition of an entity relation according to its properties or to
>> a specific context is not a relational definition.
>
> You're repeating Cimode?

I don't know what happened. I thought I replied to your post, but I must have replied to his instead. I was as surprised as you to see that. Received on Fri Jul 03 2009 - 06:58:58 CEST

Original text of this message