The Logic of Life: Creating Artificial Intelligence

Artificial intelligence. We hear the word every day, but what is it really.

Defining Artificial Intelligence

Artificial – made or produced by human beings rather than occurring naturally, especially as a copy of something natural.

Intelligence – the ability to acquire and apply knowledge and skills.

So from these definitions it would seem that “Artificial Intelligence” refers to a manmade ability to acquire skills and knowledge.

A being or device which can acquire skills and knowledge.

Defining Skills and Knowledge

So the challenge here is determining how best to create such a device. Of course it will involve computers. 

The ability to acquire knowledge requires some form of memory – a method to store data to be retained and recalled at a later date. 

Knowledge is defined as – facts, information, and skills acquired through experience or education; the theoretical or practical understanding of a subject.

Skill refers to- the ability to do something well.

Combining all the above definitions defines artificial as the following: A manmade being or device which can store and facts and information, and acquire skills. So the two main elements here are Information Storage, and Skill Acquisition and implementation.

Algorithmic Model

Below is an example of this concept rationalised into a simplistic algorithmic model:

string[] _Knowledge;		//This is an array of data containing the information representing “Knowledge”. Could be split into a table with ID, Title, etc. 
string[] _Skills; 			//This is an array off “skill” names. Each name connects to a unique set of instructions
void acquire_Know(string new_know) { _Knowledge.Add(new_know); }
void acquire_skill(string new_skill) {_Skills.Add(new_skill); }
void implement_skill(string Xskill) {  Xskill.activate; }

acquire_Know is a function that adds a knowledge item to the _Knowledge array. This would store data some some kind of recallable memory.

acquire_skill is a function that adds a skill to the _Skills database. This would contain the skill name to identify the skill, paired with a set of instructions.

implement_skill is a function that calls a skill and implements the associated instructions. 

Each would require a certain amount of subdivision, for instance the instructions given in the skill would have to contain references to the objects it interacts with.  There may be a need for additional arrays based on intractable objects and their intractable properties.


Follow the blog for updates on this research!

Author: noz

Publisher

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: