Archive for the 'Project' Category

Knowledge Base Reimplementation

I was in the midst of reimplementing the KB as partitions using Oracle Berkeley DB Java Edition as the storage engine. Based on what I saw at the recent AAAI-07 conference in Vancouver, I’ve decided to follow the pattern set by YARS2 and create an RDF triple store with extensions to suit the needs of this project. The primary motivation is to obtain the fastest possible lookup time and also use the least amount of disk space.

The lookup performance will be fast:

  • no SPARQL or SQL query layer, instead use index lookup
  • no provision for transactions

The index structures and disk blocks will follow the YARS2 pattern and be compressed.

RDF extensions for each stored triple include:

  • Context term
  • Timestamp
  • Creator
  • Creation purpose

Serialization for export / import will be RDF and the extensions will be handled via RDF statement reification.

James Albus - Reference Model Architecture

The Reference Model Architecture developed by James S. Albus at NIST is a theory for the creation of artificial intelligence stemming from work in the field of industrial control and robotics. Ther are three books:

Engineering of Mind is an introduction, and Intelligent Systems is a textbook describing Albus’ Reference Model Architecture (for artificial intelligence).

At NIST (National Institute of Standards and Technology) this programming framework is used for manufacturing automation and automated vehicles.

Very briefly Albus uses a feedback loop whereby actuators affect the external environment, sensors detect salient data from the environment, then sensory perception organizes and processes the sensed data. From there the internal world model is updated and a value judgment component assigns goodness to the perceptions and then reinforces associated behavior. The behavior generation component computes commands to send to the actuator - completing the loop.

The basic feedback loop is contained in a module (RCS-MODULE) that is a member of a lattice of similar modules. Each module sends sensory perception up the lattice and receives commands/tasks from above. Thelattice becomes a tree to achieve a particular high level goal.

The RCS software implementing James Albus’ ideas can be downloaded from NIST. This code is mostly an infrastructure for interprocess communication. As it is written in C, I would have texai link to it for only the lowest level behaviors.

I recommend the Albus books, especially the Intelligent Systems text (available used) as a ambitious attempt to extend a robotics control system into a generally intelligent system. Texai will be developed as a lattice of Albus nodes, once the infrastructure to support a sophisticated node is accomplished.

Why I use the GPL

Here are reasons why I use the GPL.

1. I do not need nor desire a proprietary product that can be sold.

  • Conducting a business, or having the need to acquire sponsors, greatly constrains the direction of research, and the available time for its pursuit.
  •  I do not need a salary as my wife and our investments are supporting me.

2. Contrary to naive intuition, the GPL precludes a lot of competition. Commercial firms rarely enter a market niche that is initially dominated by a freely available GPL product that meets customer needs. In contrast, a small commercial software firm that pioneers a new, profitable, and rapidly growing market attracts many competitors, perhaps giant ones. Even if the small firm sells out to a giant firm, there is little guarantee of continued market share.

3. GPL compatibility allows the inclusion of GPL third party components as well as Apache, BSD and so forth. This extends to GPL style content such as Wiktionary and Wikipedia. And it extends to open source infrastructure such as SourceForge for my code repository.

4. A GPL product can be easily included in Linux distributions.

5. A GPL style project is more likely to attract numerous volunteers when the tools are available for skill acquisition via English dialog.

6. There are two categories of things that investor’s money could buy - salaried labor and capital equipment. The former I hope to provide via volunteer labor and the system’s (in the future) own growing intelligence, and the latter is mainly computer cycles and disk space that should be provided by volunteers and users - in a vastly scalable peer-to-peer network .

« Previous Page