Textual representationJuly 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) |
EntitiesAn 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.
ConnectionsA non-directional connection can be defined like this:
This results in a non-directional connection between x and y.
A uni-directional connection can be defined like this:
A bi-directional connection can be defined like this:
Note that while connections can be explicitly defined, they are most often implicitly defined when relationships are used.
RelationshipsA non-directinoal relationship can be defined like this:
This implies the following entities:
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:
The greater than sign acts like an arrow to represent the direction. This implies the following entities:
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.
GraphingJuly 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 AIJuly 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 layerThe 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 layerBeyond 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 layerAI doesn't just need to accept language as an input, it also needs to use language as an output medium.
Auditory in layerTranslating the spoken word into a textual representation.
Auditory out layerTranslating text into the spoken word.
Social layerAny 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 layerCreating a mental model of a spacial environment via image analysis.
Personality layerPerhaps 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 interestI'm personally the most interested in the
core and
language in layers.
older >>