You are on page 1of 15

Artificial intelligence

Gavraskar Aniket A.
Mechanical Engineering
G.E.C.,Aurabgabad
Maharashtra
Samvatsar Shaunak P.
Mechanical Engineering
J.N.E.C.,Aurangabad
Maharashtra

ABSTRACT
Artificial intelligence (AI) is the part of computer science concerned with
designing intelligent computer systems, that is, the systems that exhibit
characteristics we associate with intelligence in human behavior understanding
language, learning, reasoning, solving problems and so on (Barr and Feignbaum,
1981). The goals to be achieved by AI are:
Engineering goal: To solve real world problems using AI techniques such as
knowledge representation, learning, rule system and so on.
Scientific goal: to determine which ideas about knowledge representation,
learning, rule system and so on, explain various sorts of real intelligence.
After WWII a number of people independently started to work on intelligence
machines. The English mathematician Allan Turing may have been the first. He
gave a lecture on it in 1947. He also may have been the one to decide that AI was
best researched by programming computers, than by building a machine. By the
late 1950 there were many researchers on AI and most of them were basing there
work on programming computers. Our goal in AI is to construct a working
program. Perception of world around us is crucial to our survival. Animals with
less intelligence than people are capable of more sophisticated perception than
are current machines. Researching human level AI requires with programs that
deals with common sense informatic situations.
Human level logical AI requires extensions to the way the logic is used in
formalizing the branches of mathematics and physical science. It seems to
require the extensions to the logics themselves, both in the formalism for
expressing knowledge and the reasoning used to reach conclusion. AI is the study
of how to make computers do things, at which, at the moment, people are better.
Throughout this paper we focus on basic components, problem solving techniques
and, applications of AI.

INTRODUCTION
What else could be more exciting than having intellectuals (us) creating intellect?
Artificial Intelligence (AI) is a scientific study encompassing philosophy,
computer science, mathematics, and even history, biology or engineering.
Perhaps the most far-reaching goal in AI is to build an artificial human being.
Unfortunately (or maybe fortunately) we have not nearly reached this level.
Perhaps the most important purpose of AI is to increase human understanding of
learning, reasoning, and other cognitive processes. One day we may be able to

4.44
answer the important philosophical questions that were once unanswerable. What
is intelligence? Are machines intelligent? Are machines capable of
consciousness? Emotion? or even aesthetics? and if so, how can we build
machines that have these animal/human characteristics of intelligence? These
considerations must be taken very seriously.
Computers can do many wonderful things. They can perform calculations millions
or billions of times faster than human beings. Yet, is this all that computers can
do? Just crunch numbers? Certainly present digital computers are capable of
much more. In the past, computer scientists have created a great many programs
that could perform tasks that people wouldn't have otherwise believed a
computer could do. This is not limited to only playing chess, or proving theorems,
but also programs that can hold a regular conversation with humans, understand
stories and perform many other human-like tasks. Yet, there have also been very
many legitimate questions whether or not the intelligence that these programs
exhibit can be comparable to human intelligence. The problem lies with
architecture, the way our programs are structured. Alan Turing, one of the fathers
of AI, once created a theorem that stipulated that all computers (he uses the term
turing machines, which can be likened to digital computers) can compute
anything that is computable. If creating a human being via a digital computer was
ever possible.
There were some scientists that questioned the capability of digital computers.
Citing that the architecture of digital computers would be a terrible approach to
emulating human intelligence, they strove to create artificial neurons. This was
based on the architecture of our own biological brains. The idea of course, failed
for the mean time, since very little was known about the subject. The digital
computer proved to be the only sufficient medium to carry out artificial
intelligence (AI). There then came another question. People doubted whether or
not symbolic AI programs, which encompassed just about every program in the
1950s, could exhibit true intelligence. Some examples of Symbolic AI programs
are chess-playing programs, expert systems such as theorem provers, ELIZA,
STUDENT (which solves calculus problems) etc. Just about any task-center AI
program is a symbolic AI program. These programs operate by manipulating
symbols. The critics claimed that the architecture of these programs were not
sufficient enough for intelligence. In essence, they have no "common sense" and
can rarely perform tasks other than the tasks that were assigned to them. One of
the early natural language programs could translate Russian to English, and vice
versa. When it converted the English phrase "The spirit is willing but the flesh is
weak" to Russian, then back to English, it came up with "The vodka is good but
the meat is rotten". Of course, the machine translation technology that we have
today has certainly improved, but many "common sense" mistakes like this are
common. You may actually want to try this with the SYSTRAN translator. These
critics of Symbolic AI systems were the connectionists. They in turn created the
neural network architecture. Neural networks are able to draw links between
meanings and thus exhibit some form of "common sense" in some situations.
More generally they are based on the architecture of neurons, synapses and
dendrites in brains. As much as these systems have been hyped, they have not
nearly been able to replace symbolic AI systems. On the other hand, they have
been very useful for things such as image recognition.
NEURAL NETWORK

4.45
A neural network is mans crude way of trying to simulate the brain electronically.
Our brains are made up of about 100 billion tiny units called neurons. Each neuron
is connected to thousands of other neurons and communicates with them via
electrochemical signals. Signals coming into the neuron are received via
junctions called synapses, these in turn are located at the end of branches of the
neuron cell called dendrites. The neuron continuously receives signals from these
inputs and then performs a little bit of magic. What the neuron does is sum up the
inputs to itself in some way and then, if the end result is greater than some
threshold value, the neuron fires. It generates a voltage and outputs a signal along
something called an axon.

Fig 1. Neuron forming chemical synapse


Neural networks are made up of many artificial neurons. An artificial neuron is
simply an electronically modeled biological neuron. How many neurons are used
depends on the task at hand. It could be as few as three or as many as several
thousand. One optimistic researcher has even hard wired 2 million neurons
together in the hope he can come up with something as intelligent as a cat
although most people in the AI community doubt he will be successful. There are
many different ways of connecting artificial neurons together to create a neural
network.
LOOK OF ARTIFICIAL NEURON

Fig 2. Artificial neuron


Each input into the neuron has its own weight associated with it illustrated by the
red circle. A weight is simply a floating point number and it's these we adjust
when we eventually come to train the network. The weights in most neural nets

4.46
can be both negative and positive, therefore providing excitory or inhibitory
influences to each input. As each input enters the nucleus (blue circle) it's
multiplied by its weight. The nucleus then sums all these new input values which
gives us the activation (again a floating point number which can be negative or
positive). If the activation is greater than a threshold value - lets use the number 1
as an example - the neuron outputs a signal. If the activation is less than 1 the
neuron outputs zero. This is typically called a step function (take a peek at the
following diagram and have a guess why).

Fig 3. Artificial neuron response


A neuron can have any number of inputs from zero to n, where n is the total
number of inputs. The inputs may be represented therefore as x 1, x2, x3 xn. And
the corresponding weights for the inputs as w 1, w2, w3 wn. Now, the summation
of the weights multiplied by the inputs we talked about above can be written as
x1w1 + x2w2 + x3w3 . + xnwn,
a=x1w1+x2w2+x3w3....xnwn
i n
a= x w
i1
i 1

Assuming an array of inputs and weights are already initialized as x[n] and w[n]
then:
double activation = 0;
for (int i=0; i<n; i++)
{
activation += x[i] * w[i];
}
The new diagram of artificial neutron is as follows :

4.47
Fig 4. Artificial neuron
USE OF ARTIFICIAL NEUTRON
We have to link several of these neurons up in some way. One way of doing this is
by organizing the neurons into a design called a feedforward network. It gets its
name from the way the neurons in each layer feed their output forward to the next
layer until we get the final output from the neural network. This is what a very
simple feedforward network looks like:

Fig 5.Artificial neuron


Each input is sent to every neuron in the hidden layer and then each hidden
layers neurons output is connected to every neuron in the next layer. There can
be any number of hidden layers within a feedforward network but one is usually
enough to suffice for most problems you will tackle. There can be any number of
neurons in each layer, it all depends on the problem.
You probably know already that a popular use for neural nets is character
recognition. So let's design a neural network that will detect the number '4'. Given
a panel made up of a grid of lights which can be either on or off, we want our
neural net to let us know whenever it thinks it sees the character '4'. The panel is
eight cells square and looks like this.

4.48
Fig 6.Neural net
We would like to design a neural net that will accept the state of the panel as an
input and will output either a 1 or 0. A 1 to indicate that it thinks the character 4
is being displayed and 0 if it thinks it's not being displayed. Therefore the neural
net will have 64 inputs, each one representing a particular cell in the panel and a
hidden layer consisting of a number of neurons (more on this later) all feeding
their output into just one neuron in the output layer.
Once the neural network has been created it needs to be trained. One way of
doing this is initialize the neural net with random weights and then feed it a series
of inputs which represent, in this example, the different panel configurations. For
each configuration we check to see what its output is and adjust the weights
accordingly so that whenever it sees something looking like a number 4 it outputs
a 1 and for everything else it outputs a zero. This type of training is called
supervised learning and the data we feed it is called training set. There are many
different ways of adjusting the weights; the most common for this type of problem
is called back propagation.
If you think about it, you could increase the outputs of this neural net to 10. This
way the network can be trained to recognize all the digits 0 through to 9. Increase
them further and it could be trained to recognize the alphabet too!
POLITICAL, SOCIAL, ETHICAL AND ECONOMICAL ISSUES OF AIM IN MEDICAL
FIELD
Political
Since the first AIM systems were used in clinical practice, Food and Drug
Administration Office (FDA) had become involved in approving and licensing
software programs for medical applications. What regulations to apply, what
guidelines to follow were among the most controversial, yet critical issues to
patients, doctors, as well as AIM system professionals.
Since current AIM research focused on getting more medical data on-line,
concerns about medical records privacy and security arose immediately. How to
guard against information leaks from such on-line medical data inventory had
sparked split opinions among the medical community. Different interest groups

4.49
might try to influence Federal policy makers for regulations favoring their
interests.
Social
Since AIM failed to deliver its grand promises, few systems had been fully tested
and used directly in clinical practice. There had been minimum social interaction
and feedback about AIM. The systems that had been used were rather performing
tasks more transparent to the patients. For example, programs that checked
laboratory results and gave warnings to doctors about potential toxic prescription
were unknown to the patients. Therefore there had been very little social
response from the general public about their perception of AIM systems [Kohane,
1998].

Ethical
When the idea of a perfect doctor was first introduced by the AIM community,
heath professionals expressed mixed opinions about the introduction of expert
systems. Some strongly opposed to such ideas, because to them, having a
machine to take full charge of a patient was unethical and wrong. Doctors who
were slightly worried about themselves being replaced by the perfect machines
also opposed to the ideas. On the other hand, there were others who would
cherish the opportunities to improve the current health care situations.
This kind of controversy did not become the mainstream conflict, however, as the
focus of AIM had changed in recent years; programs were acting as "assistants"
to doctors, not the "doctors" who made perfect decisions.
BASIC PROBLEM SOLVING METHODS
Following are the important points to be considered while discussing the problem
solving techniques:
The direction in which to conduct the search
The topology of search process.
How each node of search process will be represented?
Selecting applicable rules.
Using a heuristic function to guide the search
Forward versus backward reasoning
The object of search procedure is to discover a path through a problem space
from an initial configuration to a goal state. There are two directions in which
such a search could proceed:
Forward from the start state
Begin building a tree of move sequences that might be solutions by starting with
the initial configuration at the root of the tree. Generate the next level of the tree
by finding all the rules whose left sides match the root node, and use their right
sides to create the new configurations. Generate the next level by taking each
node generated at previous level and applying to it all the rules whose left side
match it. Continue until a configuration that matches the goal state is generated.

1 2 3

4.50
4 5 6

7 8 9

Square1emptyandsquare2containtilen
Square2emptyandsquare1containstilen
Square1emptyandsquare4containtilen
Square4emptyandsquare1containstilen
Square2emptyandsquare1containtilen
Square1emptyandsquare2containstilen

Fig 7. Example of the rules for solving the 8-puzzle


Backward from the goal states
Begin building a tree of move sequences that might be solutions by starting with
the goal configuration at the root of the tree. Generate the next level of the tree
by finding all the roots whose right sides match the root node.
Use the left side of the rules to generate the nodes at the second level of the tree.
Generate the next level of the tree by taking each node at the previous level and
finding all the rules whose right sides match it. Then use the corresponding left
sides to generate the new nodes. Continue until a node that matches the initial
state is generated. This method of chaining backward from the desired final state
is often called goal directed reasoning or back chaining.

Problem trees verses problem graphs


A simple way to implement a search strategy is a tree traversal. Each node of the
tree is expanded by the production rules to generate a set of successor nodes
each of which can in turn be expanded, continuing until a node representing a
solution is found. Implementing such a procedure is simple and requires little
book keeping. However this process often results in the same node being
generated as a part of several paths and so being processed more than once this
happens because it may really be an arbitrary directed graph, rather than a tree
that must be searched.
Matching the variables
Some times problem may be a non trivial one to examine a particular role and
given problem state and determine whether the preconditions of the rule are
satisfied. Problems arise here are just as in indexing, when the preconditions are
not stated as exact descriptions of a particular situations but rather describe
properties that the situation must t have it often turns out that discovering
whether there is match between a particular situation and the preconditions of
the given rule must itself involve a significant search process.
Weak methods
Heuristic search is a powerful tool for solution of difficult problems. The strategy
used for controlling such search is often critical in determining how effective it
will be in solving a particular problem. In this section, the following general
purpose control strategies, often called weak methods, will be presented:
Generate and test
Hill climbing

4.51
Breadth first search
Best first search
Problem reduction
Constraint satisfaction
Means ends analysis
COMPARISONS BETWEEN HUMAN AND COMPUTER INTELLIGENCE
Arthur R. Jensen , a leading researcher in human intelligence, suggests ``as a
heuristic hypothesis'' that all normal humans have the same intellectual
mechanisms and that differences in intelligence are related to ``quantitative
biochemical and physiological conditions''. I see them as speed, short term
memory, and the ability to form accurate and retrievable long term memories.
Whether or not Jensen is right about human intelligence, the situation in AI today
is the reverse. Computer programs have plenty of speed and memory but their
abilities correspond to the intellectual mechanisms that program designers
understand well enough to put in programs. Some abilities that children normally
don't develop till they are teenagers may be in, and some abilities possessed by
two year olds are still out. The matter is further complicated by the fact that the
cognitive sciences still have not succeeded in determining exactly what the
human abilities are. Very likely the organization of the intellectual mechanisms for
AI can usefully be different from that in people.
Whenever people do better than computers on some task or computers use a lot
of computation to do as well as people, this demonstrates that the program
designers lack understanding of the intellectual mechanisms required to do the
task efficiently.
BRAINS VERSUS COMPUTERS: SOME NUMBERS
There are approximately 10 billion neurons in the human cortex, compared
with 10 of thousands of processors in the most powerful parallel computers.
Each biological neuron is connected to several thousands of other neurons,
similar to the connectivity in powerful parallel computers.
Lack of processing units can be compensated by speed. The typical operating
speeds of biological neurons is measured in milliseconds (10-3 s), while a
silicon
Chip can operate in nanoseconds (10-9 s).The human brain is extremely energy
efficient, using approximately 10-16 joules
Per operation per second, whereas the best computers today use around 10-6
joules per operation per second.
Brains have been evolving for tens of millions of years, computers have been
evolving for tens of decades.

RATIONAL AGENTS
An agent is anything that can be viewed as perceiving its environment through
sensors and acting upon that environment through actuators.
It is no accident that this diagram is of exactly the same form as the diagram for
the interaction of the human nervous system with its environment. A rational
agent is one that acts in a manner that causes it to be as successful as it can.
What counts as successful obviously depends on what we require the agent to do.

4.52
We need to determine an appropriate performance measure in each case. One has
to be careful in choosing that measure, as there are often many conflicting
criteria that need to be taken into account.

Fig 8. Rational Agents


Ideal Rational Agents
Being rational also depends on whatever the agent has perceived in the past,
what the agent knows about its environment, and what actions it is able to
perform. An ideal rational agent is one that takes whatever action is expected to
maximize its performance measure on the basis of the evidence provided by its
perceptual history and whatever built-in knowledge it has. Carrying out actions to
obtain useful evidence for future actions is all part of rationality. For example, it is
usually rational to want to learn!
If an agents actions are based only on its built-in knowledge, and not on its own
experience with its environment, then we say that the agent lacks autonomy. An
autonomous agent will supplement its built-in knowledge with its own acquired
(or learned) knowledge in order to act appropriately.
It is often a good AI strategy to build systems/agents that have enough knowledge
to get them started and then leave them to learn the rest.
Intelligent Agents
Agents are comprised of architecture (e.g. a computer) plus a program that runs
on that architecture. In this module we are primarily interested in designing the
programs. In designing intelligent systems there are four main factors to consider:
P Percepts the inputs to our system
A Actions the outputs of our system
G Goals what the agent is expected to achieve
E Environment what the agent is interacting with
We shall consider four types of agent system of increasing sophistication:
1. Simple Reflex Agents
2. Reflex Agents with an Internal State
3. Goal based agents
4. Utility based agents

Agent Type Percepts Actions Goals Environment

Medical Symptoms, Questions, Healthy Patient,


diagnostic test results, test requests, patients, hospital staff

4.53
system patient's treatments, minimize
answer referrals costs

Satellite Pixels of Display a Correct image Images from


image varying categorization categorization orbiting
analysis intensity and of the scene satellite
system coulour

Part-picking Pixels of Pick up parts Place parts Conveyour belt


robot varying and sort them into correct with parts, bin
intensity and into bins bins
coulour

Refinery Temperature, Open and Maximum Refinery, staff


controller pressure and close valves, purity yield
chemical adjust safety
readings temperature

Interactive Typed words Display Maximize Set of


English tutor exercises, student's students,
suggestions, exam results exam papers
corrections

Fig 9. Examples of Intelligent Agents


EXPERT SYSTEMS
The development of expert systems was another breakthrough in AI. An expert
system contained the large amounts of knowledge on a very specific field, and
could give recommendations based on the user's inputs. The first expert systems
were DENDRAL and MYCIN. DENDRAL was a system that helped chemists to
analyze mass spectrograms. It was developed by Edward Feigenbaum and Robert
Lindsay in 1975 [Winston, 1992, p. 51]. MYCIN was a system for diagnosing
infectious blood diseases. It was developed by Edward Shortliffe in 1975. Expert
systems differed from conventional computer programs in that removing any
single rule from an expert system would not affect program performance
[Winston, 1992, p. 130].
However, in the mid-1980s, the development of expert systems suffered from a few
drawbacks. First, some expert systems could not operate as well as the experts
who supplied them with knowledge. Second, most of the expert systems had to be
run on LISP machines, which were costly. Third, the LISP machines could not be
connected to a network. These limitations hindered the development of expert
systems as commercial applications [Crevier, 1993, p. 209].
Characteristics of expert systems
These systems derive their power from a great deal of domain specific
knowledge, rather than from a single powerful technique.
The required knowledge is about a particular area and is well-defined. This
contrasts with the kind of broad, hard to define knowledge that we call
common sense.

4.54
An expert system cannot be build without the help of at least one expert, who
must be willing to spend a great deal of effort transferring his or her expertise
to the system.
The amount of knowledge that is required depends on the task. It may range
from forty rules to over a thousand.
The choice of control structure for a particular system depends on specific
characteristic of the system.
It is possible to extract the non domain specific parts from existing expert
systems and use them as tools for building new systems in new domain
examples of such tools include EXPERT, UNITS,
EMYCIN

MYCIN
If:thestrainoforganismisgrampositive,and
morphologyoforganismiscoccus,and
thegrowthconfirmationoftheorganismisclumps
then:(.7)theidentityoforganismisstaphyloccus
R1
If:themostcurrentactivecontextisdistributingmassbusdevices
and,
Thereisasingleportdiskdrivethathasnotbeunassignedto
massbus,and
Therearenounassigneddualportdiskdrives,andthenumberof
devicesthateach
massbusshouldsupportisknown,andthereisamassbusthathas
beenassignedatleastonediscdriveandthatshouldsupport
additionaldiskdrives,
andthetypeofcableneededtoconnectthediscdrivetothe
previousdiscdriveonthemassbusisknown
then:assignthediscdrivetothemassbus

Fig 10.Some rules for expert systems


SUB-FIELDS OF ARTIFICIAL INTELLIGENCE
AI now consists many sub-fields, using a variety of techniques, such as:
Machine Learning e.g. decision tree learning, version space learning
Neural Networks e.g. brain modeling, time series prediction, classification
Evolutionary Computation e.g. genetic algorithms, genetic programming
Vision e.g. object recognition, image understanding
Robotics e.g. intelligent control, autonomous exploration
Expert Systems e.g. decision support systems, teaching systems
Speech Processing e.g. speech recognition and production
Natural Language Processing e.g. machine translation
Planning e.g. scheduling, game playing
Speech Processing
As well as trying to understand human systems, there are also numerous real
world applications: speech recognition for dictation systems and voice activated

4.55
control; speech production for automated announcements and computer
interfaces.
How do we get from sound waves to text streams and vice-versa?

Fig 11. Speech frequency graph


Natural Language Processing
For example, machine understanding and translation of simple sentences:

Fig 12.Language Processing Chart


COMMON TECHNIQUES
Even apparently radically different AI systems (such as rule based expert systems
and neural networks) have many common techniques. Four important ones are:
Representation Knowledge needs to be represented somehow perhaps as a
series of if-then rules, as a frame based system, as a semantic network, or in
the connection weights of an artificial neural network.
Learning Automatically building up knowledge from the environment such as
acquiring the rules for a rule based expert system, or determining the
appropriate connection weights in an artificial neural network.
Rules These could be explicitly built into an expert system by a knowledge
engineer, or implicit in the connection weights learnt by a neural network.
Search This can take many forms perhaps searching for a sequence of states
that leads to a problem solution, or searching for a good set of connection
weights for a neural network by minimizing a fitness function.
APPLICATIONS OF AI
Game playing

4.56
You can buy machines that can play master level chess for a few hundred dollars.
There is some AI in them, but they play well against people mainly through brute
force computation--looking at hundreds of thousands of positions. To beat a world
champion by brute force and known reliable heuristics requires being able to look
at 200 million positions per second.
Speech recognition
In the 1990s, computer speech recognition reached a practical level for limited
purposes. Thus United Airlines has replaced its keyboard tree for flight
information by a system using speech recognition of flight numbers and city
names. It is quite convenient. On the the other hand, while it is possible to
instruct some computers using speech, most users have gone back to the
keyboard and the mouse as still more convenient.
Understanding natural language
Just getting a sequence of words into a computer is not enough. Parsing
sentences is not enough either. The computer has to be provided with an
understanding of the domain the text is about, and this is presently possible only
for very limited domains.
Computer vision
The world is composed of three-dimensional objects, but the inputs to the human
eye and computers' TV cameras are two dimensional. Some useful programs can
work solely in two dimensions, but full computer vision requires partial three-
dimensional information that is not just a set of two-dimensional views. At present
there are only limited ways of representing three-dimensional information directly,
and they are not as good as what humans evidently use.
Heuristic classification
One of the most feasible kinds of expert system given the present knowledge of AI
is to put some information in one of a fixed set of categories using several
sources of information. An example is advising whether to accept a proposed
credit card purchase. Information is available about the owner of the credit card,
his record of payment and also about the item he is buying and about the
establishment from which he is buying it (e.g., about whether there have been
previous credit card frauds at this establishment).
AI IN FUTURE
The directions for near-future development of artificial intelligence (AI) can be
described in terms of four dichotomies: the use of reasoning versus the use of
knowledge; the roles of parallel and of serial systems; systems that perform and
systems that learn to perform; and programming languages derived from the
search metaphor versus languages derived from the logical reasoning metaphor.
Although the author believes that there are reasons for emphasizing knowledge
systems (production systems) that are serial, capable of expert performance, and
designed in terms of the search metaphor, the other pathways are also important
and should not be ignored. In particular, empirical work is needed in the
construction and empirical testing of the performance of large systems to explore
all of these branching pathways.
CONCLUSION
The important aspects to every AI programs are:

4.57
Knowledge-representation framework
Problem- solving inference methods
These two aspects interact heavily with each other. The choice of Knowledge-
representation framework determines but kind of problem solving methods that
can be applied.
Recently, awareness that AI techniques can be useful in a broad spectrum of
programming domains has increased. This can be traced both to the improved
development of AI methods and to the growing magnitude of computing power
that can be brought to bear to solve the problems. The area in which AI and
programming come the most closely together is automatic programming, in which
problem-solving techniques and the database of both task-domain and
programming knowledge are combined to produce a system that generates
programs automatically. Automatic programming systems differ in the way that
they accept descriptions of the programs that they should write
REFERENCES
1. Rich E. A., Artificial Intelligence, Mc Graw Hill International Edition, 2002.
2. cs.stanford.edu
3. www.artificialintelligence.com
4. www.softrobotics.com
5. www.roboticsonline.com

4.58

You might also like