K. 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:[email protected] [email protected]) 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