Artificial intelligence in software engineering ppt.
1.
2.
3. Intelligence:
“the capacity to learn and solve problems” (Websters dictionary)
in particular,
▪ the ability to solve novel problems
▪ the ability to act rationally
▪ the ability to act like humans
Artificial Intelligence:
build and understand intelligent entities or agents
2 main approaches: “engineering” versus “cognitive modeling”
4. • It is the science and
engineering of making
intelligent machines,
especially intelligent
computer programs. It is
related to the similar task
of using computers to
understand human
intelligence, but AI does
not have to confine itself to
methods that are
biologically observable.
What is
artificial
intelligence
?
• Intelligence is the
computational part of the
ability to achieve goals in
the world.Varying kinds
and degrees of
intelligence occur in
people, many animals
and some machines.
Yes, but
what is
intelligence
?
5.
6. “ Software is a set of instructions to acquire
inputs and to manipulate them to produce the
desired output in terms of functions and
performance as determined by the user of the
software. It also include a set of documents,
such as the software manual , meant for users
to understand the software system.”
7. Although hundreds of authors have developed personal definitions of
software engineering, a definition proposed by Fritz Bauer[NAU69]
provides a basis:
“[Software engineering is] the establishment and use of sound
engineering principles in order to obtain economically software that is
reliable and works efficiently on real machines.”
The IEEE [IEE93] has developed a more comprehensive definition when it
states:
“Software Engineering: (1) The application of a systematic,
disciplined, quantifiable approach to the development, operation, and
maintenance of software; that is, the application of engineering to
software. (2) The study of approaches as in (1).”
8. There has been a recent surge in interest in the application of
Artificial Intelligence (AI) techniques to Software
Engineering (SE) problems.
The work is typified by recent advances in Search Based
Software Engineering, but also by long established work in
Probabilistic reasoning and machine learning for Software
Engineering.
This explores some of the relationships between these
strands of closely related work, arguing that they have much
in common and sets out some future challenges in the area
of AI for SE.
9. • AI is a branch of computer science which is concerned with the
study and creation of computer systems that exhibit
• some form of intelligence
• OR
• those characteristics which we associate with intelligence in
human behavior
AI is a broad area consisting of different fields, from machine
vision, expert systems to the creation of machines that can
"think".
In order to classify machines as "thinking", it is necessary to define
intelligence.
10. Planning: It starts with development of strategy
achieving the goal.
Pattern Recognition: Computer recognizes and
recreates the world vision.
Ontology: It is the study of what objects are and what
are they made of.
Robotics: It is the study of how to design, build, use,
and work with robots.
Artificial Life: It is a field of scientific study that
attempts to model living biological systems through
complex algorithms
Epistemology: Is a study of knowledge that are
required for solving problems in the world.
11. The integration of matured AI methods and techniques with
conventional software engineering remains difficult and poses both
implementation problems and conceptual problems.
In this report we are mainly concerned with implementation problems.
These include, more specifically, two aspects.
1. There is component-level interoperability; that is, the use of existing
AI software and its knowledge bases with other conventional
components.
2. Referred to as AI components reengineering —the process of
restructuring existing matured AI components using software
engineering practices to enable effective enhancement, adapta- tion,
and maintenance through their continued use.
These issues represent software engineering challenges that span the
complete software life cycle and software engineering languages such as
Ada.
12. The SE community has used three broad
areas of AI techniques:
1) Computational search and optimisation
techniques (the field known as Search Based
Software Engineering (SBSE).
2) Fuzzy and probabilistic methods for
reasoning in the presence of uncertainty.
3) Classification, learning and prediction.
14. It is a test of a machine’s ability to exhibit intelligent behavior
equivalent to, or indistinguishable from, that of a human. In the
original illustrative example, a human judge engages in natural
language conversations with a human and a machine designed to
generate performance indistinguishable from that of a human being.
15. R&D Plan for ArmyApplications of AI/Robotics.
Expert system:An expert system compared
with traditional computer:
Inference engine + Knowledge = expert system
(Algorithm + data structures = program in
traditional computer)
Fuzzy Logic
Mobile Robotics and Games (Path Planning)
16. Genetic algorithms
Path finding algorithms
Heuristic function
Depth first search
Breadth first search
A * search algorithm
Generic SearchingAlgorithm
Problem Reduction Algorithms
17. In the next 10 years technologies in narrow fields such
as speech recognition will continue to improve and
will reach human levels.
In 10 years AI will be able to communicate with
humans in unstructured English using text or voice,
navigate (not perfectly) in an unprepared
environment and will have some rudimentary
common sense (and domain-specific intelligence).
However the field of artificial consciousness remains
in its infancy.
The early years of the 21st century should see
dramatic stridesforward in this area however.
19. We conclude that if the machine could successfully
pretend to behuman to a knowledgeable observer
then you certainly shouldconsider it intelligent. AI
systems are now in routine use invarious field such
as economics, medicine, engineering and
themilitary, as well as being built into many
common homecomputer software applications,
traditional strategy games etc.