<< content Chapter 1
Referring to FIG. 1, the present
invention is a method of creating human artificial intelligence in machines
and computer based software applications, the method comprising:
an artificial intelligent computer
program repeats itself in a single for-loop to
receive information, calculate an
optimal pathway from memory, and taking action; a 3-D storage area to store
all data received by said artificial intelligent program; and a long-term
memory used by said artificial intelligent program.
Said an AI program repeats itself in a
single for-loop to receive information from the environment, calculating an
optimal pathway from memory, and taking action. The steps in the for-loop
comprises:
1. Receive input from the environment based on the 5
senses called the current pathway (block 2).
2. Use the image processor to dissect the current
pathway into sections called partial data (also known as normalized visual
objects). For visual objects, dissect data using 6 dissection functions:
dissect image layers using previous optimal encapsulated trees, dissect
image layers that are moving, dissect image layers that are partially
moving, dissect image layers by calculating the 3-dimensional shape of all
image layers in the movie sequence, dissect image layers using recursive
color regions, and dissect image layers based on associated rules (block
4).
3. Generate an initial encapsulated tree for the
current pathway and prepare visual object variations to be searched (block
6).
Average all data in initial encapsulated tree for the
current pathway and determine the existence state of visual objects from
sequential frames (block 8).
4. Execute two search functions to look for best
pathway matches (block 14).
The first search function uses search points to match a
visual object to a memory object. It uses breadth-first search because it
searches for visual objects from the top-down and searches for all child
visual objects before moving on to the next level.
The second search function uses guess points to match a
memory object to a visual object. It uses depth-first search to find
matches. From a visual object match in memory the search function will
travel on the strongest-closest memory encapsulated connections to find
possible memory objects. These memory objects will be used to match with
possible visual objects in the initial encapsulated tree. This search
function works backwards from the first search function.
The first search function will output general search
areas for the second search function to search in. If the second search
function deviates too far from the general search areas, the second search
function will stop, backtrack and wait for more general search areas from
the first search function.
The main purpose of the search function is to search
for normalized visual objects separately and slowly converge on the current
pathway (the current pathway is the root node in the initial encapsulated
tree). All visual objects in the initial encapsulated tree must be
matched. Search points and guess points call each other recursively so that
top-levels of normalized visual objects will eventually be searched as well
as bottom-levels of normalized visual objects.
5. Generate encapsulated trees for each new object
created during runtime and include it in the initial encapsulated tree.
If visual object/s create a hidden object then generate
encapsulated tree for said hidden object. Allocate search points in memory
closest to the visual objects that created the hidden object (block 22).
If visual object/s activates element objects (or
learned object) then generate encapsulated tree for said activated element
objects. Search in memory closest to the visual object/s that activated the
element object (block 24).
If pathways in memory contain patterns determine the
desirability of pathway (block 12).
6. If matches are successful or within a success
threshold, modify initial encapsulated tree by increasing the powerpoints
and priority percent of visual object/s involved in successful search (block
10).
If matches are not found or difficult to find, try a
new alternative visual object search and modify initial encapsulated tree by
decreasing the powerpoints and priority percent of visual object/s involved
in unsuccessful search. If alternative visual object search is a better
match than the original visual object match modify initial encapsulated tree
by deleting the original visual object/s and replacing it with said
alternative visual object (block 16 and 20).
7. Objects recognized by the AI program are called
target objects and element objects are objects in memory that have strong
association to the target object. The AI program will collect all element
objects from all target objects and determine which element objects to
activate. All element objects will compete with one another to be activated
and the strongest element object/s will be activated. These activated
element objects will be in the form of words, sentences, images, or
instructions to guide the AI program to do one of the following: provide
meaning to language, solve problems, plan tasks, solve interruption of
tasks, predict the future, think, or analyze a situation. The activated
element object/s is also known as the robot’s conscious (block 18 and
pointer 40).
8. Rank all best pathway matches in memory and
determine their best future pathways. A decreasing factorial is multiplied
to each frame closest to the current state (block 26 and block 28).
9. Based on best pathway matches and best future
pathways calculate an optimal pathway and generate an optimal encapsulated
tree for the current pathway. All 5 sense objects, hidden objects, and
activated element objects (learned objects) will construct new encapsulated
trees based on the strongest permutation and combination groupings leading
to the optimal pathway (block 34).
If the optimal pathway contains a pattern object, copy
said pattern object to the current pathway and generate said pattern
object’s encapsulated tree and include it in the optimal encapsulated tree
(block 30).
10. Store the current pathway and the optimal
encapsulated tree (which contains 4 data types) in the optimal pathway
(block 32).
Rank all objects and all of their encapsulated trees
from the current pathway based on priority and locate their respective
masternode to change and modify multiple copies of each object in memory
(block 36).
11. Follow the future pathway of the optimal pathway
(block 38).
12. Universalize data and find patterns in and around
the optimal pathway. Bring data closer to one another and form object
floaters. Find and compare similar pathways for any patterns. Group
similar pathways together if patterns are found (block 44).
13. Repeat for-loop from the beginning (pointer 42)
The basic idea behind the AI program is to predict the
future based on pathways in memory. The AI program will receive input from
the environment based on 5 sense data called the current pathway. The image
processor will break up the current pathway into pieces called partial
data. The image processor also generates an initial encapsulated tree for
the current pathway. Each partial data will be searched individually and
all search points will communicate with each other on search results. Each
search point will find better and better matches and converge on the current
pathway until an exact pathway match is found or the entire network is
searched. During the search process, visual objects will activate element
objects (learned objects) or create hidden objects. Each new object created
by the visual object/s will generate their respective encapsulated tree and
included in the initial encapsulated tree. The optimal pathway is based on
two criteria: the best pathway match and the best future pathway. After
the search function is over and the AI program found the optimal pathway,
the AI program will generate an optimal encapsulated tree for the current
pathway. All 5 sense objects, all hidden objects, all activated element
objects (or learned objects) and all pattern objects will recreate (or
modify) encapsulated trees based on the strongest encapsulated permutation
and combination groupings leading up to the optimal pathway. Next, the
current pathway and its’ optimal encapsulated tree will be stored near the
optimal pathway. Then, the AI program follows the future instructions of
the optimal pathway. Next, it will self-organize all data in and around the
optimal pathway, compare similar pathways for any patterns and universal
data around that area. Finally, the AI program repeats the function from
the beginning.
The next couple of sections will emphasize on the
robot’s conscious and how the conscious is used to solve problems, plan
tasks, predict the future and so forth. These sections are mentioned in
detail in parent applications, but I will give a summary explanation so the
readers can have a better understanding of how human intelligence is
produced in a machine.
The human conscious works by the following steps:
- The AI program receives 5 sense data from the
environment.
- Objects recognized by the AI program are called
target objects and element objects are objects in memory that have strong
association to the target object.
- The AI program will collect all element objects from
all target objects and determine which element objects to activate. Each
target object might have multiple copies in memory so each target object
will gather element objects from all or most same copies in memory.
- All element objects will compete with one another to
be activated and the strongest element object/s will be activated.
- These activated element objects will be in the form
of words, sentences, images, or instructions to guide the AI program to do
one of the following: provide meaning to language, solve problems, plan
tasks, solve interruption of tasks, predict the future, think, or analyze
a situation.
- The activated element object/s is also known as the
robot’s conscious.
Referring to FIG. 2A, when the AI program locates the
three visual objects: A, B, C in memory it will run electricity through
these nodes and all of its connections.
The mind has a fixed timeline. Only one element object
can be activated at a given time in this timeline. This is how we prevent
too much information from being processed and allow the AI to focus on the
things that it senses from the 5 senses (FIG. 2B).
FIG.2A
Intelligent pathways in memory
The main purpose of pathways in memory is to create any
form of intelligence. The pathways should contain patterns that will
control the AI program to take action in an intelligent way. Patterns in
pathways control the robot’s body functions such as moving its arms and legs
or searching/modifying/storing information in memory or thinking consciously
of intelligent ways to solve problems.
The pathways in memory can form for-loops, while-loops,
if-then statements, and-statements, or-statements, assignment statements,
sequence data, patterned data, classes, functions, random data, static data
and all the different combinations. The pathways are also able to form any
type of computer program, including: databases, expert systems, genetic
programs, and AI programs. Simple computer programs like a word processor
or complex computer programs like the internet can form in pathways. The
pathways can even form self-learning and self-accomplishing behavior to
solve arbitrary problems.
The intelligent pathways can do anything that a state
machine can do. Self-organization between similar intelligent pathways is
the tool that defines the state machines.
As always, patterns and meaning to sentences is the key
to forming different types of intelligence. The robot gets its data from
the environment (most notably from teachers). Teachers will teach the robot
how to form these intelligent pathways. The robot will simply compare
similar examples and average out pathways to find “patterns”.
This method will replace the old idea of manual
insertion of rules and data into an artificial intelligence program. Most
of the artificial intelligence subject matters are not used in the present
invention, including: neural networks, language parsers, expert AI
programs, rule-based systems, semantic models, Bayesians probability
theories, genetic programming, agent programs, and recursive planning
programs. The HAI program is a self-learning, self-awared, self-teaching,
and self-modifying computer program that can play any videogame for any game
console, drive a car, fly an airplane, build a house, write a book, start a
business, cook, clean the floors or mow the lawn.
Details of the conscious
The robot’s conscious comprises a computer program that
is created by the intelligent pathways in memory. As the robot’s brain
selects an optimal pathway, this intelligent pathway will generate a
computer program to do things (insert, delete or modify information that
goes into the conscious). As the robot’s brain selects optimal pathways
over a period of time, the computer program is generated and functions to do
one or multiple tasks.
If the current situation is to drive a car, the
conscious will have a computer program to drive a car, if the current
situation is to fly an airplane, the conscious will have a computer program
to fly an airplane, if the current situation is to do math equations, the
conscious will have a computer program to do math equations. While the
robot is selecting intelligent pathways for a given situation, the
intelligent pathways are creating the computer program inside the conscious
to take action.
The computer inside the conscious serves as an
operating system and it can manage multiple simultaneous tasks. For
example, in terms of driving a car, the robot has to search and identify
traffic lights, road signals and pedestrians. At the same time, he has to
drive between the two white lines on the road and avoid other
cars/pedestrians. In other cases, the robot has to plan routes in his head
so that he knows what streets to drive in. The rules and tasks of driving a
car are all managed by the computer program inside the conscious. Later on,
I will give detailed examples of how the conscious works.
FIG. 3 is a diagram illustrating the robot’s
conscious. The conscious is like an empty room and you can do anything in
it. You can extract a map of the city and draw lines/arrow on it. Planning
routes require that the robot extract a map image from memory and id the
current location, draw lines to the destination location, and list the
streets it has to travel in linear order. The robot will drive the car
based on the list of streets it has created in its mind.
There are basically two containers in the conscious: tasks and
rules/facts. Tasks are things that the robot has to physically or mentally
do. Picking up a book is a physical task and searching for relevant data in
memory is a mental task. The rules are data that is extracted from memory
that are needed for a task. Solving a problem require facts about a
situation. Rules are needed to be followed while doing a task. For
example, when driving on the road, there are rules that you have to follow.
When playing baseball, there are rules to follow for each player.
FIG. 3
The intelligent pathways selected by the robot during a
situation will define what tasks to do at certain times and what probable
rules to follow at certain times. To tell you the truth, the rules are
mostly made up of if-then statements. If the robot recognizes this object
then it will take this action. However, there is no definite law that says
rules have to be if-then statements. They can be any discrete math
function, like when-statements, for-loops, complex recursions and so
forth.
Another feature of the conscious is the identity
container. The current pathway (the current encountered situation) contains
4 types of data types: 5 sense data, hidden objects, activated element
objects and pattern objects. These 4 data types will define objects,
events, actions, object interactions, object relationships and so forth.
Basically, they create a self-defining and self-adapting semantic network
based on the data in the current pathway. There are some object
interactions that are so complex that even semantic networks can’t define.
Things like object property and complex object interactions are things
semantic networks can’t represent.
A self-defining semantic network is a network that
doesn’t need computer scientists to write the functions. The network is
created by itself from data learned from the environment (the current
pathway).
In the identity container are very important things the
robot believes, such as its primary goals in life, what are the rules that
it must follow and what does it like and dislike. This container is
important because the robot is “self-aware” and constantly knows certain
things and doesn’t need to search for these things in memory. When the
robot encounters objects/events/actions from the environment it extracts the
strongest facts in memory related to these objects. Knowledge is like a
water valve. When the robot’s task is to play baseball, the most important
knowledge about baseball pours in from memory into the conscious. When the
robot encounters a friend, the most important knowledge about this friend
pours into the conscious. In other cases, the robot can think of a bird and
the bird’s knowledge will pour into the conscious.
Each object/event/action in memory is like a forest of
network that is neatly organized.
The identity container is created because the robot is
constantly thinking about itself. When it decides on items, the robot might
say: “I select the blue box”, the word “I” automatically extracts info on
the robot. When the robot does a task, he knows that he is doing the task.
If someone else in the environment is talking to or about the robot, then
the robot will extract info about itself.
The identifying of objects/events/actions and their
interactions is based on the activated element objects from the robot. The
conscious thoughts of the robot identify objects/events/actions. Conscious
thoughts will be in the form of sentences and finger pointing to assign
words to 5 sense data. Other peoples’ spoken sentences can also define
objects/events and actions in the environment.
By identifying objects/events/actions in the
environment and establishing relational links, object properties and object
interactions, the data is configured in an optimal way to be stored in
memory.
The identity container is there because it is easier
for the robot to make decisions and to do tasks based on what the robot
wants. Things the robot likes and dislikes are there so that he can make
decisions quickly. Instead of searching for the relevant data in memory
during runtime, the knowledge is already there for the taking. Of course,
the knowledge within the identity container is based on the current
situation. When the robot has to make a decision, the knowledge will be
based on what that decision is about. For example, if the robot was in the
supermarket and he has to decide on groceries, the identity container might
contain likes and dislikes in terms of shopping. In the task container,
there might be intelligent pathways for decision making. In the rules
container, the rules of selection from the task of decision making might be
included.
There are two types of factors that change data in the
robot’s conscious: internal commands and external commands. For example,
the intelligent pathways selected by the robot’s brain can change the tasks
in the task container. The robot wanted to go to Mcdonalds to eat lunch,
but changes his mind when he saw the taco picture from Taco bell. The
intelligent pathway decided to eat at Taco bell instead of Mcdonalds. This
example is an internal command. The external command is based on people or
things from the environment. If the robot was playing baseball, the coach
will tell the robot what position it has to play. The coach will tell the
signal codes of the game and the batting lineup.
The robot will have to first identify a command from
the coach. The coach might give a 10 minute speech and commands might be
vague. The robot might have to use logic to id the commands. Once the
command is found, the robot will change all the data in the containers in
the conscious in terms of its task, rules to follow and knowledge
needed.
Using intelligent pathways to determine what knowledge
to learn
When the robot is in school, he has the task of
learning knowledge from teachers. He also has the task of following the
teacher’s every command. Unless that task is dangerous or unusual, the
robot might ask why.
In some cases, the robot has the power to control
wither to learn knowledge or not. If the robot doesn’t want to learn, he
can stop paying attention to the teacher or to pretend like he is paying
attention.
He can pay attention to the lesson or he can ignore the
lesson. The controlling of the degree of learning is done via intelligent
pathways from memory. If the robot knows that he is in trouble with his
grades, he can consciously decide to pay strong attention to knowledge from
the teacher. Paying more attention means learning more, which leads to a
better grade for the class.
The intelligent pathways in memory also determine fact
from fiction. If the robot was taught that the world is flat and one day he
read a magazine and the scientist says the Earth is actually round, will he
believe the magazine or what society think is true at that time?
Intelligent pathways of determining fact from fiction will be used and if
the robot determines that the magazine is true, then he will put a reminder
in the location of the false fact in memory and establish a pointer to the
true fact.
On the other hand, if the robot determines that the
scientist is lying and his facts are flawed, then he will ignore the
information in the magazine and only store a temporary encounter of the
magazine. The data from the magazine will be marked with a false fact and
will not change the true fact that is already stored in memory.
This intelligent pathway to determine fact from fiction
is based on teachers teaching the robot how to find out if the material read
is true or false. The teachers have to teach steps to identify, analyze and
determine if certain reading material is false or not. Teachers have to
train the robot to determine truth from different medias. The robot might
have to read a short essay and determine if the content is true or not. Or
the robot has to watch a movie and determine if the content is true or not.
Maybe there are some truths and some false information in the movie and the
robot has to id as much true and false scenes. In other cases, the robot
has to read an entire website and determine where the true and false
statements are.
Learning to activate element objects based on a given
situation (target object)
In the overall idea of the conscious described above,
the brain recognizes target objects from the environment and activates
element objects (conscious thoughts) from memory. There is a way to teach
the robot to activate specific element objects in its conscious based on a
target object/s.
A classroom is a perfect place to learn how to activate
element objects based on a target object/s. A teacher will teach the class
how to analyze a situation or object. After the situation is given the
teacher will ask the students to comment on the situation and to share
insights with other students.
The teacher and students will comment on the situation
and their comments can be facts, logical facts, common knowledge,
question-answers, point of views and so forth. Once the robot hears all the
comments from students and the teacher about the situation, he knows what
are important data. The situation is the target object and the comments and
facts are the element objects. In the future, when the robot encounters the
situation he will activate the comments from the students and teacher.
Grade school worksheets can be another method to learn
to activate element objects based on a given target object/s. In the
worksheet, there might be a picture and next to the picture is the
instruction: “write down important facts about the picture”. If the
picture is a man, then important facts can be: his name, telephone number,
occupation and age. If the picture is a snake, then important facts can
be: a reptile, poisonous, dangerous creature, has venom in teeth, don’t go
near it and so forth. The next time that the robot encounters a snake, the
facts from the worksheet activates. If the robot encounters a male, facts
about his name, telephone number, occupation and age activates.
In some instances, the worksheet can be associated with
recognizing a target object and activating element objects.
Learning to create a database system in memory
In current database systems there exist a frame for
each customer. In the frames are slots such as name, age, gender,
occupation and height. The human robot learns to create a database system
in memory. The frames and functions of the database system are learned. In
memory, data is stored in a hierarchical-associated manner. The intelligent
pathways provide the search function for the data base system.
What about the frames/slots and relational links to
other customers? How does the robot form these frame/slots? The answer is
right in front of your eyes. When the robot reads a form about someone, the
form lists important facts about the person. The form will list the name,
address, phone number, occupation and so forth about a person. The form is
optimal in that important facts, such as a person’s name are located at the
top and minor facts, such as their pet are located at the bottom. This
numbering list determines the priority of which facts are important and
which aren’t.
If the robot encounters many forms and these forms are
all similar to each other, whereby the name is at the top and minor facts
are at the bottom, then the robot can create a template form in memory.
Since a form is associated with a person and the robot encounters this
association numerous times, then a template form can be created for all
people the robot has met and will meet.
If the robot meets a girl, called Jessica, at a party
that he has never seen before, he will store the visual images of Jessica in
memory and create a template form for this person. When Jessica tells the
robot her name, the name will be stored in the template form at the name
slot. When Jessica tells the robot information about herself, the
information will be stored in their respective slots in the template form.
The template form is associated with Jessica at this
point. If the robot encounters Jessica in the future, this template form
will activate and further facts will be stored in this template form. Let’s
say that Jessica told the robot her occupation in the second meeting. The
fact “Jessica is a retailer” is identified by the robot; and the robot
logically assume her occupation is a retailer. The sentence “her occupation
is a retailer” will be stored in the template form under the occupation
slot. Why? Because the occupation in the template form has association
with the sentence. The sentence: “her name is Jessica” will be stored in
the name slot. The sentence: “her phone number is 555-5555” will be stored
in the phone number slot. It’s all about association. The different data
types are compatible because of this type of network. The sentences are
sound sentences and the template form is a visual diagram. These are two
different data types, but the sound occupation is associated with the visual
text occupation.
The search function for this database system is based
on patterns. The teachers teach the robot using supervised learning. Here
is the question and here is the answer. The robot, through
self-organization, will find the patterns between the question and the
answer. The pattern is the search function. If the question and the answer
example is very complex, the teacher can teach the robot steps of logic in
order to get from the question to the answer. The robot can then find out
the patterns by comparing similar examples (FIG. 4).
The question is the start and the answer is the end. It doesn’t have to
be a question-answer format, it can be a command-accomplish command format.
It can also be an input and desired output format.
FIG. 4
The steps are guides to make it easier for the robot to
find the answer and to ultimately discover the search pattern. The diagram
above shows that there are three steps that have to be done in order to find
the answer. During the self-organization phase, when the robot’s brain
compares similar examples, it will find patterns between each step.
The search pattern in intelligent pathways is a
combination of internal functions (searching in long term memory, searching
in memory, determining distance, etc) and intelligent pathways. In other
intelligent pathways, there might be search patterns already pre-existing
and that can be transported to the current search pattern. For example,
step1 might be an intelligent pathway that already exists in memory.
Instead of finding the pattern to step1 the robot’s brain can copy the
search pattern from the intelligent pathway found into step1.
<< content
next chapter >>