|
|||||
Introduction
to Computing CS101
VU
LESSON
34
INTELLIGENT
SYSTEMS
During
the last Lesson ...:(Graphics &
Animation)
We
became familiar with the
role that graphics and animations
play in computing
We
discussed how graphics & animation
are displayed
We
also looked at several formats used
for storing graphics and
animation
Computer
Graphics:
Images
created with the help of
computers
2-D
and 3-D (displayed on a 2-D
screen but in such a way
that they give an illusion
of depth)
Used
for scientific research,
artistic expression, or for industrial
applications
Graphics have
made the computer interfaces more intuitive by
removing the need to memorize
commands
Displaying
Images:
Most
all computer displays consist of a
grid of tiny pixels arranged in a
regular grid of rows
and
columns
Images
are displayed by assigning different
colors to the pixels located in the desired
portion of the
computer
display
Let's
discuss the pixel a bit more
...
Pixel:
The
smallest image forming element on a computer
display
The
computer display is made up of a regular
grid of these pixels
The
computer has the capability of assigning
any color to any of the
individual pixels on the
display
Let's
now see how the computer
displays a square
The
color of each pixel is
generally represented in the form a
triplet
In a
popular scheme the RGB
scheme each part of the
triplet represents the intensity of
one of out of
three
primary colors: red, green,
blue
Often,
the intensity of each color is
represented with a byte,
resulting in 256x256x256 (16+
million)
unique
color combinations
Instead
of letting each pixel assume
one out of 16 million possible colors,
only a limited number of
colors
called the platelet are
allowed
For
example, the platelet may be restricted
to 256 colors (requiring 1 byte/pixel
instead of 3)
Dithering:
In
this scheme, pixels of
alternating colors are used to
simulate a color that is not
present in the platelet
For
example, red and green pixels can be
alternated to give the impression of
bright yellow
The
quality of the displayed image is
poorer
Aliasing:
The
computer screen consists of square-ish
pixels arranged in a fixed
grid
At times,
when a diagonal line is
drawn on this grid, it looks
more like a staircase, instead of a
straight
line
This
effect called aliasing
can be managed by reducing the
size of pixels
227
Introduction
to Computing CS101
VU
Anti-aliasing
is another technique used for
managing the `staircase' effect
Let's
say that we need to draw a
white straight-line such
that it overlaps 60% with
one pixel, and 40%
with
another initially, and near the end, 58%,
41%, and 1%, respectively,
with three pixels
Vector
or Object-Oriented Graphics:
Treats
everything that is drawn as an
object
Objects
retain their identity after
they are drawn
These
objects can later be easily
moved, stretched, duplicated,
deleted, etc
Are
resolution independent
Relatively
small file size
Examples:
swf, svg, wmf, ps
Bit-Mapped
or Raster Graphics:
Treats
everything that is drawn as a
bit-map
If an
object is drawn on top of another, it is
difficult to move just one of them
while leaving the
other
untouched
Changing
the resolution often requires considerable
touch-up work
Relatively
large file size
Examples:
gif, jpg, bmp
3-D
Graphics:
Flat
images enhanced to impart the
illusion of depth
We
perceive the world and the objects in it in
3-D - breadth, width, depth -
although the images
formed
on the retinas of
our eyes are
2-D
The
secret of 3-D perception:
stereo vision
3-D
Rendering:
The
process of converting information
about 3-D objects into a
bit-map that can be
displayed on a 2-D
computer
display
Computationally,
very expensive!
Steps:
Draw
the wire-frame (skeleton, made
with thin lines)
Fill
with colors, textures, patterns
Add
lighting effects (reflections,
shadows)
Animation:
Graphics in
motion, e.g. cartoons
Illusion
of motion is created by showing the
viewer a sequence of still
images, rapidly
Drawing
those images - each slightly
different from the previous
one - used to be quite
tedious work
Computers have
helped in cutting down some
of the tediousness
This
process of creating these
in-between images from key
images is called in-betweening
(or tweening
for
short)
The
simplest algorithm for tweening
calculates the position of a particular
segment of an image by
calculating
the average of the positions of that
same image segment belonging to adjacent
key images
Today's
Goals:(Intelligent Systems)
To
become familiar with the
distinguishing features of intelligent
systems with respect to
other software
systems
228
Introduction
to Computing CS101
VU
To
become able to appreciate the role of
intelligent systems in scientific,
business and consumer
applications
To
look at several techniques for designing
intelligent systems
34.1
(Artificial) Intelligent
Systems:
SW
programs or SW/HW systems designed to
perform complex
tasks
employing strategies that
mimic
some
aspect of human thought
One
can debate endlessly about
whether a certain system is
intelligent or not
But
to my mind, the key criterion is
evolution: it is intelligent if it can
learn (even if only a
limited
sense)
and get better with
time
Not a
Suitable Hammer for All
Nails!
if
the nature of
computations required in a task is not
well understood
or
there
are too many exceptions to
the
rules
or
known
algorithms are too complex
or inefficient
then
AI
has the potential of
offering an acceptable
solution
Selected
Applications:
Games:
Chess, SimCity
Image
recognition
Medical
diagnosis
Robots
Business
intelligence
Sub-Categories
of AI:
Expert
systems
Systems
that, in some limited sense,
can replace an expert
Robotics
Natural
language processing
Teaching
computers to understand human language, spoken as well
as written
Computer
vision
Selected
Techniques:
Artificial
neural networks
Genetic
algorithms
Rule-based
systems
Fuzzy
logic
Many
times, any one of them can solve the
problem at hand, but at others, only the
right one will do.
Therefore,
it is important to have some appreciation
of them all .
Neural
Networks:
Original
inspiration was the human brain;
emphasis now on usefulness as a
computational tool
Many
useful NN paradigms, but scope of today's
discussion limited to the feed-forward
network, the
most
popular paradigm
Feed-forward
Network:
It is a
layered structure consisting of a number of
homogeneous and simple (but
nonlinear) processing
elements
All
processing is local to a processing
element and is asynchronous
229
Introduction
to Computing CS101
VU
During
training the FN is forced to adjust its
parameters so that its
response to input data
becomes closer
to the desired
response
Based
on Darwin's evolutionary principle of
`survival of the fittest'
GAs
require the ability to recognize a good
solution, but not how to get
to that solution.
Genetic
Algorithms (2):
The
procedure:
An
initial set of random solutions is
ranked in terms of ability to
solve the problem at hand
The
best solutions are then
crossbred and mutated to form a new
set
The
ranking and formation of new
solutions is continued until a
good enough solution is
found or ...
Rulebased
Systems (1):
Based
on the principles of the logical reasoning
ability of humans
Components of an
RBS:
Rulebase
Working
memory
Rule
interpreter
The
design process:
An RBS
engineer interviews the expert to acquire
the comprehensive set of heuristics that
covers the
situations
that may occur in a given
domain
This
set is then encoded in the
form of IF-THEN structures to
form the required RBS
34.2
Fuzzy Logic:
Based
on the principles of the approximate reasoning
faculty that humans use
when faced with
linguistic
ambiguity
The
inputs and outputs of a fuzzy system
are precise, only the reasoning is
approximate
Parts
of the knowledgebase of a fuzzy
system:
Fuzzy
rules
Fuzzy
sets
The
output of a fuzzy system is computed by
using:
The
MIN-MAX technique for combining
fuzzy rules
The
centroid method for
defuzzification
Now
we know about a few
techniques
Let's
now consider the situation when we
are given a particular
problem and asked to find an
AI
solution
to that problem.
How
do we determine the right technique
for that particular
problem?
Selection
of an Appropriate AI Technique:
A
given problem can be solved
in several ways
Even
if 2 techniques produce solutions of a similar
quality, matching the right
technique to a problem
can
save on time &
resources
Characteristics of
an optimal technique:
The
solution contains all of the required
information
The
solution meets all other
necessary criteria
The
solution uses all of the
available (useful)
knowledge
230
Introduction
to Computing CS101
VU
How
do we determine the suitability of a
particular AI technique for a
given task. We look at the task's
requirements and
then see which technique
fulfils those requirements more
completely the one
which
does,
is the one we use!
Here
are a few aspects of the
task and the techniques that we
need to be aware off
...
·
·
Accuracy
Learning
curve
·
·
Explainability
Tolerance
for complexity
·
·
Response
speed
Tolerance
for noise in
data
·
Scalability
·
Tolerance
for sparse data
·
Compactness
·
Independence
from
·
Flexibility
experts
·
Embedability
·
Development
speed
·
Ease of
use
·
Computing
ease
Credit
Card Issuance:
Challenge.
Increase the acceptance rate of card
applicants who will turn out
to be good credit risks
Inputs.
Applicant's personal and financial
profiles
Output.
Estimated yearly loss if application is
accepted
Expert
knowledge. Some rules of thumb
are available
Data.
Profiles & loss data
available for 1+ million
applicants
Suitable
technique?
Determination
of the Optimal Drug
Dosage:
Challenge.
Warn the physician if she
prescribes a dosage which is
either too high or too
low
Inputs.
Patient's medical record. Pharmaceutical
drug dosage
instructions
Output.
Warning along with reasons
for the warning
Data.
Medical records of thousands of patients.
Drug dosage instructions on
dozens of medicines
Suitable
technique?
Prediction of
Airline Cabin Crew's
Preferences:
Challenge.
Predict the future base/status
preferences of the cabin crew of an
airline. The
predicted
preferences
will be used by the airline
for forecasting its staffing
and training requirements
Inputs.
Crew's personal profiles. Preference
history. Other data.
Output.
Predicted preference card for a date
one year in the
future
Expert
knowledge. Some rules of thumb
are available
Data.
Available for the last four
years for 8000 crew
members
Suitable
technique?
The
Right Technique:
Selection
of the right AI technique requires
intimate knowledge about the
problem as well as
the
techniques
under consideration
Real problems
may require a combination of techniques
(AI and/or nonAI) for an
optimal solution
34.3
Robotics:
Automatic
machines that perform
various tasks that were
previously done by humans
231
Introduction
to Computing CS101
VU
Example:
Pilot-less
combat airplanes
Land-mine
hunters
Autonomous
vacuum-cleaners
Components:
Body structure, actuators, power-source,
sensors, controller (the
AI-based part)
Autonomous
Web Agents:
Also
known as mobile agents,
softbots
Computer
program that performs various actions
continuously, autonomously on behalf of
their
principal!
Key
component of the Semantic Web of tomorrow
Multi-agent
communities are being
developed in which agents
meet and represent the
interests of their
principals
in negotiations or collaborations. Example:
Agents
of a patient and a doctor get together to
negotiate and select a
mutually agreeable time,
cost
Decision
Support Systems:
Interactive
software designed to improve the
decision-making capability of their
users
Utilize
historical data, models to solve
problems
The
do not make decisions - just assist in
the process
They
provide decision-makers with information
via easy to manage reports,
what-if scenarios,
and
graphics
The
Future?
Get
ready to see robots playing a
bigger role in our daily
lives
Robots
will gradually move out of
the industrial world and into
our daily life, similar to
the way
computers
did in the 80's
Decision
support systems will become a
bigger part of the professional
life of doctors, managers,
marketers,
etc
Autonomous
land, air, sea vehicles
controlled from 1000's of
miles away from the war
zone
Today's
Summary:Intelligent Systems
We
looked at the distinguishing features of
intelligent systems w.r.t.
other software
systems
We
looked at the role of intelligent
systems in scientific, business,
consumer and other
applications
We
discussed several techniques for
designing intelligent
systems
Next
Lecture:(Data Management)
To
become familiar with the
issues and problems related to
data-intensive computing
To
become able to appreciate data
management concepts and their
evolution over the
years
232
Table of Contents:
|
|||||