|
Login
|
Ä¿¹Â´ÏƼ °Ô½ÃÆÇ
|
A.I
Section
|
GGOP
|
GGM
|
GIP
|
|
Artificial Intelligence
Artificial intelligence (AI) is the mimicking of human thought and cognitive
processes to solve complex problems automatically. AI uses techniques
for writing computer code to represent and manipulate knowledge. Different
techniques mimic the different ways that people think and reason (see
case-based reasoning and model-based reasoning for example). AI applications
can be either stand-alone software, such as decision support software,
or embedded in robots. SHAI specialize in the software variety.
AI has been around for about 50 years and while early optimism about matching
human reasoning capabilities quickly has not been realized yet, there
is a significant and growing set of valuable applications. AI hasn't yet
mimicked much of the common-sense reasoning of a five-year old child.
Nevertheless, it can successfully mimic many expert tasks performed by
trained adults, and there is probably more artificial intelligence being
used in practice in one form or another than most people realize.
Really intelligent applications will only be achievable with artificial
intelligence and it is the mark of a successful designer of AI software
to deliver functionality that can't be delivered without using AI.
Action-based Planning
The goal of action-based planning is to determine how to decompose a high
level action into a network of subactions that perform the requisite task.
Therefore the major task within such a planning system is to manage the
constraints that apply to the interrelationships (e.g., ordering constraints)
between actions. In fact, action-based planning is best viewed as a constraint
satisfaction problem.
The search for a plan cycles through the following steps: choose a constraint
and apply the constraint check; if the constraint is not satisfied, choose
a bug from the set of constraint bugs; choose and apply a fix, yielding
a new plan and possibly a new set of constraints to check.
In contrast, state-based planners generally conduct their search for a
plan by reasoning about how the actions within a plan affect the state
of the world and how the state of the world affects the applicability
of actions.
Adaptive Interface
A computer interface that automatically and dynamically adapts to the
needs and competence of each individual user of the software.
Adaptive Training Systems¢â
SHAI's intelligent tutoring systems. Intelligent tutoring systems (ITS)
are also called intelligent computer-assisted instruction (ICAI), and
cognitive tutoring systems.
Agents
Agents are software programs that are capable of autonomous, flexible,
purposeful and reasoning action in pursuit of one or more goals. They
are designed to take timely action in response to external stimuli from
their environment on behalf of a human. When multiple agents are being
used together in a system, individual agents are expected to interact
together as appropriate to achieve the goals of the overall system. Also
called autonomous agents, assistants, brokers, bots, droids, intelligent
agents, software agents.
Agent Architecture
There are two levels of agent architecture, when a number of agents are
to work together for a common goal. There is the architecture of the system
of agents, that will determine how they work together, and which does
not need to be concerned with how individual agents fulfil their sub-missions;
and the architecture of each individual agent, which does determine its
inner workings.
The architecture of one software agent will permit interactions among
most of the following components (depending on the agent's goals): perceptors,
effectors, communication channels, a state model, a model-based reasoner,
a planner/scheduler, a reactive execution monitor, its reflexes (which
enable the agent to react immediately to changes in its environment that
it can't wait on the planner to deal with), and its goals. The perceptors,
effectors, and communication channels will also enable interaction with
the agent's outside world.
AI Effect
The great practical benefits of AI applications and even the existence
of AI in many software products go largely unnoticed by many despite the
already widespread use of AI techniques in software. This is the AI effect.
Many marketing people don't use the term "artificial intelligence"
even when their company's products rely on some AI techniques. Why not?
It may be because AI was oversold in the first giddy days of practical
rule-based expert systems in the 1980s, with the peak perhaps marked by
the Business Week cover of July 9, 1984 announcing, Artificial Intelligence,
IT'S HERE.
James Hogan in his book, Mind Matters, has his own explanation of the
AI Effect:
"AI researchers talk about a peculiar phenomenon known as the "AI
effect." At the outset of a project, the goal is to entice a performance
from machines in some designated area that everyone agrees would require
"intelligence" if done by a human. If the project fails, it
becomes a target of derision to be pointed at by the skeptics as an example
of the absurdity of the idea that AI could be possible. If it succeeds,
with the process demystified and its inner workings laid bare as lines
of prosaic computer code, the subject is dismissed as "not really
all that intelligent after all." Perhaps ... the real threat that
we resist is the further demystification of ourselves...It seems to happen
repeatedly that a line of AI work ... finds itself being diverted in such
a direction that ... the measures that were supposed to mark its attainment
are demonstrated brilliantly. Then, the resulting new knowledge typically
stimulates demands for application of it and a burgeoning industry, market,
and additional facet to our way of life comes into being, which within
a decade we take for granted; but by then, of course, it isn't AI."
AI Languages and Tools
AI software has different requirements from other, conventional software.
Therefore, specific languages for AI software have been developed. These
include LISP, Prolog, and Smalltalk. While these languages often reduce
the time to develop an artificial intelligence application, they can lengthen
the time to execute the application. Therefore, much AI software is now
written in languages such as C++ and Java, which typically increases development
time, but shortens execution time. Also, to reduce the cost of AI software,
a range of commercial software development tools have also been developed.
SHAI has developed its own proprietary tools for some of the specialized
applications it is experienced in creating.
Algorithm
An algorithm is a set of instructions that explain how to solve a problem.
It is usually first stated in English and arithmetic, and from this, a
programmer can translate it into executable code (that is, code to be
run on a computer).
Applications of Artificial Intelligence
The actual and potential applications are virtually endless. Reviewing
SHAI's work will give you some idea of the range. In general, AI applications
are used to increase the productivity of knowledge workers by intelligently
automating their tasks; or to make technical products of all kinds easier
to use for both workers and consumers by intelligent automation of different
aspects of the functionality of complex products.
Associative Memories
Associative memories work by recalling information in response to an information
cue. Associative memories can be autoassociative or heteroassociative.
Autoassociative memories recall the same information that is used as a
cue, which can be useful to complete a partial pattern. Heteroassociative
memories are useful as a memory.
Human long-term memory is thought to be associative because of the way
in which one thought retrieved from it leads to another. When we want
to store a new item of information in our long term memory it typically
takes us 8 seconds to store an item that can't be associated with a pre-stored
item, but only one or two seconds, if there is an existed information
structure with which to associate the new item.
Automated Diagnosis Systems
Most diagnosis work is done by expert humans such as mechanics, engineers,
doctors, firemen, customer service agents, and analysts of various kinds.
All of us usually do at least a little diagnosis even if it isn't a major
part of our working lives. We use a range of techniques for our diagnoses.
Primarily, we compare a current situation with past ones, and reapply,
perhaps with small modifications, the best past solutions. If this doesn't
work, we may run small mental simulations of possible solutions through
our minds, based on first principles. We may do more complex simulations
using first principles on paper or computers looking for solutions. Some
problems are also amenable to quantitative solutions. We may hand off
the problem to greater experts than ourselves, who use the same methods.
The problem with humans doing diagnosis is that it often takes a long
time and a lot of mistakes to learn to become an expert. Many situations
just don't reoccur frequently, and we may have to encounter each situation
several time to become familiar with it. Automatic diagnosis systems can
help avoid these problems, while helping humans to become experts faster.
They work best in combination with a few human experts, as there are some
diagnosis problems that humans are better at solving, and also because
humans are more creative and adaptive than computers in coming up with
new solutions to new problems.
Autonomous Agents
A piece of AI software that automatically performs a task on a human's
behalf, or even on the behalf of another piece of AI software, so together
they accomplish a useful task for a person somewhere. They are capable
of independent action in dynamic, unpredictable environments. "Autonomous
agent" is a trendy term that is sometimes reserved for AI software
used in conjunction with the Internet (for example, AI software that acts
as your assistance in intelligently managing your e-mail).
Autonomous agents present the best hope from gaining additional utility
from computing facilities. Over the past few years the term "agent"
has been used very loosely. Our definition of a software agent is: "an
intelligent software application with the authorization and capability
to sense its environment and work in a goal directed manner." Generally,
the term "agent" implies "intelligence", meaning the
level of complexity of the tasks involved approaches that which would
previously have required human intervention.
Bayesian Networks
A modeling technique that provides a mathematically sound formalism for
representing and reasoning about uncertainty, imprecision, or unpredictability
in our knowledge. For example, seeing that the front lawn is wet, one
might wish to determine whether it rained during the previous night. Inference
algorithms can use the structure of the Bayesian network to calculate
conditional probabilities based on whatever data has been observed (e.g.,
the street does not appear wet, so it is 90% likely that the wetness is
due to the sprinklers). Bayesian networks offer or enable a set of benefits
not provided by any other system for dealing with uncertainty - an easy
to understand graphical representation, a strong mathematical foundation,
and effective automated tuning mechanisms. These techniques have proved
useful in a wide variety of tasks including medical diagnosis, natural
language understanding, plan recognition, and intrusion detection. Also
called belief networks, Bayes networks, or causal probabalistic networks.
Case-based Reasoning
Case-based reasoning (CBR) solves a current problem by retrieving the
solution to previous similar problems and altering those solutions to
meet the current needs. It is based upon previous experiences and patterns
of previous experiences. Humans with years of experience in a particular
job and activity (e.g., a skilled paramedic arriving on an accident scene
can often automatically know the best procedure to deal with a patient)
use this technique to solve many of their problems. One advantage of CBR
is that inexperienced people can draw on the knowledge of experienced
colleagues, including ones who aren't in the organization, to solve their
problems. Synonym: Reasoning by analogy.
Classification
Automated classification tools such as decision trees have been shown
to be
very effective for distinguishing and characterizing very large volumes
of
data. They assign items to one of a set of predefined classes of objects
based on a set of observed features. For example, one might determine
whether a particular mushroom is "poisonous" or "edible"
based on its color, size, and gill size. Classifiers can be learned automatically
from a set of examples through supervised learning. Classification rules
are rules that discriminate between different
partitions of a database based on various attributes within the database.
The partitions of the database are based on an attribute called the
classification label (e.g., "faulty" and "good").
Clustering
Clustering is an approach to learning that seeks to place objects into
meaningful groups automatically based on their similarity. Clustering,
unlike classification, does not require the groups to be predefined with
the hope that the algorithm will determine useful but hidden groupings
of data points. The hope in applying clustering algorithms is that they
will discover useful but unknown classes of items. A well-publicized success
of a clustering system was NASA's discovery of a new class of stellar
spectra. See IQE, GIIF, WebMediator, Rome Graphics, and data mining for
examples of applications that use clustering.
Cognitive Science
Artificial intelligence can be defined as the mimicking of human thought
to perform useful tasks, such as solving complex problems. This creation
of new paradigms, algorithms, and techniques requires continued involvement
in the human mind, the inspiration of AI. To that end, AI software designers
team with cognitive psychologists and use cognitive science concepts,
especially in knowledge elicitation and system design.
Cognitive Task Analysis
Cognitive task analysis (CTA) is a systematic process by which the cognitive
elements of task performance are identified. This includes both domain
knowledge and cognitive processing. Thus, CTA focuses on mental activities
that cannot be observed and is in contrast to behavioral task analysis
that breaks the task down into observable, procedural steps. CTA is most
useful for highly complex tasks with few observable behaviors. Examples
of cognitive processing elements include: to decide, judge, notice, assess,
recognize, interpret, prioritize, and anticipate. Examples of domain knowledge
elements include concepts, principles, and interrelationships; goals and
goal structures; rules, strategies and plans; implicit knowledge; and
mental models.
The results from CTA have various applications. Examples are:
Identification of content for training programs for complex cognitive
tasks
Research on expert-novice differences, in terms of domain knowledge and
cognitive processing during task performance
Modeling of expert performance for use with expert system design
Design of man-machine interfaces
Collaborative Filtering
A technique for leveraging historical data about preferences of a body
of users to help make recommendations or filter information for a particular
user. Intuitively, the goal of these techniques is to develop an understanding
of what may be interesting to a user by uncovering what is interesting
to people who are similar to that user. See GIIF and IQE for examples
of applications that use collaborative filtering techniques.
Commonsense Reasoning
Ordinary people manage to accomplish an extraordinary number of complex
tasks just using simple, informal thought processes based on a large amount
of common knowledge. They can quickly plan and undertake a shopping expedition
to six or seven different shops, as well as pick up the kids from soccer
and drop a book back at the library, quite efficiently without logically
considering the hundreds of thousands of alternative ways to plan such
an outing. They can manage their personal finances, or find their way
across a crowded room dancing without hitting anyone, just using commonsense
reasoning. Artificial intelligence is far behind humans in using such
reasoning except for limited jobs, and tasks that rely heavily on commonsense
reasoning are usually poor candidates for AI applications.
Computer Vision
Machine Vision
Making sense of what we see is usually easy for humans, but very hard
for computers. Practical vision systems to date are limited to working
in tightly controlled environments. Synonym: machine vision
Constraint Satisfaction
Constraints are events, conditions or rules that limit our alternatives
for completing a task. For example, the foundation of a building has to
be laid before the framing is done; a car has to be refueled once every
four hundred miles, a neurosurgeon is needed to perform brain surgery,
or a Walkman can only operate on a 9-volt battery.
Satisfying constraints is particularly important in scheduling complex
activities. By first considering applicable constraints, the number of
possible schedules to be considered in a search for an acceptable schedule
can be reduced enormously, making the search process much more efficient.
Constraint satisfaction techniques can be used to solve scheduling problems
directly. Constraint satisfaction algorithms include heuristic constraint-
based search and annealing.
Data Fusion
Information processing that deals with the association, correlation, and
combination of data and information from single and multiple sources to
achieve a more complete and more accurate assessment of a situation. The
process is characterized by continuous refinement of its estimates and
assessments, and by evaluation of the need for additional sources, or
modification of the process itself, to achieve improved results.
Data Mining
The non-trivial process of uncovering interesting and useful relationships
and patterns in very large databases to guide better business and technical
decisions. Data mining is becoming increasingly important due to the fact
that all types of commercial and government institutions are now logging
huge volumes of data and now require the means to optimize the use of
these vast resources. The size of the databases to which data mining techniques
are applied is what distinguishes them from more traditional statistical
and machine learning approaches, which can be computationally costly.
Data mining forms part of the overall process of 'Knowledge Discovery
in Databases.' Data mining is preceded by the preliminary stages of preparing
and cleaning up the data, and followed by the subsequent incorporation
of other relevant knowledge, and the final interpretation. See all the
data mining projects for examples of use of data mining techniques.
Decision Aids
Software that helps humans make decisions, particularly about complex
matters when a high degree of expertise is needed to make a good decision.
Decision-centered Design
Decision Support
Decision support is a broad class of applications for artificial intelligence
software. There are many situations when humans would prefer machines,
particularly computers, to either automatically assist them in making
decisions, or actually make and act on a decision. There are a wide range
of non-AI decision support systems such as most of the process control
systems successfully running chemical plants and power plants and the
like under steady state conditions. However, whenever situations become
more complex?for example, in chemical plants that don't run under steady
state, or in businesses when both humans and equipment are interacting?intelligent
decision support is required. That can only be provided by automatic decision
support software using artificial intelligence techniques. SHAI has created
a wide range of decision support applications that provide examples of
such situations. Synonym: intelligent decision support.
Decision Theory
Decision theory provides a basis for making choices in the face of uncertainty,
based on the assignment of probabilities and payoffs to all possible outcomes
of each decision. The space of possible actions and states of the world
is represented by a decision tree.
Decision Trees
A decision tree is a graphical representation of a hierarchical set of
rules that describe how one might evaluate or classify an object of interest
based on the answers to a series of questions. For instance, a decision
tree can codify the sequence of tests a doctor might take in diagnosing
a patient. Such a decision tree will order the tests based on their importance
to the diagnostic task. The result of each successive test dictates the
path you take through the tree and therefore the tests (and their order)
that will be suggested. When you finally reach a node in which there is
no further tests are suggested, the patient has been fully diagnosed.
Decision trees have the advantage of being easy to understand because
of their hierarchical rule structure, and explanations for their diagnoses
can be readily and automatically generated.
Decision trees can be automatically developed from a set of examples and
are capable of discovering powerful predictive rules even when very large
numbers of variables are involved. These algorithms operate by selecting
the test that best discriminates amongst classes/diagnoses and then repeating
this test selection process on each of the subsets matching the different
test outcomes (e.g., "patients with temperatures greater than 101¨¬F"
and "patients with temperatures less than or equal to 101¨¬F").
This process continues until all the examples in a particular set have
the same class/diagnosis.
Dependency Maintenance
Dependency maintenance is the technique of recording why certain beliefs
are held, decisions were made, or actions were taken, in order to facilitate
revising those decisions, actions, or beliefs in the face of changing
circumstances. Several families of truth maintenance systems have been
developed to facilitate dependency maintenance in particular kinds of
situations (e.g. need to consider many alternate scenarios versus a single
scenario, frequency with which assumptions change, etc).
Document Clustering
With document clustering techniques, documents can be automatically grouped
into meaningful classes so that users of a database of full-text documents
can easily search through related documents.Finding individual documents
from amongst large on-line, full-text collections has been a growing problem
in recent years due to the falling price of computer storage capacity
and the networking of document databases to large numbers of people. Traditional
library indexing has not provided adequate information retrieval from
these large sources. The techniques for document clustering generally
involve some natural language processing along with a collection of statistical
measures.
Domain
An overworked word for AI people. "Domain" can mean a variety
of things including a field of knowledge, an industry, a specific job,
an area of activity, a sphere of influence, or a range of interest, e.g.,
chemistry, medical diagnosis, putting out fires, operating a nuclear power
plant, planning a wedding, diagnosing faults in a car. Generally, a domain
is a system in which a particular set of rules, facts, or assumptions
operates. Humans can usually easily figure out what's meant from the context
in which "domain" is used; computers could probably not figure
out what a human means when he or she says "domain."
Domain Expert
The person who knows how to perform an activity within the domain, and
whose knowledge is to be the subject of an expert system. This person's
or persons' knowledge and method of work are observed, recorded, and entered
into a knowledge base for use by an expert system. The domain expert's
knowledge may be supplemented by written knowledge contained in operating
manuals, standards, specifications, computer programs, etc., that are
used by the experts. Synonym: subject-matter expert.
Emergence
Emergence is the phenomenon of complex patterns of behavior arising out
of the myriad interactions of simple agents, which may each operate according
to a few simple rules. To put it another way, an emergent system is much
more than simply the sum of its parts. It can happen without any grand
master outside the system telling the individual agents how to behave.
For example, all the people in a modern city acting in their individual
capacities as growers, processors, distributors, sellers, buyers, and
consumers of food collectively create a food market matching supply and
demand of thousands of different items, without an overall plan. An ant
colony provides another example of simple agents, each operating according
to a few simple rules, producing a larger system that finds food, provides
shelter and protection for its members. Artificial intelligence software
running on powerful computers can demonstrate useful emergent behavior
as well, such as that demonstrated in automatic scheduling software that
creates near-optimal schedules for complex activities subject to many
constraints.
Expert System
An expert system encapsulates the specialist knowledge gained from a human
expert (such as a bond trader or a loan underwriter) and applies that
knowledge automatically to make decisions. For example, the knowledge
of doctors about how to diagnose a disease can be encapsulated in software.
The process of acquiring the knowledge from the experts and their documentation
and successfully incorporating it in the software is called knowledge
engineering, and requires considerable skill to perform successfully.
Applications include customer service and helpdesk support, computer or
network troubleshooting, regulatory tracking, autocorrect features in
word processors, document generation such as tax forms, and scheduling.
Fuzzy Logic
Traditional Western logic systems assume that things are either in one
category or another. Yet in everyday life, we know this is often not precisely
so. People aren't just short or tall, they can be fairly short or fairly
tall, and besides we differ in our opinions of what height actually corresponds
to tall, anyway.. The ingredients of a cake aren't just not mixed or mixed,
they can be moderately well mixed. Fuzzy logic provides a way of taking
our commonsense knowledge that most things are a matter of degree into
account when a computer is automatically making a decision. For example,
one rice cooker uses fuzzy logic to cook rice perfectly even if the cook
put in too little water or too much water.
Game Theory
Game theory is a branch of mathematics that seeks to model decision making
in conflict situations.
Genetic Algorithms
Search algorithms used in machine learning which involve iteratively generating
new candidate solutions by combining two high scoring earlier (or parent)
solutions in a search for a better solution. So named because of its reliance
on ideas drawn from biological evolution.
Granularity
Refers to the basic size of units that can be manipulated. Often refers
to the level of detail or abstraction at which a particular problem is
analyzed. One characteristic of human intelligence, Jerry R. Hobbs has
pointed out, is the ability to conceptualize a world at different levels
of granularity (complexity) and to move among them in considering problems
and situations. The simpler the problem, the coarser the grain can be
and still provide effective solutions to the problem.
Heterogeneous Databases
Databases that contain different kinds of data, e.g, text and numerical
data.
Heuristic
An heuristic is commonly called a rule of thumb. That is, an heuristic
is a method for solving a problem that doesn't guarantee a good solution
all the time, but usually does. The term is attributed to the mathematician,
George Polya. An example of an heuristic would be to search for a lost
object by starting in the last place you can remember using it.
Human-Centered Computing
Computers and other machines should be designed to effectively serve people's
needs and requirements. All too often they're not. Commonly cited examples
of this are the difficulty people have in setting up their VCR to record
a TV show; and the difficulties people have in setting up a home computer
facility, or hooking up to the Internet. Artificial intelligence software
can be used to deliver more human-centered computing, improving system
usability, extending the powerfulness of human reasoning and enabling
greater collaboration amongst humans and machines, and promoting human
learning. A goal of human-centered computing is for cooperating humans
and machines to compensate for each other's respective weaknesses (e.g.,
machines to compensate for limited human short-term memory and the slowness
with which humans can search through many alternative possible solutions
to a problems; and for humans to compensate machines for their more limited
pattern-recognition capability, language processing, and creativity) in
support of human goals.
Human Computer Interaction (HCI)
subfield within computer science concerned with the design, evaluation,
and implementation of interactive computing systems for human use and
with the study of major phenomena surrounding them
Hybrid Systems
Many of SHAI's artificial intelligence software applications use multiple
AI techniques in combination. For example, case-based reasoning may be
used in combination with model-based reasoning in an automatic diagnostic
system. Case-based reasoning, which tends to be less expensive to develop
and faster to run, may draw on an historical databases of past equipment
failures, the diagnosis of those, and the repairs effected and the outcomes
achieved. So CBR may be used to make most failure diagnoses. Model-based
reasoning may be used to diagnose less common but expensive failures,
and also to make fine adjustments to the repair procedures retrieved from
similar cases in the case base by CBR.
Inference Engine
The part of an expert system responsible for drawing new conclusions from
the current data and rules. The inference engine is a portion of the reusable
part of an expert system (along with the user interface, a knowledge base
editor, and an explanation system), that will work with different sets
of case-specific data and knowledge bases.
Information Filtering
An information filtering system sorts through large volumes of dynamically
generated information to present to the user those nuggets of information
which are likely to satisfy his or her immediate needs. Information filtering
overlaps the older field of information retrieval, which also deals with
the selection of information. Many of the features of information retrieval
system design (e.g. representation, similarity measures or boolean selection,
document space visualization) are present in information filtering systems
as well. Information filtering is roughly information retrieval from a
rapidly changing information space.
Intelligent Entities
Intelligent Tutoring Systems
Intelligent tutoring systems (such as SHAI's Adaptive Training Systems¢â)
are teaching software. They provide high quality, active learning that
approaches the experience a student would receive working one-on-one with
an expert instructor, who uses sound teaching strategies and is working
with all necessary training resources. Intelligent tutoring systems enable
simulations and other highly interactive learning exercises, which are
excellent teaching aids, to be used without a human instructor being present.
An intelligent tutoring system may be used in a classroom or for distance
learning, delivered via a CD-ROM or via the Internet. Intelligent tutoring
systems treat each student as an individual and can make "how to
teach" decisions while teaching is in progress. This distinguishes
them from even the best conventional computer-based training software,
which is programmed only to anticipate likely responses from typical students.
Most computer-based training software today doesn't even do this and delivers
only sequential content with little or no interaction with the student?so-called
"page-turner" software. In the case of corporate training, if
improved job performance of students is of financial significance, then
the additional cost of intelligent tutoring systems is likely to be a
worthwhile investment.
KAPPA
Rule-based object-oriented expert system tool and application developer
(IntelliCorp Inc.). KAPPA is written in C, and is available for PCs. See
AI Languages and Tools.
Knowledge-based Planning
Knowledge-based Representations
The form or structure of databases and knowledge bases for expert and
other intelligent systems, so that the information and solutions provided
by a system are both accurate and complete. Usually involves a logically-based
language capable of both syntactic and semantic representation of time,
events, actions, processes, and entities. Knowledge representation languages
include Lisp, Prolog, Smalltalk, OPS-5, and KL-ONE. Structures include
rules, scripts, frames, endorsements, and semantic networks.
Knowledge-based Systems
Usually a synonym for expert system, though some think of expert systems
as knowledge-based systems that are designed to work on practical, real-world
problems.
Knowledge Elicitation
Synonym: knowledge acquisition.
Knowledge Engineering
Knowledge engineering is the process of collecting knowledge from human
experts in a form suitable for designing and implementing an expert system.
The person conducting knowledge engineering is called a knowledge engineer.
Knowledge Fusion
See Data Fusion.
Knowledge Representation
Knowledge representation is one of the two basic techniques of artificial
intelligence, the other is the capability to search for end points from
a starting point. The way in which knowledge is represented has a powerful
effect on the prospects for a computer or person to draw conclusions or
make inferences from that knowledge. Consider the representation of numbers
that we wish to add. Which is easier, adding 10 + 50 in Arabic numerals,
or adding X plus L in Roman numerals? Consider also the use of algebraic
symbols in solving problems for unknown numerical quantities, compared
with trying to do the same problems just with words and numbers.
LISP
LISP (short for list processing language), a computer language, was invented
by John McCarthy, one of the pioneers of artificial intelligence. The
language is ideal for representing knowledge (e.g., If a fire alarm is
ringing, then there is a fire) from which inferences are to be drawn.
Machine Learning
Machine learning refers to the ability of computers to automatically acquire
new knowledge, learning from, for example, past cases or experience, from
the computer's own experiences, or from exploration. Machine learning
has many uses such as finding rules to direct marketing campaigns based
on lessons learned from analysis of data from supermarket loyalty campaigns;
or learning to recognize characters from people's handwriting. Machine
learning enables computer software to adapt to changing circumstances,
enabling it to make better decisions than non-AI software. Synonyms: learning,
automatic learning.
Model
an approximation, representation, or idealization of selected aspects
of the structure, behavior, operation, or other characteristics of a real-world
process, concept, or system. Note: Models may have other models as components
Model-based Reasoning
Model-based reasoning (MBR) concentrates on reasoning about a system¡¯s
behavior from an explicit model of the mechanisms underlying that behavior.
Model-based techniques can very succinctly represent knowledge more completely
and at a greater level of detail than techniques that encode experience,
because they employ models that are compact axiomatic systems from which
large amounts of information can be deduced.
Modeling
Synonym for simulation.
Natural Language Processing
English is an example of a natural language, a computer language isn't.
For a computer to process a natural language, it would have to mimic what
a human does. That is, the computer would have to recognize the sequence
of words spoken by a person or another computer, understand the syntax
or grammar of the words (i.e., do a syntactical analysis), and then extract
the meaning of the words. A limited amount of meaning can be derived from
a sequence of words taken out of context (i.e., by semantic analysis);
but much more of the meaning depends on the context in which the words
are spoken (e.g., who spoke them, under what circumstances, with what
tone, and what else was said, particularly before the words), which would
require a pragmatic analysis to extract. To date, natural language processing
is poorly developed and computers are not yet able to even approach the
ability of humans to extract meaning from natural languages; yet there
are already valuable practical applications of the technology.
Neural Networks
Neural networks are an approach to machine learning which developed out
of attempts to model the processing that occurs within the neurons of
the brain. By using simple processing units (neurons), organized in a
layered and highly parallel architecture, it is possible to perform arbitrarily
complex calculations. Learning is achieved through repeated minor modifications
to selected neurons, which results in a very powerful classification system.
A problem with neural networks is that it very difficult to understand
their internal reasoning process, and therefore to obtain an explanation
for any particular conclusion. They are best used, therefore, when the
results of a model are more important than understanding how the model
works. Neural network software is used to recognize handwriting, and also
to control chemical processes to run at desired conditions. Other applications
include stock market analysis, fingerprint identification, character recognition,
speech recognition, credit analysis, scientific analysis of data, and
in neurophysiological research. Neural networks are also known as neural
nets, connectionism, and parallel associative memory.
Object-oriented programming
An object-oriented problem-solving approach is very similar to the way
a human solves problems. It consists of identifying objects and the correct
sequence in which to use these objects to solve the problem. In other
words, object-oriented problem solving consists of designing objects whose
individual behaviors, and interactions solve a specific problem. Interactions
between objects take place through the exchange of messages, where a message
to an object causes it to perform its operations and solve its part of
the problem. The object-oriented problem solving approach thus has four
steps: 1) identify the problem; 2) identify the objects needed for the
solution; 3) identify messages to be sent to the objects; and 4) create
a sequence of messages to the objects that solve the problem.
In an object-oriented system, objects are data structures used to represent
knowledge about physical things (e.g., pumps, computers, arteries, any
equipment) or concepts (e.g., plans, designs, requirements). They are
typically organized into hierarchical classes, and each class of object
has information about its attributes stored in instance variables associated
with each instance in the class. The only thing that an object knows about
another object is that object's
interface. Each object's data and logic is hidden from other objects.
This allow the developer to separate an object's implementation from its
behavior. This separation creates a "black-box" effect where
the user is isolated from implementation changes. As long as the interface
remains the same, any changes to the internal implementation is transparent
to the user. Objects provide considerable leverage in representing the
world in a natural way and in reusing code that operates on common classes
of objects.
Ontology
A formal ontology is a rigorous specification of a set of specialized
vocabulary terms sufficient to describe and reason about the range of
situations of interest in some domain.
In other words, it is a conceptual representation of the entities, events,
and their relationships that compose a specific domain. Two primary relationships
of interest are abstraction ("a cat is specific instance of a more
general entity called animal") and composition ("a cat has whiskers
and claws"). Ontologies are generally used to model a domain of interest,
permitting inferential and deductive reasoning by learning systems.
Pattern Recognition
The use of feature analysis to identify an image of an object. May involve
techniques such as statistical pattern recognition, Bayesian analysis,
classification, cluster analysis, and analysis of texture and edges. See
machine vision.
Performance measures
a category of quality measures that address how well a system functions.
Plan Recognition
The goal of plan recognition is to interpret an agent's intentions by
ascribing goals and plans to it based on partial observation of its behavior
up to the current time. Divining the agent's underlying plan can be useful
for many purposes including: interpreting the agent's past behavior, predicting
the agent's future behavior, or acting to collaborate with (or thwart)
the agent.
Planning and Scheduling
Planning is the field of AI that deals with the synthesis of plans, which
are partial orders of (possibly conditional) actions to meet specified
goals under specified constraints. It is related to scheduling, which
is the task of determining when and with what resources to carry out each
member of a specific set of actions to satisfy constraints regarding ordering,
effectiveness and resource allocation. In 1991, SHAI developed the concept
of intelligent entities for planning and scheduling applications. Intelligent
entities play the role of managers of various resources, groups of resources,
tasks, and projects made up of tasks.
Planning and Scheduling Agents
Programming by Demonstration
Programming by demonstration (PBD) is a term that describes a variety
of end-user programming techniques that generate code from examples provided
by the user. The motivation behind Programming by Demonstration is simple
and compelling - if a user knows how to perform a task on the computer,
that alone should be sufficient to create a program to perform the task.
It should not be necessary to learn a programming language like C++ or
BASIC. The most simple version of Programming by Demonstration is accomplished
by Macro Recorders which provide users with a way to record their actions.
The user issues the "Record" command, performs a series of actions,
and then issues the "Stop" command.
Prototyping
Prototyping is an important step in the development of a practical artificial
intelligence application. An AI software prototype is usually a working
piece of software that performs a limited set of the functions that the
software designer envisages will be required by the user. It is used to
convey to the users a clear picture of what is being developed to ensure
that the software will serve the intended picture. An AI prototype, contrary
to the practice with many other sorts of prototypes, is grown into the
finished product, subject to changes at the request of the user. Unlike
much other software, AI software cannot be subject to hard verification
tests as it mirrors non-mathematical human reasoning, so the prototyping
step provides necessary confirmation that the software will be "good
enough" for its purpose at the expected cost.
Qualitative Reasoning
Inexact reasoning, the opposite of quantitative reasoning . Also see Commonsense
Reasoning.
Relevance Feedback
Relevance feedback methods are used in information retrieval systems to
improve the results produced from a particular query by modifying the
query based on the user's reaction to the initial retrieved documents.
Specifically, the user's judgments of the relevance or non-relevance of
some of the documents retrieved are used to add new terms to the query
and to reweight query terms. For example, if all the documents that the
user judges as relevant contain a particular term, then that term may
be a good one to add to the original query.
Rule-based System
An expert system based on IF-THEN rules for representing knowledge.
Signal Filtering
Signal filtering is a techniques for removing the noise or static from
a signal so the clear or underlying signal remains. This is a conventional
technique commonly used by electrical engineers and others.
Simulated Annealing
Simulated annealing is an optimization method based on an analogy with
the physical process of toughening alloys, such as steel, called annealing.
Annealing involves heating an alloy and cooling it slowly to increase
its toughness. In simulated annealing, an artificial "temperature"
is used to control the optimization process, of finding the overall maximum
or minimum of a function. As cooling a metal slowly allows the atoms time
to move to the optimum positions for toughness, giving time to look for
a solution in simulated annealing permits a successful search for the
global optimum and avoids being trapped at a local suboptima. It is used,
for example, to optimize routing of planes by airlines for most efficient
use of the fleet. It was devised by S. Kirkpatrick.
Simulation
A simulation is a system that is constructed to work, in some ways, analogously
to another system of interest. The constructed system is usually made
simpler than the original system so that only the aspects of interest
are mirrored. Simulations are commonly used to learn more about the behavior
of the original system, when the original system is not available for
manipulation. It may not be available because of cost or safety reasons,
or it may not be built yet and the purpose of learning about it is to
design it better. If the purpose of learning is to train novices, then
cost, safety, or convenience are likely to be the reasons to work on a
simulated system. The simulation may be a computer simulation (perhaps
a realistic one of a nuclear power station's control room, or a mathematical
one such as a spreadsheet for "what-if" analysis of a company's
business); or it may be a small-scale physical model (such as a small-scale
bridge, or a pilot chemical plant).
Statistical Learning
Statistical learning techniques attempt to construct statistical models
of an entity based on surface features drawn from a large corpus of examples.
These techniques generally operate independent of specific domain knowledge,
training instead on a set of features that characterize an input example.
In the domain of natural language, for example, statistics of language
usage (e.g., word trigram frequencies) are compiled from large collections
of input documents and are used to categorize or make predictions about
new text. Systems trained through statistical learning have the advantage
of not requiring human-engineered domain modeling. This strong dependence
on the input corpus has the disadvantage of limiting their applicability
to new domains, requiring access to large corpora of examples and a retraining
step for each domain of interest. Statistical techniques thus tend to
have high precision within a domain at the cost of generality across domains.
Supervised Learning
Organization and training of a neural network by a combination of repeated
presentation of patterns, such as alphanumeric characters, and required
knowledge. An example of required knowledge is the ability to recognize
the difference between two similar characters such as O and Q. Synonym:
learning with a teacher. Contrast with self-organized system; unsupervised
learning.
Tactical Diagrams
To be added
Task Transition Diagrams
To be added
Taxonomy
a scheme that partitions a body of knowledge and defines the relationships
among the pieces. It is used for classifying and understanding the body
of knowledge
Time Series Analysis
A time series is a sequence of observations of a particular variable over
time (e.g., the daily closing level of Dow Jones Industrial Average).
There are a wide range of statistical and temporal data mining techniques
for analyzing such data. Two common uses for this type of analysis are
forecasting future events (i.e., time series prediction) and searching
a database of previous patterns for sequences that are similar to a particular
pattern of interest. This is a conventional statistical technique.
Toy System
Small-scale implementation of a concept or model useful for testing a
few main features, but unsuitable for complex or real-world problems.
For example, a toy rule-based system may contain a few rules to construct
an arch out of a number of pre-selected wooden blocks. It is a useful
academic approach to unsolved problems. It is not employed in producing
practical, real-world solutions.
Truth Maintenance Systems
Many conventional reasoning systems assume that reasoning is the process
of deriving new knowledge from old, i.e., the number of things a person
or intelligent software believes increases without retracting any existing
knowledge, since known truths never change under this form of logic. This
is called monotonic logic. However, this view does not accurately capture
the way in which humans think since our actions constantly change what
we believe to be true. Humans reason nonmonotonically, which means they
reason based on incomplete or uncertain information, common sense, default
values, changing conditions, and other assertions subject to retraction
or revision. Truth maintenance systems seek to emulate the human reasoning
process by recording reasons for our beliefs and reasons for retraction
or revision of those beliefs, as well as the beliefs themselves. They
are particularly useful in keeping track of goals, sub-goals, decisions,
tasks, assignments, and design documents on complex projects (such as
the design, construction, and testing of a major commercial aircraft)
being undertaken by large numbers of people who may work for different
organizations in different parts of the world. This is the sort of situation
where a decision may be reversed, and all the people who may have to react
to that change may not be properly informed. Project management software
using TMS can help avoid design problems or wasted effort that can result
from this sort of oversight.
[References]
Alan Bundy (ed.), "Artificial Intelligence Techniques: A Comprehensive
Catalog," 4th edition, Springer, 1997.
Artificial Intelligence
Information from PC AI magazine
Free On-Line
Dictionary of Computing
SHAI's
AI Glossary
Carnegie Mellon SEI
|
|
Reference
|
Polls
|
Statistics
GGM : 624 ¸í
GGMs' ºÐÆ÷ :
|
Other site
|
|