[Top] [All Lists]

Re: [ontolog-forum] cyclic and acyclic definitions

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Bart Gajderowicz <bgajdero@xxxxxxxxxx>
Date: Wed, 22 Apr 2009 01:37:24 -0400
Message-id: <6b20199d0904212237p34d8527ax5601086e8d1dc814@xxxxxxxxxxxxxx>
Thank you for your analysis and feedback.    (01)

BG>> Let me state that my original intention was to find a way to model
>> cyclic definitions in a complete system. My approach was to convert
>> cyclic to acyclic definitions, via context. My envisioned result is
>> purely hierarchical, for the purpose of comparing 2 hierarchies, not
>> their instances.    (02)

JK> Your result is hierarchical or a hierarchy?  You defining a function that
> has a result which is a hiearchy, or are you describing the result
> (presumably of the comparison operation) as being able to be described
> as a matching some defintion of "hierarchy", hence able to use the
> adjective "hierarchical" to describe it.    (03)

My models and result are both hierarchies.    (04)

> I assume a cyclic definition is one that uses the defined term in the
> definition of that term. like saying a cat is a cat with black fur.
> Or, a #$Thing is an instance of a #$Collection and a #$Collection is
> an instance of a #$Thing.    (05)

That's what my definition of cyclic is as well. The transitive example
was a distinction I would try to make between objects and their
relationships in different context. In one context they are
transitive, in another they are not. This was a response to Azamat's
example.    (06)

JK> I've been told that Set theory does allow self-references in definitions but
> Mereology Theory does not. Which are you using?    (07)

Mereology Theory. The only reason is that cyclic definitions would
introduce incompleteness into FOL sentences.    (08)

>> AA> There is much bigger problem here, the semantic one.
>> > Nobody can describe natural phenomena with logical syntax. Otherwise
>> > science
>> > would be redundant.    (09)

JK> Don't you agree that logical syntax (and the meanings from FOPL) just
> provide a different tool to describe phenomena? Isn't the point of
> science to describe things, so a more precise tool to describe it would
> be better?    (010)

I agree, and that's what I'm after.    (011)

>> AA> 1. a denotation rule (reference), indicating the physical referent p;
>> I don't have to be concerned with indexicality of physical objects,
>> only classification through the fact that at some point, a particle
>> with similar attributes existed, and had a certain relationship to
>> something else, and was classified as type of X particle.
JK> You said "at some point" is that a physical location, or a point in time?
> or at some step in a logical inference?    (012)

At some point in time.    (013)

JK> When you say "particle" are you
> just trying to be more general than just saying "object" or "thing" or are
> you thinking of sub atomic particles, or particles in a language?    (014)

Particle was just used here from previous examples, and should be
taken as "object" or "thing".    (015)

JK> I'm sorry, even when I try to state what you just said formally, I get too
> many questions.
>       classification - the act of assigning something a class
> or   classification - the hierarchy of classes and subclasses that could be
>                         used assign some thing a class.    (016)

The main one is "classification - the act of assigning something a class".
This is what I'm trying to do. I can identify a Cat as a Species, but
I can also identify Cat as an instance called Fido, and the context of
my classification changes.    (017)

The secondary one is something that would be achieved through an
empirical method.  What I mean here is that I don't know in how many
ways I can classify a Cat.  If I have only experienced gray Cats, I
wouldn't even think of classifying them by Colour. If at some point I
find a cat which is Black, I have to add Colour to my classification.    (018)

Remember the Black Swan example.  Bob says All Swans are white. If Bob
goes to New Zealand, he finds black swans, and his premise is wrong.
Well, I would say, through fuzzy logic, that he's not wrong, only less
right.  This is how I'm hoping to add uncertainty to this
classification. As a whole, I can use universal quantification and
assign a degrees of truth to an entire class. As an individual, I can
use existential quantification and assign a degree of truth to that
object in terms of a context.    (019)

JK> similar attributes - how is this different that having a "certain
> relationship"
> aren't attributes relationships too? what makes the "certain relationship"
> special enough? and don't attributes refer to something else as well?    (020)

In FOL, predicates can be properties or relationships. The
interpretation would be: properties are atomic; attributes can be
structures themselves.  As structures, they are relationships with
other objects.    (021)

JK> I assume "type of X particle"  is another way of saying the particle can be
> assigned to the class X.  Why do you use the word "type" here instead of
> class?    (022)

I was defining the "type of" context for R10, not the class of X. In
my very limited example they are either as a 'category' or 'instance.'    (023)

BG>> I wouldn't use temporal information to identify a particular particle,
>> but I could use the recorded speed of some particle, to identify
>> others as belonging to a group that behave in a similar manner.    (024)

JK> If we are talking about physics and atomic particles, isn't there some
> kind of law that says you can't know location and some other quality at the
> same time?    (025)

It's the Heisenberg uncertainty principle. In my response, I was
giving an example of how I would use the information available for
classification. This would be the second classification I mentioned
above. Nothing to do with particles specifically.    (026)

BG>> If I implement some uncertainty measures, something like fuzzy logic,
>> at some level in the system, most likely at the last steps of
>> inference, I could dynamically calculate class membership or inclusion
>> based on empirical data.    (027)

JK> I assume you mean class membership in the particles that are acting in
> a certain way historically, which is what you were talking about before.
> Why would inference, fuzzy logic or uncertainty even come up?
>    (028)

I can classify something based on fuzzy sets. I can say that a Gray
Cat belongs 50% in the Black Cat set, and 50% in the White Cat set. I
can apply statistical inference. I can only say that, once I found a
contradiction in my definition of a Cat where I assumed all cats where
Black. The ultimate goal is to find an automated ontology mapping
algorithm.  If I have two conflicting definitions, I can spot
differences. It's not a trivial step, I realize.  But if the
definitions are the same, and still someone points out that a
difference exists, then I can look at the observations which led the
ontologists to make that definition, and get a better understanding of
what a Cat is, and realize tat there atcually Gray, Black, and White
cats. The fact that the Colour even matters is a clue, the values are
a bonus.    (029)

BG>>  This may be used to either reach a new level
>> of granularity, or resolve conflicting definitions, that are not
>> available through reasoning alone. I can equate this to defining a
>> structure for 2 molecules, X and Z, but resorting to experiments to
>> see how they interact. If up to that point, X and a new molecule Y
>> were structurally equivalent, but reacted differently to Z, I could
>> say that structurally X and Y are the same, but they are different in
>> the context of "reaction with Z".    (030)

JK> You  seem to be using "reaction with Z" as a way of classifying X & Y.
> how is this different from the attributes and relationships  you talked
> about earlier?    (031)

It's actually not.  I'm looking for ways to identify relationships in
different contexts. A "reaction" is a different type of relationship,
in the context of 'reacting' to something.    (032)

JK> By the way, now you seem to be talking about molecules instead
> of particles. I'm very confused about the actual things you are trying
> to classify.  Unless this is some metaphor that I don't understand.    (033)

I should stick to cats and dogs. Actually, my next step is defining
this within some domain, like integer numbers, so my examples and
explanations are more consistent, and I'm not talking about apples and
dogs. I can then expand that to rationals, reals, etc. Then someday,
cats and dogs.    (034)

BG>> In addition to structural information:
>> (forall x,z (R(x,z) iff exists y, s.t. R(x,y) ^ R(y,z)))
>> ... I add something along the lines of:
>> (forall x,z (R1(x,z) iff exists y, s.t. R(x,y) ^ R(y,z)) ^ R2(x,y) ^
>> R2(y,z) )
>> Where R2(a,b) could be:
>> R2(a,b) => a.id < b.id
>>  OR
>> R2(a,b) => a.country is part of b.continent
JK> Does you added axiom mean that
>  you basically add a transitive axiom for R  & R2 at the same time?
>  doesn't the original axion mean that the relation R obeys a  transitive
> axiom ?    (035)

Yes, but I want to use that same relation R10 to express transitivity
in different contexts. For that I need a new clause (R2), which checks
the context.    (036)

BG>> You can define ranges like this for error checking in XML,
>> specifically ranges in OWL to define variations in objects. So that's
>> nothing new.
>> Back to my proposed way of handling cyclic definitions, by changing
>> the attributes and properties to acyclic definitions:
>> Following Azamat's questions:
>> I could perhaps define relationships this way to determine if A and B
>> are transitive hierarchies with R10(A,B) (see below):    (037)

JK> so A is a transitive hierarchy, and B is a transitive hierarchy.
> ( actually, I presume they are actually variables  that stand for two
> specific transitive hierarchies )  I think of a hierarchy as being
> iso-morphic to a tree of nodes.  Thus R10 is a relationship
> between trees.    (038)

Yes.    (039)

BG>> 1. restrained by the class inclusion relationships
>> K-9 is a Species is-a Animal
JK> so K-9 is a class,  Species is a class,  Animal is a Class,
> Species is a  specialized class of Animal
> and K-9 is an instance of the class Species ?
> presumably both A & B are each a hierarchy of classes?
> so my tree-of-nodes has each node as a class?    (040)

Yes.    (041)

BG>> 2. restrained by the the class membership relationship
>> Fido is a K-9    (042)

JK> Fido is an instance of the class K-9 ?
> What is the tie to A and B? Is Fido an instance of A and
> at the same time an instance of B ?  But what does it
> mean to be an instance of a hierarchy? I would have thought
> an instance of a hierarchy was a tree, but now you seem
> to be defining instance as a relationship between some
> other group of things to the classes that are the nodes
> in the trees. so Fido can't be an instance of A or B,
> I guess, unless Fido is the name for some tree which
> can be classified as a "K-9".    (043)

Yes Fido would have its own tree, but since Fido is an instance, it
would be compared to the predicates of the 'instances' context, which
have a hierarchy of classification rules., separate from the context
of the subclass/superclass hierarchy.    (044)

BG>> In the context of **structural categories**:
>> R10(K-9, Animal) holds
>> R10(Fido, Animal) doesn't hold, because Fido is not a subcategory of
>> Animal, only an instance of it.    (045)

JK> R10 is an un-named relation that holds between the class K-9 and the class
> Animal
> ? But where do A and B come into this? I thought R10 was taking hierarchies,
> not elements of a hierarchy.    (046)

R10 tells you whether A and B have a transitive relationship between them.    (047)

BG>> In the context of **instances**:
>> R10(K-9, Animal) does not hold because you need an instance attributes
>> to start with.    (048)

JK> What does this mean? an instance attribute to start with? Are we following
> some path, that I haven't seen explicated yet, which has an instance
> attribute
> (presumably a relation on instances) as the "starting point" of the path?
>    (049)

Yes, there is a path, sort of. I shouldn't have said "start with", as
it implied something I didn't intend. What I meant was that Fido can
only exist as an instance. Notice I said the context of **instances**.
R10 holds only if it's in the right context. K-9 and Animal have a
subclass/superclass relation, not an instance-of relation, like Fido
and K-9. I realize that K-9 can be an instance of a subclass of
Animal, and that this can be misleading.    (050)

BG>> Both of these hold because Fido is an instance of K-9, which is a
>> subclassOf Animal.
>> R10(Fido, K-9) hold
>> R10(Fido, Animal) holds    (051)

JK> whoa, didn't you just say a paragraph ago that F10(Fido,Animal) does NOT
> hold?    (052)

In the **structural categories** context it does not hold.  In the
**instance** context it does.  Fido is not a subclass of Animal, in
the same way as Species is. In the context of **instances** however,
the two relations above hold:
Fido is K-9 - as an instance
K-9 is a Animal as a subclass
so Fido is an Animal - as an instance
BUT: Fido is not a subclass of Animal.  The cardinality of Animal
subclasses doesn't change if we add Marmaduke to the mix.  The only
change is to the cardinality of instances of Animals.    (053)

BG>> I'm not sure how this distinction would work, but one possibility is
>> types:
>> (forall x,y R10(x,y) iff (x.type == y.type))
>> ... where R is a subclassOf relation, and R1 is a special R relation
>> with type check for transitivity using R10:
>> (forall x,z (R1(x,z) iff exists y, s.t. R(x,y) ^ R(y,z)) ^ R10(x,z))
>> Fido.type => 'instance'
>> K-9.type => 'category'
>> Species.type => 'category'
>> Animal.type => 'category'
>> Note that Fido could never be of type 'category' with Animal, only
>> instance.
>> If we wanted to look at Fido's individual parts, they would be Fido's
>> paw, Fido's tail, etc, transitive to K-9's-paw, K-9's-tail. I'd have
>> to prevent Animals from having paws.  Perhaps through empirical means,
>> where I find an instance Giraffe named Mindy which is an animal but
>> does not have paws.    (054)

JK> It seems that you are engaging in some logical conclusion that almost makes
> sense, but not quite there. If Animal is a category, which I assume is
> something
> like a #$Collection, it is not of the same natural kind as Fido, so you
> can't
> infer along an instance-of chain which has two categories in it.    (055)

That's exactly right.    (056)

JK> in other words, since Fido is an instance of K-9 then the instances of K-9
> have the same predicates as Fido, but K-9 is a collection, so it will have
> the predicates for collections. not the predicates for instances of K-9.
> by transitivity, I would assume that since K-9 is a specialization of
> Animal,
> then if Fido is an instance of K-9, then Fido is an instance of Animal.
> hence the the predicates that apply to instances of Animal would also
> apply to Fido as well.  I would NOT assume that the predicates that apply
> to K-9 also apply to the instances of Animal, as presumably there could
> be other specializations of Animal which are disjoint from K-9.
> The predicates that applied to the instances of Animal would apply to
> the instances of some other specialization of Animal (call it Feline),
> as well as K-9. That is what it mans to say that K-9 is a specialization
> of Animal. (or that Feline is a specialization of Animal)    (057)

Again, exactly right.  I needed to use specialization here. It's the
predicates that change from context to context.    (058)

Bart Gajderowicz
MSc Candidate, '10
Dept. of Computer Science
Ryerson University
http://www.scs.ryerson.ca/~bgajdero    (059)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (060)

<Prev in Thread] Current Thread [Next in Thread>