SlideShare a Scribd company logo
1 of 23
PRACTICAL FILE
ON
ARTIFICIAL INTELLIGENCE
Submitted in Partial fulfillment of requirement for the degree of
Masters of Science in (Information Technology)
MSc(IT)-1st
Semester
Submitted to:- submitted by:-
Mr amrish aggarwal Harshdeep kaur
(6501)
Certificate
This is to certify that this practical file entitled “ARTIFICIAL
INTELLIGENCE” submitted to MR Amrish Aggarwal for the fulfillment of
the requirement for the Submitted in Partial fulfillment of requirement for the
degree of Mastersof Science in (Information Technology) is a bona fide project
work carried out by Harshdeep Kaur student of MSc(IT)-1st Semester under my
supervisionand guidance during the session 2014-2015.The assistance and help
rendered during the course of investigation and sources of literature have been
acknowledged.
Mr Amrish Aggarwal
ACKNOWLEDGEMENT
We would like to acknowledge our deep sense of gratitude to our guide Mr.
Vijay Sehgal, Lecturer (Information Technology),S.C.D. GOVT.
COLLEGE,LUDHIANA for her continuous encouragement and efforts by which
we are able to make this project .We are highly indebted to her to provide us the
excellent suggestions and vast matter necessary for this project. We gained
useful knowledge under her guidance.
We humbly extend our words of gratitude to our respected Head Of Department
(HOD) Dr. Gursharan Singh Sandhu and other faculty members for providing
us with their valuable time and help whenever it was required.
INDEX
S. No. PARTICULARS PAGE NO. REMARKS
INTRODUCTION
ARTIFICIAL :- The simple definition of artificial is that objects that are made
or produced by human beings rather than occurring naturally.
INTELLIGENCE:- The simple definition of intelligence is a process of entail a set
of skills of problem solving, enabling to resolve genuine problems or difficulties that
encounters and to create an effective product and must also entail the potential for finding
or creating problems and thereby laying the groundwork for the acquisition of new
knowledge.
ARTIFICIAL INTELLIGENCE:-
Artificial intelligence is a branch of science which deals with helping machines find
solution to complex problems in a more human like fashion. This generally involves
borrowing characteristics from human intelligence, and applying them as algorithms in a
computer friendly way. A more or less or flexible or efficient approach can be taken
depending on the requirements established, which influences how artificial intelligent
behavior appears.
Artificial intelligence is generally associated with computer science, but it has many
important links with other fields such as maths, psychology, cognition , biology and
philosophy , among many others . Our ability to combine knowledge from all these fields
will ultimately benefits our progress in the quest of creating an intelligent artificial being.
A.I is mainly concerned with the popular mind with the robotics development, but also
the main field of practical application has been as an embedded component in the areas of
software development which require computational understandings and modeling such as
such as finance and economics, data mining and physical science.
A.I in the fields of robotics is the make a computational models of human thought
processes. It is not enough to make a program that seems to behave the way human do.
You want to make a program that does it the way humans do it.
In computer science they also the problems bcoz we have to make a computer that are
satisfy for understanding the high-level languages and that was taken to be A.I.
HISTORY OF A.I
The intellectual roots of AI, and the concept of intelligent machines, may be found in
Greek mythology. Intelligent artifacts appear in literature since then, with real
mechanical devices actually demonstrating behaviour with some degree of intelligence.
After modern computers became available following World War-II, it has become
possible to create programs that perform difficult intellectual tasks.
1950s: The Beginnings of Artificial Intelligence
(AI) Research
With the development of the electronic computer in 1941 and the stored program
computer in 1949 the condition for research in artificial intelligence is given, still the
observation of a link between human intelligence and machines was not widely observed
until the late in 1950
The first working AI programs were written in 1951 to run on the Ferranti Mark I
machine of the University of Manchester (UK): a draughts-playing program written by
Christopher Strachey and a chess-playing program written by Dietrich Prinz.
The person who finally coined the term artificial intelligence and is regarded as
the father of the of AL is John McCarthy. In 1956 he organized a conference “the
Darthmouth summer research project on artificial intelligence" to draw the talent and
expertise of others interested in machine intelligence of a month of brainstorming. In the
following years AI research centers began forming at the Carnegie Mellon University as
well as the Massachusetts Institute of Technology (MIT) and new challenges were
faced:
GOALS OF A.I
The general problem of simulating (or creating) intelligence has been broken down into a
number of specific sub-problems. These consist of particular traits or capabilities that
researchers would like an intelligent system to display. The traits described below have
received the most attention.
 Deduction, reasoning, problem solving:-
For difficult problems, most of these algorithms can require enormous
computational resources most experience a "combinatorial explosion": the amount of
memory or computer time required becomes astronomical when the problem goes beyond
a certain size. The search for more efficient problem-solving algorithms is a high priority
for AI research.
Human beings solve most of their problems using fast, intuitive judgements rather than
the conscious, step-by-step deduction that early AI research was able to model. AI has
made some progress at imitating this kind of "sub-symbolic" problem solving: embodied
agent approaches emphasize the importance of sensorimotor skills to higher reasoning;
neural net research attempts to simulate the structures inside the brain that give rise to
this skill; statistical approaches to AI mimic the probabilistic nature of the human ability
to guess.
 Knowledge representation:-
Knowledge representation and knowledge engineering are central to AI
research. Many of the problems machines are expected to solve will require extensive
knowledge about the world. Among the things that AI needs to represent are: objects,
properties, categories and relations between objects; situations, events, states and time;
causes and effects; knowledge about knowledge (what we know about what other people
know) and many other, less well researched domains. A representation of "what exists" is
an ontology: the set of objects, relations, concepts and so on that the machine knows
about. The most general are called upper ontologies, which attempt provide a foundation
for all other knowledge.
 Planning:-
Intelligent agents must be able to set goals and achieve them. They need a
way to visualize the future and be able to make choices that maximize the utility (or
"value") of the available choices.
In classical planning problems, the agent can assume that it is the only thing
acting on the world and it can be certain what the consequences of its actions may be.
However, if the agent is not the only actor, it must periodically ascertain whether the
world matches its predictions and it must change its plan as this becomes necessary,
requiring the agent to reason under uncertainty.
 Natural language processing:-
Natural language processing gives machines the ability to read and understand
the languages that humans speak. A sufficiently powerful natural language processing
system would enable natural language user interfaces and the acquisition of knowledge
directly from human-written sources, such as Internet texts. Some straightforward
applications of natural language processing include information retrieval (or text mining)
and machine translation.
A common method of processing and extracting meaning from natural
language is through semantic indexing. Increases in processing speeds and the drop in the
cost of data storage makes indexing large volumes of abstractions of the users input much
more efficient.
 Motion and manipulation:-
The field of robotics is closely related to AI. Intelligence is required for robots
to be able to handle such tasks as object manipulation and navigation, with sub-problems
of localization (knowing where you are, or finding out where other things are), mapping
(learning what is around you, building a map of the environment), and motion planning
(figuring out how to get there) or path planning (going from one point in space to another
point, which may involve compliant motion - where the robot moves while maintaining
physical contact with an object).
 Perception:-
Machine perceptionis the ability to use input from sensors (such as cameras,
microphones, sonar and others more exotic) to deduce aspects of the world. Computer
vision is the ability to analyze visual input. A few selected subproblems are speech
recognition facial recognition and object recognition.
 Social intelligence:-
Affective computing is the study and development of systems and devices that
can recognize, interpret, process, and simulate human affects. It is an interdisciplinary
field spanning computer sciences, psychology, and cognitive science While the origins of
the field may be traced as far back as to early philosophical inquiries into emotion. A
motivation for the research is the ability to simulate empathy. The machine should
interpret the emotional state of humans and adapt its behaviour to them, giving an
appropriate response for those emotions.
Emotion and social skills play two roles for an intelligent agent. First, it must be
able to predict the actions of others, by understanding their motives and emotional states.
(This involves elements of game theory, decision theory, as well as the ability to model
human emotions and the perceptual skills to detect emotions.) Also, in an effort to
facilitate human-computer interaction, an intelligent machine might want to be able to
display emotions—even if it does not actually experience them itself—in order to appear
sensitive to the emotional dynamics of human interaction.
 General intelligence:-
Most researchers think that their work will eventually be incorporated into a machine
with general intelligence (known as strong AI), combining all the skills above and
exceeding human abilities at most or all of them. A few believe that anthropomorphic
features like artificial consciousness or an artificial brain may be required for such a
project.
Many of the problems above may require general intelligence to be considered solved.
For example, even a straightforward, specific task like machine translation requires that
the machine read and write in both languages (NLP), follow the author's argument
(reason), know what is being talked about (knowledge), and faithfully reproduce the
author's intention (social intelligence). A problem like machine translation is considered
"AI-complete". In order to solve this particular problem, you must solve all the problems.
CATEGORIES OF A.I
AI divides roughly into two schools of thought:
1. Conventional AI.
2. Computational Intelligence (CI).
Conventional AI :-Conventional AI mostly involves methods now classified as
machine learning, characterized by formalism and statistical analysis. This is also known
as symbolic AI, logical AI, neat AI and Good Old Fashioned Artificial Intelligence
(GOFAI).
Methods include:
Expert systems: apply reasoning capabilities to reach a conclusion. An expert system can
process large amounts of known information and provide conclusions based on them.
 Case based reasoning
 Bayesian networks
 Behavior based AI: a modular method of building AI systems by hand.
Computational Intelligence (CI) :-
Computational Intelligence involves iterative development or learning (e.g. parameter
tuning e.g. in connectionist systems). Learning is based on empirical data and is
associated with non-symbolic AI, scruffy AI and soft computing.
APPLICATIONS OF A.I
Artificial intelligence has been used in a wide range of fields including medical
diagnosis, stock trading, robot control, law, scientific discovery and toys
.
Hospitals and medicine:-
A medical clinic can use artificial intelligence systems to organize bed schedules, make a
staff rotation, and provide medical information.
Artificial neural networks are used as clinical decision support systems for medical
diagnosis, such as in Concept Processing technology in EMR software.
Other tasks in medicine that can potentially be performed by artificial intelligence
include:
 Computer-aided interpretation of medical images. Such systems
help scan digital images, e.g. from computed tomography, for
typical appearances and to highlight conspicuous sections, such
as possible diseases. A typical application is the detection of a
tumor.
 Heart sound analysis.
Heavy industry:-
Robots have become common in many industries. They are often given jobs that are
considered dangerous to humans. Robots have proven effective in jobs that are very
repetitive which may lead to mistakes or accidents due to a lapse in concentration and
other jobs which humans may find degrading.
 Game Playing :-
 This prospered greatly with the Digital Revolution, and helped
introduce people, especially children, to a life of dealing with various
types of Artificial Intelligence
 You can also 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.
 The internet is the best example were one can buy machine and play
various games.
 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 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
computer’s 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.
 Expert Systems :-
A ``knowledge engineer'' interviews experts in a certain domain and tries to embody their
knowledge in a computer program for carrying out some task. How well this works
depends on whether the intellectual mechanisms required for the task are within the
present state of AI. One of the first expert systems was MYCIN in 1974, which
diagnosed bacterial infections of the blood and suggested treatments. It did better than
medical students or practicing doctors, provided its limitations were observed.
 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).
Knowledge Representation
A subarea of Artificial Intelligence concerned with understanding, designing,
and implementing ways of representing information in computers so that
programs (agents) can use this information • to derive information that is
implied by it,
• to converse with people in natural languages,
• to decide what to do next
• to plan future activities,
• to solve problems in areas that normally require human expertise.
LISP
 Lisp is a high-level programming language with automatic storage management
 Common Lisp is a multi-paradigm language. It allows you to write programs in the
procedural/imperative, functional/applicative and object-oriented styles. These styles
may be freely mixed in a Common Lisp program. This allows you to choose the
approach and paradigm according to your application domain.
 Common Lisp is written in a fully-parenthesized, prefix notation. This means that
applying the function func to arguments x and "hello" is written (func x "hello") rather
than the more conventional func(x, "hello"). This might make the syntax harder to
learn if you are accustomed to other languages, but after some practice it becomes
quite natural. It also makes macros possible
 Lisp was invented by John McCarthy in 1958 while he was at the Massachusetts
Institute of Technology (MIT) . He showed that with a few simple operators and a
notation for functions, one can build a Turing-complete language for algorithms.
Connection to artificial intelligence
Since its inception, Lisp was closely connected with the artificial intelligence research
community, especially on PDP-10 systems. Lisp was used as the implementation of the
programming language Micro Planner which was used in the famous AI
system SHRDLU
LISP language
Although LISP doesn't have a built-in inference mechanism, inference processes can be
implemented into LISP very easily. LISP's essential data structure is an ordered sequence
of elements called a "list." The elements may be irreducible entities called "atoms"
(functions, names or numbers) or they can be other lists. Lists are essential for AI work
because of their flexibility: a programmer need not specify in advance the number or type
of elements in a list. Also, lists can be used to represent an almost limitless array of
things, from expert rules to computer programs to thought processes to system
component
Atom:-
The most basic building block of LISP consisting of a string of characters beginning with
a letter, digit, or any special character other than a left or right parenthesis.
Examples could be "happy", "red", "Two", "2", "3.14", and so on
List:-
A collection of S-Expressions, called elements, enclosed in by parenthese. Examples
could be "(a b c)", "(1, 2, 3)", "(happy, red, Two, 2, 3.14)
Significant Language Features
 Atoms & Lists - Lisp uses two different types of data structures, atoms and lists.
o Atoms are similar to identifiers, but can also be numeric constants
o Lists can be lists of atoms, lists, or any combination of the two
 Functional Programming Style - all computation is performed by applying
functions to arguments. Variable declarations are rarely used.
 Uniform RepresentationofData and Code - example: the list (A B C D)
o a list of four elements (interpreted as data)
o is the application of the function named A to the three parameters B, C,
and D (interpreted as code)
 Reliance on Recursion- a strong reliance on recursion has allowed Lisp to be
successfulin many areas, including Artificial Intelligence.
 Garbage Collection- Lisp has built-in garbage collection, so programmers do not
need to explicitly free dynamically allocated memory.
adjoin A LISP function that adds an element to a set if it is not already there.
car
LISP function that returns the first element of a list where the list cannot be the
null-list.
cdr LISP function that returns all elements but the first element of the list.
cons
LISP function that takes two arguements, an S-Expression and a list, and
creates a new list with the first element in the new list being the first
arguement.
head First element of a list.
intersection
A LISP function that takes two sets and returns a set containing only the
elements that were in both of the initial sets.
member
A LISP function that determines if an element is a member of a set. If it is a
member of the set then it returns the tail of the list beginning with the first
element that matches. If it is not a member of the set then a nil list is returned.
null
A special example of an S-Expression that is both an atom and a list. Example
"()".
Recursion
The ability of a program to call itself which also enables a program to define
itself in terms of itself. This is frequently used to control the programs
execution.
sets A collection of elements.
S-Expressions An atom, list, or collection of S-Expressions surrounded by parentheses.
tail A list consisting of all elements of a list except the head or first element.
union
A LISP function that takes two sets and returns a set containing all of the
elements that were in either of the original sets with no duplications
define
create a variable x with the value of expr assigned as value. Examples: (define
x 3), (define y (cdr L)). Note expr is evaluated then assigned
cadr
cddr
caddr
shorthand for (car (cdr L)),
(cdr (cdr L)),
(car (cdr (cdr L))),
lambda
create a function with args (a list of 0 or more atoms) as arguments, and return
value specified by expr. Arguments are passed by value. Example:
(define last_element
(lambda (L)
(cond
((null? L) NULL)
((null? (cdr L)) (car L))
(T (last_element (cdr L)))))
Example of operators in LISP
Syntax:
• Prefix notation – Operator first, arguments follow – E.g. (+ 3 2) adds 3and 2
A lot of parentheses
• These define lists and also programs
• Examples: – (a b c d) is a list of 4 elements (atoms) a,b,c,d –
(defun factorial (num) (cond ((<= num 0) 1) (t (* (factorial (- num 1)) num)) ))
For eachsymbol lisp attempts to find its value
> (setq a 10) ;;sets a value of symbol a to 10
10
> a ;; returns the value of a 10
Specialsymbols:
> t ;; true
T
> nil ;; nil stands for false or NIL
> ( ) ;; an empty list NIL
List building functions
> (cons ‘b nil) ;; quote means: do not eval the argument (b)
> (setq a (cons ‘b (cons ‘c nil)) ;; setq a is a shorthand for set ‘a (b c)
> (setq v (list ‘john 34 25))
(john 34 25)
> (setq v (list a 34 25))
((b c) 34 25)
> ( append ‘(1 2) ‘(2 3))
(1 2 2 3)
Evaluation rules:
• A symbol value is sought and substituted
• A quoted value is kept untouched
> (setq a 12)
12
> (setq b (+ a 4))
16
> (setq b ‘(+ a 4))
(+ a 4)
Some useful functions and predicates:
> (setq a ‘(1 2 3 4 5))
(1 2 3 4 5)
> (length a) ;; gives the list length of the argument
5
> (atom ‘a) ;; checks if the argument is an atom
T
> (atom a)
NIL
> (listp ‘a) ;; checks if the argument is a list
NIL
> (listp a)
T
Definition of a function
(defun <f-name> <parameter list> <body>)
> (defun square (x)
(* x x))
SQUARE
> (square 2)
4
> (square (square 2))
16
Cond statement:
sequentially tests conditions, the call associated with the first true condition is
executed
> (defun abs (a)
(cond ((> a 0) a)
(t (- a))))
ABS
> (abs 2)
2
> (abs -3)
3
if statement:
(if <test> <then> <else>)
> (defun abs (a)
(if (> a 0) a (- a)))
ABS
> (abs 2)
2
> (abs -3)
3
Logical operators:
and, or
> (and NIL T)
NIL
> (and T 2 3)
3
> (or nil (= 5 4))
NIL
> (or nil 5)
5
Recursive function definitions are very common in LISP
> (defun factorial (num)
(cond ((<= num 0) 1)
(t (* (factorial (- num 1)) num)) )
)
FACTORIAL
> (factorial 4)
24
Defining local variables
> (setq a 7) ;store a number as the value of a symbol
7
> a ;take the value of a symbol
7
Iterations:
Loop
> (setq a 4)
4
> (loop (setq a (+ a 1))
(when (> a 7) (return a))) ;; return exists the loop
8
> (loop (setq a (- a 1))
(when (< a 3) (return)))
NIL
You can input/output data to:
• standard input/output,
• string or
• file
A number of functions supported by the Lisp:
• (read) ;; reads the input from the standard input
• (print ‘a) ;; prints to the standard output
Function
Name
Purpose Comment
Syntax
print
print lisp
objects
output can be read back
by function read.
(PRINT OBJECT)
prin1
like print, but
does not add
newline at end.
◇
(prin1
‘(“x””y”));
Result display:
(“x” “y”)
princ
print without
newline nor
delimiters.
For human reading.
(princ
‘(“x””y”));
Result display:
(x y)
(format STRING &rest OBJECTS)
Format a string out of a format-string and arguments.
The first argument is a format control string.
The other arguments are substituted into it to make the result, a string.
The format control string may contain %-sequences meaning to substitute
the next available argument:
%s means print a string argument. Actually, prints any object, with `princ'.
%d means print as number in decimal (%o octal, %x hex).
%X is like %x, but uses upper case.
%e means print a number in exponential notation.
%f means print a number in decimal-point notation.
%g means print a number in exponential notation
or decimal-point notation, whichever uses fewer characters.
%c means print a number as a single character.
%S means print any object as an s-expression (using `prin1'
• (scanf …) (printf …) (format …) for formatted input and output
• (open ..) (close ..) for opening and closing the files
• (load ..) reads and executes the fil
LISP examples
examples of Common Lisp code.
The basic "Hello world" program:
(print "Hello world")
Lisp syntax lends itself naturally to recursion. Mathematical problems such as the
enumeration of recursively defined sets are simple to express in this notation.
Evaluate a number's factorial:
(defun factorial (n)
(if (= n 0) 1
(* n (factorial (- n 1)))))
An alternative implementation, often faster than the previous version if the Lisp system
has tail recursion optimization:
(defun factorial (n &optional (acc 1))
(if (= n 0) acc
(factorial (- n 1) (* acc n))))
Contrast with an iterative version which uses Common Lisp's loop macro:
(defun factorial (n)
(loop for i from 1 to n
for fac = 1 then (* fac i)
finally (return fac)))
The following function reverses a list. (Lisp's built-in reverse function does the same
thing.)
(defun -reverse (list)
(let ((return-value '()))
(dolist (e list) (push e return-value))
return-value))
Example of operators in LISP
Syntax:
• Prefix notation – Operator first, arguments follow – E.g. (+ 3 2) adds 3and 2
A lot of parentheses
• These define lists and also programs
• Examples: – (a b c d) is a list of 4 elements (atoms) a,b,c,d –
(defun factorial (num) (cond ((<= num 0) 1) (t (* (factorial (- num 1)) num)) ))
For eachsymbol lisp attempts to find its value
> (setq a 10) ;;sets a value of symbol a to 10
10
> a ;; returns the value of a 10
Specialsymbols:
> t ;; true
T
> nil ;; nil stands for false or NIL
Programs in lisp
Write a program for area of circle
; the function AreaOfCircle
; calculates area of a circle
; when the radius is input from keyboard
(defun AreaOfCircle()
(terpri)
(princ "Enter Radius: ")
(setq radius (read))
(setq area (* 3.1416 radius radius))
(princ "Area: ")
(write area))
(AreaOfCircle)
OUTPUT
Enter Radius: 5 (STDIN Input)
Area: 78.5399
Write a program to input a number and double it
(defun DoubleNumber()
(terpri)
(princ "Enter Number : ")
(setq n1 (read))
(setq doubled (* 2.0 n1))
(princ "The Number: ")
(write n1)
(terpri)
(princ "The Number Doubled: ")
(write doubled)
)
(DoubleNumber)
OUTPUT
Enter Number : 3456.78 (STDIN Input)
The Number: 3456.78
The Number Doubled: 6913.56

More Related Content

What's hot

Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial IntelligenceMhd Sb
 
Cognitive Science Artificial Intelligence
Cognitive Science Artificial IntelligenceCognitive Science Artificial Intelligence
Cognitive Science Artificial IntelligenceSamantha Luber
 
Cognitive Science and AI
Cognitive Science and AICognitive Science and AI
Cognitive Science and AISaboor Ahmed
 
Ai complete note
Ai complete noteAi complete note
Ai complete noteNajar Aryal
 
Technologies Demystified: Artificial Intelligence
Technologies Demystified: Artificial IntelligenceTechnologies Demystified: Artificial Intelligence
Technologies Demystified: Artificial IntelligencePioneers.io
 
Artificial Intelligent introduction or history
Artificial Intelligent introduction or historyArtificial Intelligent introduction or history
Artificial Intelligent introduction or historyArslan Sattar
 
Artificial intelligent
Artificial intelligentArtificial intelligent
Artificial intelligentFamida Sk
 
Artificial Intelligence Research Topics for PhD Manuscripts 2021 - Phdassistance
Artificial Intelligence Research Topics for PhD Manuscripts 2021 - PhdassistanceArtificial Intelligence Research Topics for PhD Manuscripts 2021 - Phdassistance
Artificial Intelligence Research Topics for PhD Manuscripts 2021 - PhdassistancePhD Assistance
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligenceRishab Acharya
 
Ai based projects
Ai based projectsAi based projects
Ai based projectsaliaKhan71
 
Robot & Frank & Basic AI
Robot & Frank & Basic AIRobot & Frank & Basic AI
Robot & Frank & Basic AIChris Riley ☁
 

What's hot (20)

Artificial Intelligence
Artificial IntelligenceArtificial Intelligence
Artificial Intelligence
 
Cognitive Science Artificial Intelligence
Cognitive Science Artificial IntelligenceCognitive Science Artificial Intelligence
Cognitive Science Artificial Intelligence
 
Ai 01 introduction
Ai 01 introductionAi 01 introduction
Ai 01 introduction
 
Cognitive Science and AI
Cognitive Science and AICognitive Science and AI
Cognitive Science and AI
 
Ai complete note
Ai complete noteAi complete note
Ai complete note
 
AIML_Unit1.pptx
AIML_Unit1.pptxAIML_Unit1.pptx
AIML_Unit1.pptx
 
Ai introduction
Ai  introductionAi  introduction
Ai introduction
 
901470 chap1
901470 chap1901470 chap1
901470 chap1
 
Cosc 208 lecture note-1
Cosc 208 lecture note-1Cosc 208 lecture note-1
Cosc 208 lecture note-1
 
Artificial intel
Artificial intelArtificial intel
Artificial intel
 
What is AI?
What is AI?What is AI?
What is AI?
 
Technologies Demystified: Artificial Intelligence
Technologies Demystified: Artificial IntelligenceTechnologies Demystified: Artificial Intelligence
Technologies Demystified: Artificial Intelligence
 
Artificial Intelligent introduction or history
Artificial Intelligent introduction or historyArtificial Intelligent introduction or history
Artificial Intelligent introduction or history
 
Artificial intelligent
Artificial intelligentArtificial intelligent
Artificial intelligent
 
Lect 01, 02
Lect 01, 02Lect 01, 02
Lect 01, 02
 
Artificial Intelligence Research Topics for PhD Manuscripts 2021 - Phdassistance
Artificial Intelligence Research Topics for PhD Manuscripts 2021 - PhdassistanceArtificial Intelligence Research Topics for PhD Manuscripts 2021 - Phdassistance
Artificial Intelligence Research Topics for PhD Manuscripts 2021 - Phdassistance
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
 
Ai based projects
Ai based projectsAi based projects
Ai based projects
 
Robot & Frank & Basic AI
Robot & Frank & Basic AIRobot & Frank & Basic AI
Robot & Frank & Basic AI
 
AI ch1
AI ch1AI ch1
AI ch1
 

Similar to ar

Artificial intelligence report
Artificial intelligence reportArtificial intelligence report
Artificial intelligence reportSourabh Sharma
 
Application Of Artificial Intelligence In Electrical Engineering
Application Of Artificial Intelligence In Electrical EngineeringApplication Of Artificial Intelligence In Electrical Engineering
Application Of Artificial Intelligence In Electrical EngineeringAmy Roman
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligenceNimesh_parmar
 
34_artificial_intelligence_1.ppt
34_artificial_intelligence_1.ppt34_artificial_intelligence_1.ppt
34_artificial_intelligence_1.pptAnkitKumar891632
 
Artificial intelligence-full -report.doc
Artificial intelligence-full -report.docArtificial intelligence-full -report.doc
Artificial intelligence-full -report.docdaksh Talsaniya
 
EELU AI lecture 1- fall 2022-2023 - Chapter 01- Introduction.ppt
EELU AI  lecture 1- fall 2022-2023 - Chapter 01- Introduction.pptEELU AI  lecture 1- fall 2022-2023 - Chapter 01- Introduction.ppt
EELU AI lecture 1- fall 2022-2023 - Chapter 01- Introduction.pptDaliaMagdy12
 
Mahakal institute of technology
Mahakal institute of technologyMahakal institute of technology
Mahakal institute of technologyOman Jangir
 
AI_01_introduction.pptx
AI_01_introduction.pptxAI_01_introduction.pptx
AI_01_introduction.pptxYousef Aburawi
 
901470_Chap1.ppt
901470_Chap1.ppt901470_Chap1.ppt
901470_Chap1.pptEithuThutun
 
901470_Chap1.ppt about to Artificial Intellgence
901470_Chap1.ppt about to Artificial Intellgence901470_Chap1.ppt about to Artificial Intellgence
901470_Chap1.ppt about to Artificial Intellgencechougulesup79
 
artificial intelligence basis-introduction
artificial intelligence basis-introductionartificial intelligence basis-introduction
artificial intelligence basis-introductionSaranya Subakaran
 

Similar to ar (20)

Artificial intelligence report
Artificial intelligence reportArtificial intelligence report
Artificial intelligence report
 
Application Of Artificial Intelligence In Electrical Engineering
Application Of Artificial Intelligence In Electrical EngineeringApplication Of Artificial Intelligence In Electrical Engineering
Application Of Artificial Intelligence In Electrical Engineering
 
Ai
AiAi
Ai
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
 
34_artificial_intelligence_1.ppt
34_artificial_intelligence_1.ppt34_artificial_intelligence_1.ppt
34_artificial_intelligence_1.ppt
 
Artificial intelligence-full -report.doc
Artificial intelligence-full -report.docArtificial intelligence-full -report.doc
Artificial intelligence-full -report.doc
 
EELU AI lecture 1- fall 2022-2023 - Chapter 01- Introduction.ppt
EELU AI  lecture 1- fall 2022-2023 - Chapter 01- Introduction.pptEELU AI  lecture 1- fall 2022-2023 - Chapter 01- Introduction.ppt
EELU AI lecture 1- fall 2022-2023 - Chapter 01- Introduction.ppt
 
Ai notes
Ai notesAi notes
Ai notes
 
Mahakal institute of technology
Mahakal institute of technologyMahakal institute of technology
Mahakal institute of technology
 
AI_01_introduction.pptx
AI_01_introduction.pptxAI_01_introduction.pptx
AI_01_introduction.pptx
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
 
What is AI?
What is AI?What is AI?
What is AI?
 
901470_Chap1.ppt
901470_Chap1.ppt901470_Chap1.ppt
901470_Chap1.ppt
 
901470_Chap1.ppt
901470_Chap1.ppt901470_Chap1.ppt
901470_Chap1.ppt
 
901470_Chap1.ppt
901470_Chap1.ppt901470_Chap1.ppt
901470_Chap1.ppt
 
AI_Intro1.ppt
AI_Intro1.pptAI_Intro1.ppt
AI_Intro1.ppt
 
Chap1.ppt
Chap1.pptChap1.ppt
Chap1.ppt
 
901470_Chap1.ppt about to Artificial Intellgence
901470_Chap1.ppt about to Artificial Intellgence901470_Chap1.ppt about to Artificial Intellgence
901470_Chap1.ppt about to Artificial Intellgence
 
artificial intelligence basis-introduction
artificial intelligence basis-introductionartificial intelligence basis-introduction
artificial intelligence basis-introduction
 
901470_Chap1 (1).ppt
901470_Chap1 (1).ppt901470_Chap1 (1).ppt
901470_Chap1 (1).ppt
 

ar

  • 1. PRACTICAL FILE ON ARTIFICIAL INTELLIGENCE Submitted in Partial fulfillment of requirement for the degree of Masters of Science in (Information Technology) MSc(IT)-1st Semester Submitted to:- submitted by:- Mr amrish aggarwal Harshdeep kaur (6501)
  • 2. Certificate This is to certify that this practical file entitled “ARTIFICIAL INTELLIGENCE” submitted to MR Amrish Aggarwal for the fulfillment of the requirement for the Submitted in Partial fulfillment of requirement for the degree of Mastersof Science in (Information Technology) is a bona fide project work carried out by Harshdeep Kaur student of MSc(IT)-1st Semester under my supervisionand guidance during the session 2014-2015.The assistance and help rendered during the course of investigation and sources of literature have been acknowledged. Mr Amrish Aggarwal
  • 3. ACKNOWLEDGEMENT We would like to acknowledge our deep sense of gratitude to our guide Mr. Vijay Sehgal, Lecturer (Information Technology),S.C.D. GOVT. COLLEGE,LUDHIANA for her continuous encouragement and efforts by which we are able to make this project .We are highly indebted to her to provide us the excellent suggestions and vast matter necessary for this project. We gained useful knowledge under her guidance. We humbly extend our words of gratitude to our respected Head Of Department (HOD) Dr. Gursharan Singh Sandhu and other faculty members for providing us with their valuable time and help whenever it was required.
  • 4. INDEX S. No. PARTICULARS PAGE NO. REMARKS
  • 5. INTRODUCTION ARTIFICIAL :- The simple definition of artificial is that objects that are made or produced by human beings rather than occurring naturally. INTELLIGENCE:- The simple definition of intelligence is a process of entail a set of skills of problem solving, enabling to resolve genuine problems or difficulties that encounters and to create an effective product and must also entail the potential for finding or creating problems and thereby laying the groundwork for the acquisition of new knowledge. ARTIFICIAL INTELLIGENCE:- Artificial intelligence is a branch of science which deals with helping machines find solution to complex problems in a more human like fashion. This generally involves borrowing characteristics from human intelligence, and applying them as algorithms in a computer friendly way. A more or less or flexible or efficient approach can be taken depending on the requirements established, which influences how artificial intelligent behavior appears. Artificial intelligence is generally associated with computer science, but it has many important links with other fields such as maths, psychology, cognition , biology and philosophy , among many others . Our ability to combine knowledge from all these fields will ultimately benefits our progress in the quest of creating an intelligent artificial being. A.I is mainly concerned with the popular mind with the robotics development, but also the main field of practical application has been as an embedded component in the areas of software development which require computational understandings and modeling such as such as finance and economics, data mining and physical science. A.I in the fields of robotics is the make a computational models of human thought processes. It is not enough to make a program that seems to behave the way human do. You want to make a program that does it the way humans do it. In computer science they also the problems bcoz we have to make a computer that are satisfy for understanding the high-level languages and that was taken to be A.I.
  • 6. HISTORY OF A.I The intellectual roots of AI, and the concept of intelligent machines, may be found in Greek mythology. Intelligent artifacts appear in literature since then, with real mechanical devices actually demonstrating behaviour with some degree of intelligence. After modern computers became available following World War-II, it has become possible to create programs that perform difficult intellectual tasks. 1950s: The Beginnings of Artificial Intelligence (AI) Research With the development of the electronic computer in 1941 and the stored program computer in 1949 the condition for research in artificial intelligence is given, still the observation of a link between human intelligence and machines was not widely observed until the late in 1950 The first working AI programs were written in 1951 to run on the Ferranti Mark I machine of the University of Manchester (UK): a draughts-playing program written by Christopher Strachey and a chess-playing program written by Dietrich Prinz. The person who finally coined the term artificial intelligence and is regarded as the father of the of AL is John McCarthy. In 1956 he organized a conference “the Darthmouth summer research project on artificial intelligence" to draw the talent and expertise of others interested in machine intelligence of a month of brainstorming. In the following years AI research centers began forming at the Carnegie Mellon University as well as the Massachusetts Institute of Technology (MIT) and new challenges were faced:
  • 7. GOALS OF A.I The general problem of simulating (or creating) intelligence has been broken down into a number of specific sub-problems. These consist of particular traits or capabilities that researchers would like an intelligent system to display. The traits described below have received the most attention.  Deduction, reasoning, problem solving:- For difficult problems, most of these algorithms can require enormous computational resources most experience a "combinatorial explosion": the amount of memory or computer time required becomes astronomical when the problem goes beyond a certain size. The search for more efficient problem-solving algorithms is a high priority for AI research. Human beings solve most of their problems using fast, intuitive judgements rather than the conscious, step-by-step deduction that early AI research was able to model. AI has made some progress at imitating this kind of "sub-symbolic" problem solving: embodied agent approaches emphasize the importance of sensorimotor skills to higher reasoning; neural net research attempts to simulate the structures inside the brain that give rise to this skill; statistical approaches to AI mimic the probabilistic nature of the human ability to guess.  Knowledge representation:- Knowledge representation and knowledge engineering are central to AI research. Many of the problems machines are expected to solve will require extensive knowledge about the world. Among the things that AI needs to represent are: objects, properties, categories and relations between objects; situations, events, states and time; causes and effects; knowledge about knowledge (what we know about what other people know) and many other, less well researched domains. A representation of "what exists" is an ontology: the set of objects, relations, concepts and so on that the machine knows about. The most general are called upper ontologies, which attempt provide a foundation for all other knowledge.  Planning:- Intelligent agents must be able to set goals and achieve them. They need a way to visualize the future and be able to make choices that maximize the utility (or "value") of the available choices. In classical planning problems, the agent can assume that it is the only thing acting on the world and it can be certain what the consequences of its actions may be.
  • 8. However, if the agent is not the only actor, it must periodically ascertain whether the world matches its predictions and it must change its plan as this becomes necessary, requiring the agent to reason under uncertainty.  Natural language processing:- Natural language processing gives machines the ability to read and understand the languages that humans speak. A sufficiently powerful natural language processing system would enable natural language user interfaces and the acquisition of knowledge directly from human-written sources, such as Internet texts. Some straightforward applications of natural language processing include information retrieval (or text mining) and machine translation. A common method of processing and extracting meaning from natural language is through semantic indexing. Increases in processing speeds and the drop in the cost of data storage makes indexing large volumes of abstractions of the users input much more efficient.  Motion and manipulation:- The field of robotics is closely related to AI. Intelligence is required for robots to be able to handle such tasks as object manipulation and navigation, with sub-problems of localization (knowing where you are, or finding out where other things are), mapping (learning what is around you, building a map of the environment), and motion planning (figuring out how to get there) or path planning (going from one point in space to another point, which may involve compliant motion - where the robot moves while maintaining physical contact with an object).  Perception:- Machine perceptionis the ability to use input from sensors (such as cameras, microphones, sonar and others more exotic) to deduce aspects of the world. Computer vision is the ability to analyze visual input. A few selected subproblems are speech recognition facial recognition and object recognition.  Social intelligence:- Affective computing is the study and development of systems and devices that can recognize, interpret, process, and simulate human affects. It is an interdisciplinary field spanning computer sciences, psychology, and cognitive science While the origins of the field may be traced as far back as to early philosophical inquiries into emotion. A motivation for the research is the ability to simulate empathy. The machine should interpret the emotional state of humans and adapt its behaviour to them, giving an appropriate response for those emotions.
  • 9. Emotion and social skills play two roles for an intelligent agent. First, it must be able to predict the actions of others, by understanding their motives and emotional states. (This involves elements of game theory, decision theory, as well as the ability to model human emotions and the perceptual skills to detect emotions.) Also, in an effort to facilitate human-computer interaction, an intelligent machine might want to be able to display emotions—even if it does not actually experience them itself—in order to appear sensitive to the emotional dynamics of human interaction.  General intelligence:- Most researchers think that their work will eventually be incorporated into a machine with general intelligence (known as strong AI), combining all the skills above and exceeding human abilities at most or all of them. A few believe that anthropomorphic features like artificial consciousness or an artificial brain may be required for such a project. Many of the problems above may require general intelligence to be considered solved. For example, even a straightforward, specific task like machine translation requires that the machine read and write in both languages (NLP), follow the author's argument (reason), know what is being talked about (knowledge), and faithfully reproduce the author's intention (social intelligence). A problem like machine translation is considered "AI-complete". In order to solve this particular problem, you must solve all the problems. CATEGORIES OF A.I AI divides roughly into two schools of thought: 1. Conventional AI. 2. Computational Intelligence (CI). Conventional AI :-Conventional AI mostly involves methods now classified as machine learning, characterized by formalism and statistical analysis. This is also known as symbolic AI, logical AI, neat AI and Good Old Fashioned Artificial Intelligence (GOFAI). Methods include: Expert systems: apply reasoning capabilities to reach a conclusion. An expert system can process large amounts of known information and provide conclusions based on them.  Case based reasoning  Bayesian networks  Behavior based AI: a modular method of building AI systems by hand.
  • 10. Computational Intelligence (CI) :- Computational Intelligence involves iterative development or learning (e.g. parameter tuning e.g. in connectionist systems). Learning is based on empirical data and is associated with non-symbolic AI, scruffy AI and soft computing. APPLICATIONS OF A.I Artificial intelligence has been used in a wide range of fields including medical diagnosis, stock trading, robot control, law, scientific discovery and toys . Hospitals and medicine:- A medical clinic can use artificial intelligence systems to organize bed schedules, make a staff rotation, and provide medical information. Artificial neural networks are used as clinical decision support systems for medical diagnosis, such as in Concept Processing technology in EMR software. Other tasks in medicine that can potentially be performed by artificial intelligence include:  Computer-aided interpretation of medical images. Such systems help scan digital images, e.g. from computed tomography, for typical appearances and to highlight conspicuous sections, such as possible diseases. A typical application is the detection of a tumor.  Heart sound analysis. Heavy industry:- Robots have become common in many industries. They are often given jobs that are considered dangerous to humans. Robots have proven effective in jobs that are very repetitive which may lead to mistakes or accidents due to a lapse in concentration and other jobs which humans may find degrading.  Game Playing :-  This prospered greatly with the Digital Revolution, and helped introduce people, especially children, to a life of dealing with various types of Artificial Intelligence
  • 11.  You can also 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.  The internet is the best example were one can buy machine and play various games.  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 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 computer’s 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.  Expert Systems :- A ``knowledge engineer'' interviews experts in a certain domain and tries to embody their knowledge in a computer program for carrying out some task. How well this works depends on whether the intellectual mechanisms required for the task are within the present state of AI. One of the first expert systems was MYCIN in 1974, which diagnosed bacterial infections of the blood and suggested treatments. It did better than medical students or practicing doctors, provided its limitations were observed.  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.
  • 12. 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). Knowledge Representation A subarea of Artificial Intelligence concerned with understanding, designing, and implementing ways of representing information in computers so that programs (agents) can use this information • to derive information that is implied by it, • to converse with people in natural languages, • to decide what to do next • to plan future activities, • to solve problems in areas that normally require human expertise.
  • 13. LISP  Lisp is a high-level programming language with automatic storage management  Common Lisp is a multi-paradigm language. It allows you to write programs in the procedural/imperative, functional/applicative and object-oriented styles. These styles may be freely mixed in a Common Lisp program. This allows you to choose the approach and paradigm according to your application domain.  Common Lisp is written in a fully-parenthesized, prefix notation. This means that applying the function func to arguments x and "hello" is written (func x "hello") rather than the more conventional func(x, "hello"). This might make the syntax harder to learn if you are accustomed to other languages, but after some practice it becomes quite natural. It also makes macros possible  Lisp was invented by John McCarthy in 1958 while he was at the Massachusetts Institute of Technology (MIT) . He showed that with a few simple operators and a notation for functions, one can build a Turing-complete language for algorithms. Connection to artificial intelligence Since its inception, Lisp was closely connected with the artificial intelligence research community, especially on PDP-10 systems. Lisp was used as the implementation of the programming language Micro Planner which was used in the famous AI system SHRDLU
  • 14. LISP language Although LISP doesn't have a built-in inference mechanism, inference processes can be implemented into LISP very easily. LISP's essential data structure is an ordered sequence of elements called a "list." The elements may be irreducible entities called "atoms" (functions, names or numbers) or they can be other lists. Lists are essential for AI work because of their flexibility: a programmer need not specify in advance the number or type of elements in a list. Also, lists can be used to represent an almost limitless array of things, from expert rules to computer programs to thought processes to system component Atom:- The most basic building block of LISP consisting of a string of characters beginning with a letter, digit, or any special character other than a left or right parenthesis. Examples could be "happy", "red", "Two", "2", "3.14", and so on List:- A collection of S-Expressions, called elements, enclosed in by parenthese. Examples could be "(a b c)", "(1, 2, 3)", "(happy, red, Two, 2, 3.14) Significant Language Features  Atoms & Lists - Lisp uses two different types of data structures, atoms and lists. o Atoms are similar to identifiers, but can also be numeric constants o Lists can be lists of atoms, lists, or any combination of the two  Functional Programming Style - all computation is performed by applying functions to arguments. Variable declarations are rarely used.  Uniform RepresentationofData and Code - example: the list (A B C D) o a list of four elements (interpreted as data) o is the application of the function named A to the three parameters B, C, and D (interpreted as code)  Reliance on Recursion- a strong reliance on recursion has allowed Lisp to be successfulin many areas, including Artificial Intelligence.  Garbage Collection- Lisp has built-in garbage collection, so programmers do not need to explicitly free dynamically allocated memory.
  • 15. adjoin A LISP function that adds an element to a set if it is not already there. car LISP function that returns the first element of a list where the list cannot be the null-list. cdr LISP function that returns all elements but the first element of the list. cons LISP function that takes two arguements, an S-Expression and a list, and creates a new list with the first element in the new list being the first arguement. head First element of a list. intersection A LISP function that takes two sets and returns a set containing only the elements that were in both of the initial sets. member A LISP function that determines if an element is a member of a set. If it is a member of the set then it returns the tail of the list beginning with the first element that matches. If it is not a member of the set then a nil list is returned. null A special example of an S-Expression that is both an atom and a list. Example "()". Recursion The ability of a program to call itself which also enables a program to define itself in terms of itself. This is frequently used to control the programs execution. sets A collection of elements. S-Expressions An atom, list, or collection of S-Expressions surrounded by parentheses. tail A list consisting of all elements of a list except the head or first element. union A LISP function that takes two sets and returns a set containing all of the elements that were in either of the original sets with no duplications define create a variable x with the value of expr assigned as value. Examples: (define x 3), (define y (cdr L)). Note expr is evaluated then assigned cadr cddr caddr shorthand for (car (cdr L)), (cdr (cdr L)), (car (cdr (cdr L))), lambda create a function with args (a list of 0 or more atoms) as arguments, and return value specified by expr. Arguments are passed by value. Example: (define last_element (lambda (L) (cond ((null? L) NULL) ((null? (cdr L)) (car L)) (T (last_element (cdr L)))))
  • 16. Example of operators in LISP Syntax: • Prefix notation – Operator first, arguments follow – E.g. (+ 3 2) adds 3and 2 A lot of parentheses • These define lists and also programs • Examples: – (a b c d) is a list of 4 elements (atoms) a,b,c,d – (defun factorial (num) (cond ((<= num 0) 1) (t (* (factorial (- num 1)) num)) )) For eachsymbol lisp attempts to find its value > (setq a 10) ;;sets a value of symbol a to 10 10 > a ;; returns the value of a 10 Specialsymbols: > t ;; true T > nil ;; nil stands for false or NIL > ( ) ;; an empty list NIL List building functions > (cons ‘b nil) ;; quote means: do not eval the argument (b) > (setq a (cons ‘b (cons ‘c nil)) ;; setq a is a shorthand for set ‘a (b c) > (setq v (list ‘john 34 25)) (john 34 25) > (setq v (list a 34 25)) ((b c) 34 25) > ( append ‘(1 2) ‘(2 3)) (1 2 2 3) Evaluation rules: • A symbol value is sought and substituted • A quoted value is kept untouched > (setq a 12) 12 > (setq b (+ a 4)) 16 > (setq b ‘(+ a 4)) (+ a 4)
  • 17. Some useful functions and predicates: > (setq a ‘(1 2 3 4 5)) (1 2 3 4 5) > (length a) ;; gives the list length of the argument 5 > (atom ‘a) ;; checks if the argument is an atom T > (atom a) NIL > (listp ‘a) ;; checks if the argument is a list NIL > (listp a) T Definition of a function (defun <f-name> <parameter list> <body>) > (defun square (x) (* x x)) SQUARE > (square 2) 4 > (square (square 2)) 16 Cond statement: sequentially tests conditions, the call associated with the first true condition is executed > (defun abs (a) (cond ((> a 0) a) (t (- a)))) ABS > (abs 2) 2 > (abs -3) 3 if statement: (if <test> <then> <else>) > (defun abs (a) (if (> a 0) a (- a))) ABS > (abs 2)
  • 18. 2 > (abs -3) 3 Logical operators: and, or > (and NIL T) NIL > (and T 2 3) 3 > (or nil (= 5 4)) NIL > (or nil 5) 5 Recursive function definitions are very common in LISP > (defun factorial (num) (cond ((<= num 0) 1) (t (* (factorial (- num 1)) num)) ) ) FACTORIAL > (factorial 4) 24 Defining local variables > (setq a 7) ;store a number as the value of a symbol 7 > a ;take the value of a symbol 7 Iterations: Loop > (setq a 4) 4 > (loop (setq a (+ a 1)) (when (> a 7) (return a))) ;; return exists the loop 8 > (loop (setq a (- a 1)) (when (< a 3) (return)))
  • 19. NIL You can input/output data to: • standard input/output, • string or • file A number of functions supported by the Lisp: • (read) ;; reads the input from the standard input • (print ‘a) ;; prints to the standard output Function Name Purpose Comment Syntax print print lisp objects output can be read back by function read. (PRINT OBJECT) prin1 like print, but does not add newline at end. ◇ (prin1 ‘(“x””y”)); Result display: (“x” “y”) princ print without newline nor delimiters. For human reading. (princ ‘(“x””y”)); Result display: (x y) (format STRING &rest OBJECTS)
  • 20. Format a string out of a format-string and arguments. The first argument is a format control string. The other arguments are substituted into it to make the result, a string. The format control string may contain %-sequences meaning to substitute the next available argument: %s means print a string argument. Actually, prints any object, with `princ'. %d means print as number in decimal (%o octal, %x hex). %X is like %x, but uses upper case. %e means print a number in exponential notation. %f means print a number in decimal-point notation. %g means print a number in exponential notation or decimal-point notation, whichever uses fewer characters. %c means print a number as a single character. %S means print any object as an s-expression (using `prin1' • (scanf …) (printf …) (format …) for formatted input and output • (open ..) (close ..) for opening and closing the files • (load ..) reads and executes the fil LISP examples examples of Common Lisp code. The basic "Hello world" program: (print "Hello world") Lisp syntax lends itself naturally to recursion. Mathematical problems such as the enumeration of recursively defined sets are simple to express in this notation. Evaluate a number's factorial: (defun factorial (n)
  • 21. (if (= n 0) 1 (* n (factorial (- n 1))))) An alternative implementation, often faster than the previous version if the Lisp system has tail recursion optimization: (defun factorial (n &optional (acc 1)) (if (= n 0) acc (factorial (- n 1) (* acc n)))) Contrast with an iterative version which uses Common Lisp's loop macro: (defun factorial (n) (loop for i from 1 to n for fac = 1 then (* fac i) finally (return fac))) The following function reverses a list. (Lisp's built-in reverse function does the same thing.) (defun -reverse (list) (let ((return-value '())) (dolist (e list) (push e return-value)) return-value)) Example of operators in LISP Syntax: • Prefix notation – Operator first, arguments follow – E.g. (+ 3 2) adds 3and 2 A lot of parentheses • These define lists and also programs • Examples: – (a b c d) is a list of 4 elements (atoms) a,b,c,d – (defun factorial (num) (cond ((<= num 0) 1) (t (* (factorial (- num 1)) num)) )) For eachsymbol lisp attempts to find its value > (setq a 10) ;;sets a value of symbol a to 10 10 > a ;; returns the value of a 10 Specialsymbols: > t ;; true T > nil ;; nil stands for false or NIL
  • 22. Programs in lisp Write a program for area of circle ; the function AreaOfCircle ; calculates area of a circle ; when the radius is input from keyboard (defun AreaOfCircle() (terpri) (princ "Enter Radius: ") (setq radius (read)) (setq area (* 3.1416 radius radius)) (princ "Area: ") (write area)) (AreaOfCircle) OUTPUT Enter Radius: 5 (STDIN Input) Area: 78.5399
  • 23. Write a program to input a number and double it (defun DoubleNumber() (terpri) (princ "Enter Number : ") (setq n1 (read)) (setq doubled (* 2.0 n1)) (princ "The Number: ") (write n1) (terpri) (princ "The Number Doubled: ") (write doubled) ) (DoubleNumber) OUTPUT Enter Number : 3456.78 (STDIN Input) The Number: 3456.78 The Number Doubled: 6913.56