Title: CS101 Introduction to Computing Lecture 34 Intelligent Systems
1CS101 Introduction to ComputingLecture
34Intelligent Systems
2During the last lecture (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
3Computer 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
4Displaying 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 - Lets discuss the pixel a bit more
5Pixel
- 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 - Lets now see how the computer displays a square
6Pixel Colors (1)
- 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
7Color Mapping (1)
- 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)
8Dithering
- 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
9Aliasing
- 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
10Anti-Aliasing (1)
- Anti-aliasing is another technique used for
managing the staircase effect - Lets 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
11Vector 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
12Bit-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
133-D Graphics (1)
- 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
143-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)
15Animation
- 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
16Tweening (2)
- 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
17Todays Goals(Intelligent Systems)
- To become familiar with the distinguishing
features of intelligent systems with respect to
other software systems - 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
18(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
19Not 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
20Selected Applications
- Games Chess, SimCity
- Image recognition
- Medical diagnosis
- Robots
- Business intelligence
21Sub-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
22Selected 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
23Neural Networks (1)
- 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
24Neural Networks (2)
- 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 - During training the FN is forced to adjust its
parameters so that its response to input data
becomes closer to the desired response
25Genetic Algorithms (1)
- 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
26Genetic 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
27Rulebased Systems (1)
- Based on the principles of the logical reasoning
ability of humans - Components of an RBS
- Rulebase
- Working memory
- Rule interpreter
28Rulebased Systems (2)
- 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
29Fuzzy Logic (1)
- 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
30Fuzzy Logic (2)
- 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
31Now we know about a few techniquesLets 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?
32Selection 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
33How do we determine the suitability of a
particular AI technique for a given taskWe look
at the tasks 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
34- Accuracy
- Explainability
- Response speed
- Scalability
- Compactness
- Flexibility
- Embedability
- Ease of use
- Learning curve
- Tolerance for complexity
- Tolerance for noise in data
- Tolerance for sparse data
- Independence from experts
- Development speed
- Computing ease
35ai
in action!
36Credit Card Issuance (1)
- 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
37Credit Card Issuance (2)
- Expert knowledge. Some rules of thumb are
available - Data. Profiles loss data available for 1
million applicants - Suitable technique?
38Determination of the Optimal Drug Dosage (1)
- 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
39Determination of the Optimal Drug Dosage (2)
- Data. Medical records of thousands of patients.
Drug dosage instructions on dozens of medicines - Suitable technique?
40Prediction of Airline Cabin Crew's Preferences
(1)
- 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
41Prediction of Airline Cabin Crew's Preferences
(2)
- Expert knowledge. Some rules of thumb are
available - Data. Available for the last four years for 8000
crew members - Suitable technique?
42The 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
43A few more areas of AI applications
44Robotics
- Automatic machines that perform various tasks
that were previously done by humans - Example
- Pilot-less combat airplanes
- Land-mine hunters
- Autonomous vacuum-cleaners
- Components Body structure, actuators,
power-source, sensors, controller (the AI-based
part)
45Autonomous Web Agents (1)
- 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
46Autonomous Web Agents (2)
- 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
47Decision 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
48The 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 80s - Decision support systems will become a bigger
part of the professional life of doctors,
managers, marketers, etc - Autonomous land, air, sea vehicles controlled
from 1000s of miles away from the war zone
49Todays SummaryIntelligent 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
50Next 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