Transcript Document
SEA Side
Software Engineering
Annotations
•AAnnotation
7:
Artificial Intelligence
One hour presentation to inform you of new
techniques and practices in software development.
Professor Sara Stoecklin
Director of Software Engineering- Panama City
Florida State University – Computer Science
[email protected]
[email protected]
850-522-2091
850-522-2023 Ex 182
Artificial intelligence (AI) is a broad field, and means different
things to different people.
The field of Artificial Intelligence (AI) is concerned both with
modeling human intelligence and with solving complex
problems not solvable by simple or analytic procedures.
For instance, a major goal of AI is construction of an
intelligent robot, capable of perceiving, acting,
comprehending, reasoning, and learning in complex
environments.
The AI field consists of six related areas:
•Problem solving & search
•Knowledge Representation
•Natural Language Processing (NLP)
•Reasoning Systems
•Vision & Perception
Problem Solving & Search
A fundamental technique in AI is to encode a problem
as a state space in which solutions are goal states in
that space.
Thus, problem solving can be viewed as state space
search.
To search large, combinatorial state spaces,
knowledge (e.g. heuristics) and planning are required.
Search
Often there is no direct way to find a solution to some
problem.
However, you do know how to generate possibilities.
For example, in solving a puzzle you might know all the possible moves,
but not the sequence that would lead to a solution. When working out how
to get somewhere you might know all the roads/buses/trains, just not the
best route to get you to your destination quickly. Developing good ways to
search through these possibilities for a good solution is therefore vital.
Brute force techniques, where you generate and try out every
possible solution may work, but are often very inefficient, as
there are just too many possibilities to try.
Heuristic techniques are often better, where you only try the
options which you think (based on your current best guess)
are most likely to lead to a good solution.
Searches
Breadth First Search
Depth First Search
Heuristic Search
Generate and Test Technique
Simple Hill Climbing
Steepest-Ascent Hill Climbing
Best First Search
A* Search
Genetic Searches
Knowledge Representation
Intelligent behavior often requires knowledge.
For example, language comprehension requires encoding the
meanings of words and how they are combined.
Techniques for representing knowledge include use of
semantic networks, logic, and neural networks.
Multi-valued Logic
Language
First Order Logic
Propositional Logic
Pseudo-Boolean
Agents
KNOWLEDGE
REPRESENTATION
Modeling
Hierarchies
Incomplete Knowledge
Model Clustering
Supermodels
Solution Structure
Symmetry
Semantic Nets
The simplest kind of structured KE is the semantic net
originally developed in the early 1960s to represent the
meaning of English words.
A semantic net is really just a graph, where the nodes in
the graph represent concepts, and the arcs represent
binary relationships between concepts.
Predicate Logic
The most important knowledge representation language is
arguably predicate logic (or strictly, first order predicate
logic - there are lots of other logics out there to distinguish
between). It is a well-defined syntax, semantics and rules
of inference.
…. Other logics
Natural Language Processing
Language is the major medium for communicating thought and
knowledge.
NLP is concerned with mappings between language and
thought, how language skills are learned, and how knowledge
is acquired through language (e.g. reading).
Really understanding a single sentence requires extensive knowledge
both of language and of the context.
For example They can fish can only be interpreted reasonably if you
know the context, some ones job (canning fish) or recreational activity.
Reasoning Systems
Most human reasoning occurs in task/domains with uncertain,
ill-defined and incomplete knowledge.
Reasoning in such domains requires techniques such as use
of default, probabilistic, and non-monotonic logics.
•Expert Systems
•Fuzzy Logic
•Case-Based Reasoning
•Neural Networks
Expert Systems
most common application utilized today employing the knowledge of an
"expert" to solve problems or make decisions.
Components of Expert Systems
-
•Expert in the Field to establish knowledge base on topic
•Knowledge Engineer - Interviews experts and establishes (Heuristic) rules in an
IF-THEN manner
•Knowledge Base - Information stored on the computer about subject matter
•Inference Engine - Compares inputs to known set of rules
•Benefits
•Provides information quicker than its human counterparts
•Utilizes standards to diagnose relatively consistent problems
•Limitations
•Systems are not flexible changing the knowledge base can be cumbersome
•Not applicable for problems that don't follow the rules
Rule-Based Systems
Consists of IF-THEN rules, facts, and some interpreter (chainer)
Two basic types: forward chaining and backward chaining systems.
Forward chaining systems start with the initial facts, and keep using the
rules to draw new conclusions (or take certain actions) given those facts.
DATA DRIVEN
Backward chaining systems start with some hypothesis (or goal) you are
trying to prove, and keep looking for rules that would allow you to
conclude that hypothesis to be true, perhaps setting new subgoals to
prove as you go.
GOAL DRIVEN
Uncertainty in Rules
Rules look pretty much like logical implications.
In practice you rarely conclude things with absolute certainty. Usually
we want to say things like ``If Alison is tired then there's quite a good
chance that she'll be in a bad mood''.
To allow for this sort of reasoning in rule-based systems we often add
certainty values to a rule, and attach certainties to any new conclusions.
We might conclude that Alison is probably in a bad mood (maybe with
certainty 0.6).
The approaches used are generally loosely based on probability theory,
but are much less rigorous, aiming just for a good guess rather than
precise probabilities.You can tune your expert system with these
certainty factors.
Fuzzy Logic
Problems we encounter in our daily work and home environments
frequently lack a complete black or white answer. Instead there’s a level of
grayness - a degree of rightness or wrong-ness. It is for this that Fuzzy
Logic was developed.
Components of Fuzzy Logic Systems
•Arithmetic Logic Unit - to interpret relationships such as ,<,=, etc.
•Set of Knowns - To compare an input to Membership Function –
•Calculation that determines how closely the input can be matched to a
set of knowns
•Benefits
•Provides information quicker than its human counterparts
•Increased flexibility over Expert Systems Less rigid
•Limitations
•Very program intensive to make robust
•More costly than expert system alternative
Case Based Reasoning
Case-Based Reasoning – program intensive and costly
•As with expert systems and fuzzy logic, there are instances when the
information regarding a decision in question does not fit into any of the
structured rules so in these situations, the facts and past decisions with
similar characteristics become important
Components of Case-Based Reasoning Systems
•Knowledge Base – (casebase) Information about subject matter
•Inference Engine - Compares inputs to known cases with solutions
•Random Access Type Memory - Allows new cases to be indexed
thus increasing knowledge (case) base
•Benefits
•Ability to obtain solutions in areas not previously well understood
•Limitations
•Little quality control or guarantee that the solution is optimum.
•Costly development.
Neural Network
Ultimate goal of AI is to imitate human thought-- artificial neural networks
attempt to replicate the connectivity and functioning of biological neural
networks (i.e. the human brain). Theory is that replicating the brain’s
structure, the artificial network will, in turn, possess the ability to learn.
•Components of Neural Networks
•Network of Nodes (either physical or virtual) - interconnected
with one another that sense and process data
•Layered Structure - that increases sensitivity and accuracy of
the transmission between nodes and carry out specific
functions
•Benefits
•The Ability to learn , Flexibility to handle any type of problem
•Limitations
•Very sensitive and must be fully trained
Neural Network (Learning) System
General: pattern classification; pattern recognition; pattern
function estimation/approximation
Agent Planning System (household or work robot)
• specification of environment, tasks, and actions
• model of environment
• KB for environment and actions
• planning system
• goal setting / evaluation system
examples: monitoring security household robot; autonomous
housekeeping robot; command controlled household servant
(with NLI?);combination of above (same for factory/plant
environment);
Real neurons: Figure of biological neuron
Artificial neurons: Figure of TLU
Vision and Perception
Images are fraught with ambiguity, e.g., wiggly lines could
represent ocean waves, a person's hair, snakes, etc.
Low-level vision is concerned with extracting visual features
from color, texture, edges, and so forth, while high-level vision
deals with how to represent and form internal models of
complex shapes and structured objects.
Image processing is in many cases concerned with taking one array of
pixels as input and producing another array of pixels as output which in
some way represents an improvement to the original array.
Image processing methods may be broadly divided into
Real space
methods -- which work by directly processing the input pixel array.
Fourier space
methods -- which work by firstly deriving a new representation of the
input data by performing a Fourier transform, which is then
processed, and finally, an inverse Fourier transform is performed on
the resulting data to give the final output image.