ZeePedia

INTELLIGENT SYSTEMS: techniques for designing Artificial Intelligent Systems

<< GRAPHICS & ANIMATION
Mathematical Functions in JavaScript >>
img
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
img
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
img
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
img
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
img
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
img
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:
  1. INTRODUCTION
  2. EVOLUTION OF COMPUTING
  3. World Wide Web, Web’s structure, genesis, its evolution
  4. Types of Computers, Components, Parts of Computers
  5. List of Parts of Computers
  6. Develop your Personal Web Page: HTML
  7. Microprocessor, Bus interface unit, Data & instruction cache memory, ALU
  8. Number systems, binary numbers, NOT, AND, OR and XOR logic operations
  9. structure of HTML tags, types of lists in web development
  10. COMPUTER SOFTWARE: Operating Systems, Device Drivers, Trialware
  11. Operating System: functions, components, types of operating systems
  12. Forms on Web pages, Components of Forms, building interactive Forms
  13. APPLICATION SOFTWARE: Scientific, engineering, graphics, Business, Productivity, Entertainment, Educational Software
  14. WORD PROCESSING: Common functions of word processors, desktop publishing
  15. Interactivity to Forms, JavaScript, server-side scripts
  16. ALGORITHMS
  17. ALGORITHMS: Pseudo code, Flowcharts
  18. JavaScript and client-side scripting, objects in JavaScript
  19. Low, High-Level, interpreted, compiled, structured & object-oriented programming languages
  20. Software Design and Development Methodologies
  21. DATA TYPES & OPERATORS
  22. SPREADSHEETS
  23. FLOW CONTROL & LOOPS
  24. DESIGN HEURISTICS. Rule of thumb learned through trial & error
  25. WEB DESIGN FOR USABILITY
  26. ARRAYS
  27. COMPUTER NETWORKS: types of networks, networking topologies and protocols
  28. THE INTERNET
  29. Variables: Local and Global Variables
  30. Internet Services: FTP, Telnet, Web, eMail, Instant messaging, VoIP
  31. DEVELOPING PRESENTATIONS: Effective Multimedia Presentations
  32. Event Handlers
  33. GRAPHICS & ANIMATION
  34. INTELLIGENT SYSTEMS: techniques for designing Artificial Intelligent Systems
  35. Mathematical Functions in JavaScript
  36. DATA MANAGEMENT
  37. DATABASE SOFTWARE: Data Security, Data Integrity, Integrity, Accessibility, DBMS
  38. String Manipulations:
  39. CYBER CRIME
  40. Social Implications of Computing
  41. IMAGES & ANIMATION
  42. THE COMPUTING PROFESSION
  43. THE FUTURE OF COMPUTING
  44. PROGRAMMING METHODOLOGY
  45. REVIEW & WRAP-UP of Introduction to Computing