39 Intelligent Systems

Dr R. Baskaran

Intelligent Systems

 

Until the 1980s, databases were viewed as computer systems that stored record oriented and business type data such as manufacturing inventories, bank records, sales transactions, etc. A database system was not expected to merge numeric data with text, images, or multimedia information, nor was it expected to automatically notice patterns in the data it stored. In the late 1980s the concept of an intelligent database was put forward as a system that manages information (rather than data) in a way that appears natural to users and which goes beyond simple record keeping.

 

The term intelligent database was introduced in 1989 by the book “Intelligent Databases” by Kamran Parsaye, Mark Chignell,  Setrag Khoshafian and Harry Wong. This concept postulated three levels of intelligence for such systems: 1. high level tools, 2. the user interface and 3. the database engine. The high level tools manage data quality and automatically discover relevant patterns in the data with a process called data mining. This layer often relies on the use of artificial intelligence techniques. The user interface uses hypermedia in a form that uniformly manages text, images and numeric data. The intelligent database engine supports the other two layers, often merging relational database techniques with object orientation.

 

In the twenty-first century, intelligent databases have now become widespread, e.g. hospital databases can now call up patient histories consisting of charts, text and x-ray images just with a few mouse clicks, and many corporate databases include decision support tools based on sales pattern analysis, etc.

 

What are intelligent systems?

 

Intelligent systems are technologically advanced machines that perceive and respond to the world around them. Intelligent systems can take many forms, from automated vacuums such as the Roomba to facial recognition programs to Amazon’s personalized shopping suggestions.

 

One way that such systems can perceive their environment is through vision. The study of how computers can understand and interpret visual information from static images and video sequences emerged in the late 1950s and early 1960s. It has since grown into a powerful technology that is central to the country’s industrial, commercial, and government sectors. The key factors that have contributed to this growth are the exponential growth of processor speed and memory capacity as well as algorithmic advances.

 

The field of intelligent systems also focuses on how these systems interact with human users in changing and dynamic physical and social environments. Early robots possessed little autonomy in making decisions: they assumed a predictable world and perfumed the same action(s) repeatedly under the same conditions. Today, a robot is considered to be an autonomous system that can sense the environment and can act in a physical world in order to achieve some goals.

 

Challenges

 

Research in intelligent systems faces numerous challenges, many of which relate to representing a dynamic physical world computationally.

 

Uncertainty: Physical sensors/effectors provide limited, noisy and inaccurate information/action. Therefore, any actions the system takes may be incorrect both due to noise in the sensors and due to the limitations in executing those actions.

 

Dynamic world: The physical world changes continuously, requiring that decisions be made at fast time scales to accommodate for the changes in the environment.

 

Time-consuming computation: Searching for the optimal path to a goal requires extensive search through a very large state space, which is computationally expensive. The drawback of spending too much time on computation is that the world may change in the meantime, thus rendering the computed plan obsolete.

 

Mapping: A lot of information is lost in the transformation from the 3D world to the 2D world. Computer vision must deal with challenges including changes in perspective, lighting and scale; background clutter or motion; and grouping items with intra/inter-class variation.

 

Applications

 

Intelligent systems are poised to fill a growing number of roles in today’s society, including:

Factory automation

Field and service robotics Assistive robotics

Military applications Medical care

Education

Entertainment

Visual inspection

Character recognition

 

Human identification using various biometric modalities (e.g. face, fingerprint, iris, hand) Visual surveillance

Intelligent transportation

 

How Intelligent Databases Help the User Search

 

Many traditional databases provide the user little help with the mechanical operation of accessing the database, i.e., knowing which keys to press or which commands to enter. For example, the MSU library’s MAGIC system doesn’t even describe in its help function how to log off. Apparently it was designed only for users physically in the library, where logoff is not necessary. However, remote access is provided, so the help screen should mention important commands for the remote user to know.

 

Some traditional databases now provide interfaces that help the user with the mechanical operation of the database. The interfaces automate some procedures so that only one key press or button click is necessary to start it. The interfaces provide menus for further ease of use. This kind of interface is called an information gateway, in that it helps the user with the mechanical operation of the database.

      Mechanical operations:

 

 The mechanical, routine procedures necessary to start and quit the database.Information gateway: An interface that helps the user with the mechanical operation of the database.But the real difficulty in using a database is the actual search, called intellectual operations. Intelligent databases provide knowledge gateways, which help the user find intelligible information, that is, knowledge.

 

Intellectual operations: The actual searching of the database.

 

Knowledge gateway: An interface that helps the user with the actual searching of a database.

 

Knowledge Representation:

 

A computer can store, manipulate and retrieve information and knowledge. What is the difference between information and knowledge? Feigenbaum and McCorduck define knowledge as “information that is ‘pared, shaped, interpreted, selected, and transformed’ into a domain of expertise.”For a computer to store, manipulate and retrieve information and knowledge, it must store them in precise ways, such as rules, frames, semantic nets and heuristic decision trees.

 

Rules

 

Rules are used to represent strategies, recommendations, directives, and other models for problem-solving. They consist of two parts: an IF section that specifies a condition, and a THEN part that specifies action to take if the condition is met. Both parts of rules can contain objects, values and attributes.

For example, a rule for turning right at a red light might be: “If there is no traffic approaching from the driver’s left, then turn right.” Rules may be weighted with a confidence value, which indicates how close to being true the rule is.

 

Frames

 

Frames are used to represent related knowledge about a narrow subject, particularly subjects that cluster around objects, concepts or events. For example, nursing tends to cluster around diseases and patient care.

 

A frame is “…a data structure which contains data hooks or slots for all information associated with an object or event…Slots may include default values, pointers to other frames, sets of rules, or sets of procedures for attaining values.” A slot may contain categories such as Name, Definition, Examples, Specialization and Analogies.

   Semantic Nets

 

   Semantic nets were created as a model of associative memory in humans. Semantic nets (for networks) show relationships among things; these things may be objects, concepts or events. Things are represented in the net by a node, and the relationship between them is represented by a connecting line.

 

For example, one node in the net is MOON. Another node is MARS. They are connected by an arrow labeled “has.” Other arrows are labeled “contains,” “is a,” and “is contained in.” The relationship between the two nodes is “MARS has a MOON.”

 

Semantic nets are usually hierarchical, for without some organization, the net would become tangled and difficult to decipher. For this reason, an arrow is used to indicate the hierarchy of the relationship (that is, who is the parent and who is the child). Saying “The MOON has MARS” would not make sense.

 

Semantic nets are easily converted into decision trees, with the nodes representing goals and the links representing decisions that result from attaining one goal, and that lead to another goal.

 

Heuristic Decision Trees

 

Decision trees are used in artificial intelligence “to show all possible consequences which can result from an initial situation.” (McFarland and Parker, p. 67) If a problem is too complex, a decision tree would not be the appropriate representation, because the number of possible branches would become too numerous.

 

This example shows a decision tree for approving or not approving a loan. There are several possible decisions (approve, cosign, deny) to make if a loan applicant’s credit rating is greater than 5.00, and only one decision (deny) if the credit rating is less than 5.00.

 

INFERENCE

 

One of the capabilities of artificial intelligence is inference, in which the computer draws conclusions from the facts and rules represented in forms the computer can use. During the inference process, the computer may derive new facts or rules.

 

Inference:

 

The process of deriving new facts and rules from known information.

 

“Computer programs that perform inference are called inference engines. The inference engine uses the knowledge presented and information provided to draw conclusions and make recommendations about a problem presented to the computer system.” The inference engine must decide which rules (contained in the knowledge base) are germane and how to use them, and which order to apply the rules. It must also decide which information (contained in the information base) to use.

 

Inference engines can be used with any of the knowledge presentation methods described above.

 

With decision trees, the inference proceeds along the various linear pathways established by the system developer: information from the database will be matched against the branch points in the decision tree, and the system will progress accordingly. In an object-oriented knowledge base (i.e., a semantic net), the pre-established patterns of inheritance within classes of objects trigger certain actions or events to occur … Once invoked, these objects might then call specific functions or rules into action to reach a specific result or conclusion. In a production-rule system (i.e., a rule-based system), the database information will be sued to evaluate the rules themselves to see if they are either true or false. This process of testing, or “firing,” rules in an optimal sequence is aided by two major inferencing techniques … forward chaining and backward chaining.

 

Inheritance:

 

A node in a semantic net linked to another node with an “is a” link inherits all the properties of its parent. “MARS is a PLANET” means that Mars inherits the property of being a planet.

 

Forward Chaining

 

Forward chaining is an example of deductive reasoning, that is, building a conclusion from data. When the inferencing engine is using the forward chaining technique, it compares information in the database with the IF part of the first active rule in the knowledge base. If the information matches the rule, the THEN part of the rule “fires,” that is, it is added to the database about that particular problem, and the search narrows. Once a rule has been added to the database, it becomes inactive for that session. This procedure is followed until the inference engine has come to all possible conclusions.

 

An example of forward chaining is the computer game of ANIMAL, where the computer asks a player some questions, trying to discover which animal the player is thinking of. The inference engine asks the player a question: “Does the animal have fins?” If the player answers “no,” then the engine searches for the rule that applies to fins: “IF a creature has fins, THEN it is a fish.” Since the answer was “no,” the THEN part of the rule does not fire.

 

The inference engine asks another question: “Does the animal have wings?” To this question the player answers “yes.” When the engine finds the rule that applies to wings (“IF an animal has wings, THEN it is a bird.”), it discovers that the THEN part of the rule does apply, so it stores that rule in its database, and searches for questions pertaining to birds. It does not ask the questions about fins or wings again, since it already knows the answers; the rules applying to fins and wings become inactive so the engine won’t have to waste time searching through those rules again.

 

Eventually the inference engine either guesses the animal, or gives up and asks the player for the name of the animal. This data is then added to the database. In this way the knowledge base is built, and the next time the engine will be able to guess that particular animal.

      Backward Chaining

 

If there is a lot of data involved (i.e., a lot of questions to be asked), forward chaining should be used in order to narrow the field of questions. If there is not a lot of data, then one could start with the goal and use backward chaining. In backward chaining the THEN part of the rule–the goal–is the starting point, and the IF section–the data–the ending point.

 

Backward chaining is an example of inductive reasoning, starting with a conclusion and trying to figure out what its components are. Referring to the Animal game described above, backward chaining would take a known animal and try to figure out the rules to describe it.