The purpose of this post is to document my research in the comprehension of artificial intelligence and the simulation/creation of an artificial life form.
Artificial Intelligence – Research Question and Hypothesis
Topic: Artificial Intelligence
Narrowed Topic: Artificially intelligent algorithms and artificial life.
Issue: Advancing and improving artificial intelligence for the purpose of creating artificial life forms, and/or artificial life simulations.
Research Questions: Of the existing types of artificially intelligent algorithms, which has the greatest potential to improve and/or expand our current capabilities in the use of artificial life forms and/or artificial life simulations.
Hypothesis: It is possible to create an artificial life form; for, the advancement in the design, development and enhancement of existing artificially intelligent algorithms.
Branches of Artificial Intelligence
By defining the most commonly accepted branches of artificial intelligence; we can further evaluate the pros and cons of their use in existing information systems and applications. Some of the listed branches are considered concepts rather than actual branches of artificial intelligence. Regardless of whether a type of artificial intelligence is considered a branch or concept, research will be devoted on existing applications that are focused on these types. Initially, new methods in the use of artificial intelligence will not be tested. The initial goal is to simply establish the general consensus of professionals in the field of computer science as to what they believe is the most efficient use of artificial intelligence.
During my research process I initially believed that only a few artificial intelligent methods would suit this project. I quickly came to the conclusion that a combination of many branches of artificial intelligence may deliver the best results.
Branches of Artificial Intelligence
- Neural Networks
- Common Sense Knowledge and Reasoning (Expert Systems)
- Genetic Algorithms
- Learning Systems (Machine Learning)
- Pattern Recognition (Vision Systems)
- Natural Language Processing
- Self-Aware Systems
- Knowledge Representation
- Logical AI
- Multi-Agent Systems (Distributed AI)
- Emotions or Feelings???
A neural network simulates the human brain and nervous system. The network consists many units split into 3 different types, (1) input, (2) output and (3) hidden (used for processing conditions).
Quite obviously, all life forms need a system for sensing, processing and responding to conditions within an environment.
Common Sense Knowledge and Reasoning (Expert Systems)
Common sense knowledge and reasoning is the oldest and most commonly used form of artificial intelligence. Research initiated in the 1950’s. A rule consists of two parts: condition (antecedent) part and conclusion (action, consequent) part, i.e.:
IF (conditions) THEN (actions).
Present day applications of expert systems include medical diagnosis, air traffic controllers, speech interpretation, monitoring of nuclear plants, and more. The downside to an expert system is that has a narrow focus and needs instructions.
Cycorp initially developed what is known as the Cyc System in 1984. http://www.cyc.com
It is evident that an expert system would have great use in the creation of an artificial life form or artificial life form simulation. If we think in terms of environmental factors, there are many factors in our environment that are based on a set number of factors. For example, water evaporates dependent of a specific condition. Rain, is also produced dependent of specific conditions. Within an artificial life form simulation, these conditions could be emulated to create a stable environment.
In the creation of an actual artificial life form, an expert system may be utilized to define a creatures characteristics as a direct result of it’s DNA. The logic behind the DNA would change with each generation, but the current strand of DNA would be set to a specific set of mapped out charateristics.
The DNA logic could also be mapped out to define the probability of how a creature would react to a specific environmental condition. If we use a neural network as a method for an artificial life form to recieve input, an expert system as mapped from the DNA would offer a random yet approximate result.
In terms of human logic, if our environment is stressful, we have choices as to how we respond. Our DNA is at least partially responsible for the decision we make in response to our environment.
If the purpose of the artificial life form is survival and the survival of its species, the DNA may also store input of successful behaviors/characteristics, with a result of those characteristics becoming predominate after multiple generations.
Genetic programming is a technique for getting programs to solve a task by mating random Lisp programs and selecting fittest in millions of generations. It is being developed by John Koza of Stanford University. http://www.genetic-programming.com
Genetic programming clearly surpasses all other methods of developing an algorithm that mimics evolution. The downside to the genetic algorithm is that it needs an unbelievable amount of processing power needed to properly utilize its full capabilities. In the development of an artificial life form, or artificial life form simulation, one must consider the advances in this field.
Robotics is not necessarily a branch of AI; but rather, robotics is a mechanical technology that uses many separate types of AI methodologies. For example, a software program that controls cameras may use pattern recognition to identify objects; a unmanned vehicle may use machine learning to maneuver; or a robot may use a neural network to process any number of variables to reach a pre-determined goal.
In terms of the creation of an artificial life form, it is possible that a robot, such as one that is similar to the Mars Rover Curiosity, could be programmed so that its goals are to preserve itself using multiple types of artificially intelligent algorithms.
Pattern Recognition (Vision Systems)
Although pattern recognition is primarily focused on the use of vision systems, it also has great use in other applications. For example, patterns in behavior, patterns in a history of events, etc.
In the creation of artificial life, pattern recognition could be utilized to both identify unknown objects and attach patterns of behavior of these objects in comparison to similar, known objects.
Natural Language Processing
What are the goals of the field of Natural language Processing?
- Computers would be a lot more useful if they could handle our email, do our library research, talk to us…
- Computers are unable to read natural human languages.
- How can we tell computers about human language?
- Can we help them to learn in the same way a child learns about our language?
Natural language processing has no use in the realm of artificial life; although, the successful methods by which natural language processing is used may offer some insight into furthering learned communications among a species or through multiple species.
Stanford Engineering Everywhere – Artificial Intelligence (Natural Langauge Processing)
Artificially intelligent search algorithms that examine large numbers of possibilities, e.g. moves in a chess game or inferences by a theorem proving program.
Two common methods of search (not necessarily AI related) are a linear search and binary search. A linear search exams each item from an existing pool of data to find a match. It examines each item, 1 by 1. A binary search sorts an existing pool of data into 3 separate elements (low, middle, high). Assuming the data is sorted in ascending order, and if a match is not found within the middle element, the search will continue to the appropriate element.
Linear and Binary Examples:
Linear search is looking for a match to the number 8 from a pool of integers from 1 – 9.
Linear search sorts all integers one by one:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Linear search then checks for a match on each integer until it finds a match:
Does 1 = 8
If no go to next
Does 2 = 8
If no go to next
Binary search is looking for a match to the number 8 from a pool of integers from 1 – 9.
Binary searches the middle integer for a match from the existing pool of data:
Does 5 = 8?
Answer: No, 8 is greater than 5.
Binary search then removes the number 1-5 from the search and then searches for a match from the remaining numbers (6-9)
Does 7 = 8.
This continues until a match is made.
A consideration must be given into the amount of effort used by an algorithm to perform a search. Big O Notation indicates the worst-case run-time for an algorithm. Worse case run-time is how hard an algorithm might have to work to solve a problem. For searching and sorting algorithms, obviously, the amount of data that is being processed affects the worst case run-time. (Chapter 19, Java How To Program Late Objects Version, Deitel, 2010)
Google developed PageRank as a method of rating the level of importance a web page or website has to a keyword or phrase. http://ilpubs.stanford.edu:8090/422/1/1999-66.pdf
How is an artificial life form to search for energy or food? It must have some process to increase its chances for survival. Whether an artificial life form or artificial life form simulation, The importance and intensity of a search would increase dependent on its need to survive. The method by which a life form decides on how it is to survive could be directly dependent on searching data from previous experiences and/or DNA.
“Self-aware computer systems will be capable of adapting their behavior and resources thousands of times a second to automatically find the best way to accomplish a given goal despite changing environmental conditions and demands.” (MIT, http://hdl.handle.net/1721.1/62151 )
My thoughts on the creation of a self-aware system is to shift the focus from the system being self-aware to the environment in which a system or process resides in. In terms of human psychology, we are adept to any environment we are in, relating our current environment to data representation of our previous experiences that are similar. Our process is focused on a binary search that seeks out the most relevant data. We then act in response to our environment in an effort to control our environment to achieve results to meet our specific needs. For a self-aware system to be completely self-aware, it must not be self-aware; but rather, a self-aware system is aware of its environment and therefore its processes are a factor in that environment. A self-aware system does not heal itself, it heals its environment.
Facts about the world are used in some way, often represented by strings or mathematics. Theorem proving is a concept of reasoning against known facts. For example:
Fred is an albino python.
Albino Pythons are white snakes.
Albino Pythons with names are pets.
From the above representation of knowledge, Fred is a white snake and a pet.
From the aspect of an artificial life form simulation, knowledge representation combined with theorem proving on a scale from limited to advanced intelligence. As a species evolves, it may or may not advance its knowledge representation and ability to reason. From the standpoint of the creation of an artificial life form, knowledge representation and reasoning would represent the base for all DNA.
“Logical AI involves representing knowledge of an agent’s world, its goals and the current situation by sentences in logic. The agent decides what to do by inferring that a certain action or course of action was appropriate to achieve the goals. The inference may be monotonic, but the nature of the world and what can be known about it often requires that the reasoning be nonmonotonic.
Logical AI has both epistemological problems and heuristic problems. The former concern the knowledge needed by an intelligent agent and how it is represented. The latter concerns how the knowledge is to be used to decide questions, to solve problems and to achieve goals. These are discussed in [MH69]. Neither the epistemological problems nor the heuristic problems of logical AI have been solved. The epistemological problems are more fundamental, because the form of their solution determines what the heuristic problems will eventually be like.”
– John McCarthy, Stanford University
“From some facts, others can be inferred. Mathematical logical deduction is adequate for some purposes, but new methods of non-monotonic inference have been added to logic since the 1970s. The simplest kind of non-monotonic reasoning is default reasoning in which a conclusion is to be inferred by default, but the conclusion can be withdrawn if there is evidence to the contrary. For example, when we hear of a bird, we man infer that it can fly, but this conclusion can be reversed when we hear that it is a penguin. It is the possibility that a conclusion may have to be withdrawn that constitutes the non-monotonic character of the reasoning. Ordinary logical reasoning is monotonic in that the set of conclusions that can the drawn from a set of premises is a monotonic increasing function of the premises. Circumscription is another form of non-monotonic reasoning.”
John McCarthy, Stanford University
” Planning programs start with general facts about the world (especially facts about the effects of actions), facts about the particular situation and a statement of a goal. From these, they generate a strategy for achieving the goal. In the most common cases, the strategy is just a sequence of actions. ”
– John McCarthy, Stanford University
What is knowledge? Epistomology is the study of the different types of knowledge that are required to solve problems of the world.
Ontology is the representation of things that exist as objects within a domain, and the relationships between those objects.
Heuristic is a technique that can discovers the most probable solution given a number of conditions, or a pre-determined solution set. Discovery of a solution does not need to be in direct alignment to a pre-determined solution set, a solution only needs to intersect with the solution set while showing high probability that a match exists.
Multi-Agent Systems (Distributed AI)
A system within multiple intelligent agents that may or may not communicate with each other to solve a common problem(s). Agents are at least partially autonomous of one another. An agent recieves sensory input from it’s environment, and then produces an output as an effort to change its enviroment.