[self-interest] programming and knowledge representation

thilo.s at web.de thilo.s at web.de
Wed Jan 17 16:09:51 UTC 2001


Albertina Lourenci wrote:
> 
> 
> Thilo Schwidurski wrote:
> 
> Dear Thilo:
> 
> 
> 
> > Dear members,
> >
> > the group lately adressed unification of languages (vs. "Babel
> > effect") and metaprogramming and other philosophical concepts. So I
> > felt that it might be a good place for a discussion of some thoughts
> >
> > about programming and more general about knowledge representation.
> >
> 
> Wonderful connection!!! I get distressed because there is a real
> gap here. People from artificial intelligence do not get involved with
> people from software engineering! It is changing however slowly!

There probably has always been a significant shared subset in the
concepts and theories.
Is there something that keeps pushing people in either field ? What is
it ? Software engineering is kind of boring for the AI-researcher ?
AI-research is to far from real-life apps for the software engineer ? I
feel like standing in the middle, with definitly less knowledge of
AI-research.

> A broader  definition of programming. Curiously for me programming
> has always been just this. This is the reason why I cannot accept
> any language to implement my ideas. 

I am not sure what you mean by this. In my view we use language to
express our ideas.

> However it is common to hear
> computer scientists saying: you can implement your ideas in any
> language!!! This sounds and will sound as very awkward!

> > [Knowledge rep. and edge-intelinked graphs ideas]
 
> Well it is difficult to follow your reasoning here. 

For this I see is the most important part (the foundation) of my ideas I
would like to clarify on this.
Is it "why?" or "why not?" or "so what?" ?

> I found it interesting
> because I have always dealth with graph theory. It has been
> fundamental
> to make explicit layers of architectural reasoning that cannot be
> represented
> by verbal languages such as English, Portuguese, etc.

Yes! I find that generally a lot of knowledge is simply awkward to write
down in natural language, as it is awkward to write down in an arbitrary
computer language (which has a fixed set of syntactic rules). Just
imagine "serializing" a (complex) diagram's information to bring it in a
textual form.

Nevertheless of course could it be even more awkward to transform
knowledge, which is already written in (e.g.) natural language, into the
form of diagrams (or the underlying representation, the graph). But for
the graph (I am proposing) I feel is the more general form of knowledge
containing structure - it should be accomplished easier this way.

Anyway there must be transforming "devices" (like a parser for a textual
language, which transforms the textual sentences of some code
*conceptually* in an AST. Of course - after all - this gets serialized
in memory anyway - but by yet another different protocol).

What about this (very informal) "picture" :
programming language 	: text <--> AST <--> graph
natural language	: text <--> semantic network <--> graph
visual language		: drawings/blueprints <--> semantic network <--> graph
object database		: object network <--> graph

Another projection is AST --> Machinecode

Just to point out
If text <--> AST can not be made bijective, than probably
text <--> graph.

Just a simple example :
Comments get eaten by a parser (realizing the projection from text to
the AST), so the projection can not be bijective. But comments could be
woven in the graph easily - no information must get lost.

> So I feel that the great advance introduced by Self is the ability
> to stress the thingness of things. Moreover Self is essentially
> hermeneutic (there is nothing more hermeneutic than music)
> hence musical. For me it was very rewarding to discover that
> Randy Smith is a jazz musician.  I would like him to tell us
> how music influenced his Self concepts besides being a physicist.

I feel that music, art and especially information science have a strong
connection, but I could'nt *explain* it in in-depth. Maybe there is no
need to explain ...
Did'nt you also make the experience, that people that share an interest
in a special topic (e.g. information science) 'strangely' also share
interest in another, somehow unrelated topic (e.g. music or aikido) ?
Well some could argue that this observation might also be a matter of
wishful-thinking - awareness, but I dont think so ...
Albertina, I think, you already pointed to the book "Goedel, Escher,
Bach" (actually just now while I am writing this message :-)...

> It is Peter Wegner's belief that in the XXIst century, there will
> be an amalgama between interaction and algorithms.

I surely have to get a deeper understanding of Wegners work - naively I
would say that all programs with a GUI are already such an amalgama.

> The knowledge based system I am building has this potential.
> So please do not forget interaction!!! when you argue especially
> because you belong to the Self community!

Of course the system I am proposing should interact with users and other
systems (especially 'instantiations' of the same system).
(I'm not sure if this relates correctly to Wegner's definition of
Interaction.)
Maybe my ideas can be seen more as a delta or addendum (or clarification
for myself ?) to Self and traditional OS ?

> Dave Ungar has a nice paper on the transporter, where he comments
> the difference of the way ASTs are used in the OO BETA programming\
> language and the way the transporter is built in modules.

Is it available to the public ?

> It would be nice his comments here for you to perceive that the
> mathematical notation alone are not very expressive, although
> there are moments they fit perfectly well and add expression
> how I use it in architecture.

With "mathematical notation" - do you mean the graph representation ?
It might be not expressive in that way that it still needs
interpretation. But what does expressive mean anyway ? Is program code
expressive ?

If two objects are connected and this connection is linked (via link L)
to another object , than this object charaterizes the "meaning" or
quality or type of the connection. To make things clearer in the graph,
the link L could again be qualified by a link (or more links) to a
"meaning" or quality or type - object (that means to objects named (that
is containg the string) "meaning" or "quality" or "type"). The result is
a semantic network that relates all these objects.
What you - or your computer - can do or understand with this graph,
depends on the transforming/interpreting modules build in the system.

Anyway I would hope that many people could learn to read such a graph
(displayed visually like a concept map) more easily than to read a
program.

> 
> This sounds great!  So could you give us references for us to delve
> deeper into your ideas.

I will try to set up a list of URLs - at least.

> >
> > I shurely hope this ideas are not to far away from your interests
> > and
> > would love to discuss them with you.
> 
> It fits perfectly well with my ideas and I hope you can contribute to
> help me to climb higher and higher to  see broader and broader
> horizons.

Thanks for the confidence - so I hope too ! :-)

Regards,
Thilo.



More information about the Self-interest mailing list