About the Authors
Preface
Acknowledgements
Chapter 1: Introduction to Artificial Intelligence
Introduction | The Architecture of AI Systems | The AI Development Life Cycle | Key Terms and Concepts in AI | Knowledge Representation Methods | Domains and Scope of AI Applications | AI System Interface – Sensing, Control, and Actuation | Intelligent Agents and their Characteristics | Expert Knowledge-based Systems | Categorisation of Intelligent Systems | AI Tools and their Applications | Summary | Exercises
Chapter 2: State-Space Representation
Introduction | Characteristics of State-space Representation | Knowledge Representation Techniques | Conceptual Modelling in State Space | Summary | Exercises
Chapter 3: Problem Solving
Introduction | Solving Problems by Search | Uninformed (Blind) Search Strategies | Informed (Heuristic) Search Strategies | Constraint Satisfaction Problems | Constraint Satisfaction Problem Techniques | Summary | Exercises
Chapter 4: Game Playing
Introduction | Game Theory | Adversarial Search | Imperfect Real-time Decisions | Stochastic Games | Applications of Stochastic Games in AI | Summary | Exercises
Chapter 5: Intelligent Agents
Introduction | Intelligent Agents | Multi-Agent Systems | Agent Communication | Agent Coordination | Intelligent Mobile Agents | Summary | Exercises
Chapter 6: Knowledge and Reasoning
Introduction | Cycle of Knowledge Representation and Reasoning | Knowledge Representation and Reasoning System | The Wumpus World Problem | Probabilistic Reasoning | Bayesian Probability | Markov Models | Implementing KRR in Intelligent Systems | Benefits and Applications of KRR in AI | Summary | Exercises
Chapter 7: Expert Systems
Introduction | Characteristics of Expert Systems | Architecture of an Expert System | Types of Expert Systems | Expert System Development Life Cycle | Advantages and Limitations of Expert Systems | Real-World Applications of Expert Systems | Summary | Exercises
Chapter 8: Fundamentals of Machine Learning
Introduction | Types of Machine Learning | Machine Learning Algorithms | Other Branches of Machine Learning | Summary | Exercises
Chapter 9: Reinforcement Learning
Introduction | Reinforcement Learning Approaches | RL Foundational Concepts and Frameworks | Reinforcement Learning Methods | Applications, Benefits and Challenges of RL | Summary | Exercises
Chapter 10: Deep Learning
Introduction | Fundamentals of Neural Networks | Artificial Neural Networks | Training Deep Neural Networks | Key Deep Learning Architectures | Future Direction of Deep Learning | Summary | Exercises
Chapter 11: Generative Artificial Intelligence: Large Language Models and Transformer-Based Architectures
Introduction | Historical Development and Evolution of LLMs | Components of
Transformer Architecture | Benefits of Transformer Architecture | Training Large
Language Models | Types of Large Language Models | Advanced Topics in Large
Language Models | Architecture of ChatGPT | Future Directions of Large Language
Models | Applications of Generative AI | Challenges and Limitations of Large Language
Models | Summary | Exercises
Chapter 12: Advanced Topics in Artificial Intelligence
Introduction to Advanced Topics | Agentic AI | Explainable AI | Computer Vision |
Conversational AI | Human–Robot Interaction | Future Trends | Summary | Exercises
Chapter 13: Ethics and Artificial Intelligence
Introduction | Definition of Morality and Ethics in AI | Impact of AI on Society | Ethical
Initiatives in AI | AI Standards and Regulation | Roboethics: The Social and Ethical
Implications of Robotics | National and International Strategies on AI | Summary | Exercises
Chapter 14: Applications of Artificial Intelligence
Introduction | The Evolution of Natural Language Processing | AI Applications in
Robotics | AI Applications in Healthcare | AI Applications in Retail | AI Applications in
Banking | Summary | Exercises
Chapter 15: Artificial Intelligence Programming Using Jupyter Notebook
Introduction | Using the Online Interface of Jupyter Notebook | Experimentation
Guidelines for Some AI Techniques | Python Program that Demonstrates the Use of Data
Types | Python Program that Asks for User Input and Uses Conditional Statements to
Respond with Different Outputs | Python Program that Prints Out a Sequence of Numbers using a for Loop and then Asks the User to Do the Same with a while Loop | Python
Program that Defines a Function to Calculate the Area of a Circle, Given its Radius, and then Calls that Function with Different Values | Python Program that Creates a List of
Items and a Dictionary of Key–Value Pairs, and then Demonstrates How to Access and
Modify Elements | Python Program that Reads a Text File, Counts the Number of Words, and Writes the Result to a New File | Python Program that Intentionally Raises an Error and then Catches it with a try-except Block, Printing an Informative Message to the
User | Python Program to Define a Class with Attributes and Methods to Demonstrate
OOP | Python Program to Use the Matplotlib Library to Plot a Graph based on the Given
Data Points and Enhance the Graph with Labels and a Legend | Python Program to Introduce the pandas Library by Creating a DataFrame from a Dictionary, and Performing Basic Data Manipulation Operations such as Sorting and Filtering | Python Program to Develop PEAS Descriptions for the Given AI Tasks | Python Program for the Uninformed Search Algorithm: Breadth-first Search (BFS) | Python Program for the Uninformed Search Algorithm: Depthfirst Search (DFS) | Python Program for the Informed Search Algorithm: A* Search with Heuristic Function | Python Program to Implement the AO* Algorithm | Python Program to Implement Memory-bounded A* Algorithms | Python Program to Implement Genetic Algorithms for AI Tasks | Python Program to Implement Local Search Technique: Hill Climbing Algorithm | Python Program to Implement Simulated Annealing Algorithms for AI Tasks | Python Program to Implement Game Playing Algorithms: Minimax | Python Program to Implement the Monkey and Banana Problem | Python Program to Implement the 8-Puzzle Problem | Python Program to Implement the Water Jug Problem | Python Program to Implement the Alpha–beta Pruning Algorithm | Python Program to Implement Backtracking Algorithms for CSP | Python Program to Implement the Local Search Algorithm for CSP | Python Program to Implement Propositional Logic Inferences for AI Tasks | Python Program to Implement Resolution based on First-order Logic Inferences for AI Tasks | Python Program to Conduct a Game Search | Python Program to Implement Tower of Hanoi | Python Program to Construct a Bayesian Network from the Given Data | Python Program to Infer from a Bayesian Network | Python Program for Value and Policy Iteration in a Grid World | Python Program to Perform Reinforcement Learning in a Grid World | Python Program to Implement a Chatbot | Python Program to Implement the N-Queens Problem | Python Program to Implement the Missionaries–Cannibals Problems | Summary | Exercises
Chapter 16: Prolog Programming
The Role of Prolog in AI Programming | SWI-Prolog in Prolog Programming | Overview of SWI-Prolog Online | Basic Prolog Program on Ancestor Identification | Prolog
Program for Parent–Child Relationships | Prolog Program for Logical and Descriptive
Relationships | Prolog Program for Family Tree using Facts and Rules | Prolog Program for Data Objects | Prolog: Comparison Operators | Prolog: Arithmetic Operators | Prolog: Loops | Prolog Program for Decision Making using Conditional Rules | Prolog:
Conjunctions and Disjunctions | Prolog Program to Work with Lists | Prolog Recursion and
Structures | Prolog: Backtracking | Prolog: Different and Not | Prolog Program to Read and Write Data | Prolog Program to Read and Write Files | Prolog Program to Demonstrate
Built-in Predicates | Prolog Program to Identify Terms | Prolog Program to Decompose Structures | Prolog Program to Collect All Solutions | Prolog Program for Tree Data
Structure | Extended Program to Implement a Binary Tree with Pathfinding | Extended
Program to Implement a Binary Tree with Node Location | Program to Find the Height of a Binary Tree | Prolog: Linked Lists | Prolog: Tower of Hanoi Problem | Prolog: Monkey and Banana Problem | Prolog: Tic-Tac-Toe | Prolog: Nim | Prolog: Advanced Version of Nim | Prolog: 8-Puzzle Problem | Prolog: Connect Four | Prolog: Sudoku Solver | Prolog:
Minesweeper | Prolog: The Knight’s Tour | Summary
Index