Table Of ContentK. R. Chowdhary
Fundamentals
of Artificial
Intelligence
fi
Fundamentals of Arti cial Intelligence
K. R. Chowdhary
fi
Fundamentals of Arti cial
Intelligence
123
K.R. Chowdhary
Department ofComputer Science
andEngineering
JodhpurInstitute of Engineering
andTechnology
Jodhpur, Rajasthan,India
ISBN978-81-322-3970-3 ISBN978-81-322-3972-7 (eBook)
https://doi.org/10.1007/978-81-322-3972-7
©SpringerNatureIndiaPrivateLimited2020
Thisworkissubjecttocopyright.AllrightsarereservedbythePublisher,whetherthewholeorpart
of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations,
recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission
orinformationstorageandretrieval,electronicadaptation,computersoftware,orbysimilarordissimilar
methodologynowknownorhereafterdeveloped.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this
publicationdoesnotimply,evenintheabsenceofaspecificstatement,thatsuchnamesareexemptfrom
therelevantprotectivelawsandregulationsandthereforefreeforgeneraluse.
The publisher, the authors and the editors are safe to assume that the advice and information in this
book are believed to be true and accurate at the date of publication. Neither the publisher nor the
authors or the editors give a warranty, expressed or implied, with respect to the material contained
hereinorforanyerrorsoromissionsthatmayhavebeenmade.Thepublisherremainsneutralwithregard
tojurisdictionalclaimsinpublishedmapsandinstitutionalaffiliations.
ThisSpringerimprintispublishedbytheregisteredcompanySpringerNatureIndiaPrivateLimited
The registered company address is: 7th Floor, Vijaya Building, 17 Barakhamba Road, New Delhi
110001,India
To my wife
Suman Lata
Preface
The course of Artificial Intelligence (AI), is one of the standard course in all
computer science curricula at undergraduate programs, in many of masters pro-
grams,aswellastaughtacourseinmanyofmulti-disciplinarymajorslikeMasters
inMathematics, Masters inInformation Technology,andinnon-CS Programslike
Electrical Engineering, Electronics and Communication Engineering, and in some
Institutions itistaught by thename IntelligentSystems. The conceptsand theories
of AI are often applied in many Engineering disciplines, like automation, pro-
duction, packing, optimizations, planning; in routing of information and goods (in
transporting); in message communications and message filtering; in natural lan-
guagetranslation,speechsynthesis,speechrecognition,searchengines,information
retrieval, information extraction, information summarization, information filtering;
inrobotics,computer/machinevisionsystems;expertsystemsinmedicaldiagnosis,
fault diagnosis in machines, surveillance, remote sensing, automated vehicles; in
computer games, combinatorial games; in recent use in on-line sales, on-line
education, and many more.
ACM Curricula 2013 defines the scope of Artificial Intelligence as follows:1
Intelligent Systems (IS): Artificial intelligence (AI) is the study of solutions for
problemsthataredifficultorimpracticaltosolvewithtraditionalmethods.Itisused
pervasivelyinsupportofeverydayapplicationssuchasemail,word-processingand
search, as well as in the design and analysis of autonomous agents that perceive
their environment and interact rationally with the environment. The solutions rely
on a broad set of general and specialized knowledge representation schemes,
problem solving mechanisms, and learning techniques. They deal with sensing
(e.g., speech recognition, natural language understanding, computer vision),
problem-solving (e.g., search, planning), and acting (e.g., robotics) and the archi-
tectures needed tosupportthem(e.g., agents,multi-agents).Thestudy ofArtificial
1https://www.acm.org/binaries/content/assets/education/cs2013_web_final.pdf.
vii
viii Preface
Intelligence prepares the student to determine when an AI approach is appropriate
for a given problem, identify the appropriate representation and reasoning mech-
anism, and implement and evaluate it.
Contents
This book covers in enough details all the topics recommended in the latest ACM
“Computer Science Curricula 2013” (available at the time of writing this manu-
script).Thetopicsasperthecurricula2013andcoveredinthistextareasfollows:
Fundamental Issues
Basic Search Strategies
Basic Knowledge Representation and Reasoning
Basic Machine Learning
Advanced Search
Advanced Representation and Reasoning
Reasoning under Uncertainty
Agents
Natural Language Processing
Advanced Machine Learning
Perception and Computer Vision
In addition, looking to their importance and scope in AI, this text covers fol-
lowing additional topics.
Logic Programming and Prolog
Constraint Satisfaction Problems
Game Theory
Data Mining
Information Retrieval
Speech Recognition
This book is written, keeping in mind the diversity of its readership—the con-
cepts and fundamental principles are given highest significance, more and more
explanation is based on figures and solved examples. This is supplemented with
exhaustive list of exercises at the end of each chapter, which are aimed to cover
wide range of problem solving skills for a learner. Each chapter begins with
introduction to the topic of chapter, its scope, and relation to other fields of AI,
supported with list of applications to keep constant motivation of the learner from
chapter to chapter, followed with learning outcome of that chapter. To maintain a
consistent interest of the student as well for ease of understanding, each chapter is
organized to gradually pick up—from simple concepts to advanced theory and
applications.Forcuriousandinterestedreaders,eachchapterissupplementedwith
exhaustivelistoforiginalsourcereferences,intheformofrecentarticlespublished
in Journals, Transactions, and Proceedings of Conferences of AI and CS.
Preface ix
The text is designed to be self taught, concept driven, simple language, with
large number of exercises both solved and unsolved. The simplicity of English
languageusedhelpsineasygrasping byanaverage student,andequallysuitedfor
non-English speaking students having medium of instruction as English. It covers
all major areas of AI presently in focus and that belong to recent developments,
including machine learning, machine vision, IR, agents, etc.
Thecontentsofthistextarebasedonteachingthiscoursebytheauthorformany
years at M.B.M. Engineering College, Jodhpur (India), as well as based on the
course of AI taught to undergraduate students at Indian Institute of Technology
Jodhpur(IITJ)fromthesession2011–12to2015–16asavisiting faculty,thetime
duringwhichthebookcameinto thisshape. Theslides ofthetopics taughtatIITJ
can be referred by reader in the author’s website (http://www.krchowdhary.com/).
The contents of this text is class room tested over the years, and has been refined
andimprovedagainandagainovertheseyearsofteaching;alltheexercisesarealso
class room tested.
Intended Audience and Prerequisites
Thebookisintendedprimarilyforstudentsmajoringincomputerscienceatunder-
graduateandgraduatelevel,butwillalsobeofinterestasafoundationtoresearchers
inanyofthedisciplineofAI,eitherforselfstudyorreference.Ingeneral,itissuitable
forallAIcurriculaofundergraduatecoursesinEngineering,particularly,Computer
Science and Engineering, Information Technology, Electrical Engineering,
and non-engineering curricula, like Master in Computer Applications, Master of
Science. Some of the chapters, particularly, the Chaps. 13–21 may form course
contentsofgraduatecurricula.Thechapterscanbereadintheordertheyappearinthis
text.Readersmaycorrespondtotheauthor(atmail-ids:kr.chowdhary@iitj.ac.inor
kr.chowdhary@gmail.com) to point out the errors, suggestions/criticism, so as to
makeimprovementsinthescriptforfutureeditions.
The prerequisites for this course are: mathematical logic, discrete mathematical
structures,anddatastructureswithbasiclevelofprogramming.Thiscoursecanbe
taught atthird orfinalyear ofundergraduate programbyname as AIor Intelligent
Systems.
Since all the solved, as well as many unsolved problems in the book are
classroom tested, these can go in parallel to the respective chapter’s delivery.
Akeenlearnerisrecommendedtorefertotheexhaustivelistofreferencesprovided
at the end of each chapter for more details.
x Preface
Examples, Exercises, and Learning Curve
The exercises are designed to continuously develop and strengthen the ideas pre-
sented in the book’s many proofs and examples. More than 250 exercises and
solved examples have been provided in the text to rigorously practice the material
presented, and to consolidate the principles presented to strengthen the over all
understanding of topics.
Supplementary Reading Material
Lecture notes, classroom slides, problems—both solved and unsolved—quizzes,
exercises, questions papers, and solutions of mid-semesters and end-semesters
of the AI courses taught at IITJ, and list of semester projects along with their
guidelines, is available in the author’s website http://www.krchowdhary.com, can
beusedassupplementaryreadingmaterialbythelearner.Induecourse,andtimeto
time, morehelpandlearner’smaterialshallbeaddedbytheauthorforthistexton
this URL. The students may send their feedback to the author for
suggestions/errors/improvements in the contents of AI-related text on this website,
theireffortsshallbeaninvaluablecontributiontoimprovethequalityofthisbook.
Jodhpur, India Prof. K. R. Chowdhary
Acknowledgements
First and foremost, I thankfully acknowledge to all the authors mentioned in the
bibliography/references in this text, whose publications were helpful for teaching
this course of AI, as well as in bringing this text in final shape.
One of the major contribution to be acknowledged is due to my students of
AIclassoveradurationofoneandhalfdecade,whointeractedinmanywayswhile
I wasteachingthiscourse—byaskinginterestingquestions,sometimesascurious
observers,andsometimesraisingtheirdoubts—alltheseledmetorethink,analyse
theirpointofview,andtodiscovernewwaystopresenttheideas.Thisalsohelped
metounderstandthesubjectevenbetterduringthetimeof1997–2013whenItaught
undergraduatebatchesofCSE,IT,andMaster’sstudentsofcomputerapplicationsat
M.B.M EngineeringCollege, Jodhpur.
The major part of this text came into shape during the time I taught at Indian
Institute of Technology Jodhpur (IITJ) (with course nomenclatures as CS365, CS
30002, CS 324, CS323) during the academic years from 2011–12 to 2015–16.
Many thought provoking questions and interactions by students during this time
helped in organizing and presenting the material in better and digestible form, as
wellasmanyhelpfulandconstructivecommentsintheirfeedbacksystemnotonly
improvedthedeliveryandqualityofproblemssolutionsandexercises,butwasalso
a constant force to reshape the content from academic year to academic year.
I would particularly like to mention their names, however, list is long and many
names also exist, though not explicitly mentioned here. These are: Ashish Kumar,
Praneeth A. S., Sonu Mehta, Manu Agarwal, Akansha Saran, Ruchi Toshiwal,
Sonal Gupta, Tokla Sai Teja, Mahesh, Kalpnath Rao, Rishi Mishra, Syed Navaid
Ahmad,JitendraSinghGarhwal,PittaDivyaShree,RishiMishra,JinakJain,Avan
JayendraRathod,NithinV.,PavanV.Sukalkar,SumitJangid,SiddarthSinghRao,
BanothSuryaPrasad,SaurabhKumarGangwar,AbhishekBassan,ArvindPandey,
Shivam Verma, Dhanajit Brahma, PranjalSingh, Ujjwal Anand, Jalaj Sharma, and
Shrey Maheshwari.
xi