topics:  main-page   everything   99things   things-to-do   software   space   future   exercise & health   faith  
  thought   web   movies+TV   music   mymusic   food   curiosity   tidbits   I remember   wishlist   misc   links


Textual representation
July 10, 2008

Although graphing can be useful for reinforcing our directed graph representation, we ultimately need a textual representation.

Terminology

Keywords: A keyword is an alphanumeric string that may contain underscores but not spaces. We'll also use symbols such as = as keywords.

Entity: An entity is analagous to a node in a graph. A keyword can be associated with an entity, but the same keyword can't be used to identify more than one entity.

Connection: A connection is analagous to an edge, and can be non-directional, uni-directional, or bi-directional.

Relationship: A relationship has seven parts:
A node to represent the instance of the relationship
A non-directinoal connection from the first entity (ex. Daniel)
A connection to the second entity (ex. person). This is often a directional connection, but can also be non-directional.
A non-directional connection to the type of relationship (ex. is_a)

Entities

An entity can be defined by simply listing a keyword on its own line. For example, the following six entities can be defined like this:

is_a
has
1
Daniel
person
first_name

Note that while entities can be explicitly defined, they are implicitly defined if and when they are first used in a connection or relationship.

Connections

A non-directional connection can be defined like this:

x - y

This results in a non-directional connection between x and y.

A uni-directional connection can be defined like this:

x -> y

A bi-directional connection can be defined like this:

x <-> y

Note that while connections can be explicitly defined, they are most often implicitly defined when relationships are used.

Relationships

A non-directinoal relationship can be defined like this:

Daniel friend Graham

This implies the following entities:

Daniel
friend
Graham

It also implies the following connections, where x is an un-named node in the graph:

Daniel - x
x - friend
x - Graham

A uni-directinoal relationship can be defined like this:

Daniel is_a> person

The greater than sign acts like an arrow to represent the direction. This implies the following entities:

Daniel
is_a
person

It also implies the following connections, where x is a new, un-named node in the graph:

Daniel - x
x - is_a
x -> person

Since certain relationships, such as is_a and has are used so often, we will hard code into our system the fact that they are directional so that we don't have to specify the arrow each time.


Graphing
July 9, 2008

To make graphing more practical, the fact that relationships have their own node will be an implied understanding. We'll also use has_a to mean has:1. For example:



The full graph would have been:




The layers of an AI
July 9, 2008

An AI, in the classical sense, has different layers, and each of those layers represents an area of study with its own data structure and algorithms.

Core layer

The core of the AI is the data structure in which it represents its understanding of the world. Paired with this are a set of algorithms that allow basic operations to be performed on the data structure, and building on top of that are algorithms to use the data structure to evaluate whether an idea "makes sense", to answer questions via reasoning, etc.

Language in layer

Beyond this core is the need to interface with language as an input. This is a substantially different problem and requires new data structures and algorithms, but this layer has a strong dependency on the core layer to evaluate whether a possible interpretation of a phrase makes sense, and ultimately to store the resultant understanding.

Language out layer

AI doesn't just need to accept language as an input, it also needs to use language as an output medium.

Auditory in layer

Translating the spoken word into a textual representation.

Auditory out layer

Translating text into the spoken word.

Social layer

Any social agent in this world needs more than intelligence and language abilities: It needs an understanding of how to behave appropriately. For example, having a conversation is quite a complex interaction, with many unwritten rules.

Vision layer

Creating a mental model of a spacial environment via image analysis.

Personality  layer

Perhaps least important, but still of interest, is the personality layer, perhaps mostly for its relationship with the social layer. How does an AI add color to its personality? Is this something that happens implicitly, or does it represent another layer of complexity that needs to be developed?

My areas of interest

I'm personally the most interested in the core and language in layers.

older >>