Artificial and Computational Intelligence
#
Artificial and Computational Intelligence studies how agents perceive, reason, search, optimise, learn and act in complex environments.
Core Learning Pages
#
| # | Topic |
|---|
| 1 | Artificial Intelligence |
| 2 | Intelligent Agents and Environments |
| 3 | Problem Solving and Uninformed Search |
| 4 | Informed Search and Heuristic Design |
| 5 | Local Search and Optimisation |
| 6 | Evolutionary and Population-Based Search |
| 7 | Game Playing and Adversarial Search |
| 8 | Knowledge Representation and Propositional Logic |
Modular Structure
#
1. Introduction
#
- Artificial Intelligence foundations
- Overview of modern AI
- AI application domains
2. Introduction to Intelligent Agents
#
- Notion of agents and environments
- Rationality
- Nature of environments
- Structure of agents
3. Problem-Solving Agents Using Search
#
- Problem formulation
- Uninformed and informed search algorithms
- Heuristics
- Greedy Best-First Search
- A* Search and optimality of A*
- Heuristic accuracy and algorithm performance
- Admissible heuristics from relaxed problems
- Pattern databases and experience
- Learning heuristics
- Local search and optimisation
- Hill Climbing
- Local Beam Search
- Genetic Algorithms
- Ant Colony Optimisation
- Neural Architecture Search
- Neuroevolution
4. Game Playing
#
- Minimax Algorithm
- Alpha-Beta Pruning
- Monte Carlo Tree Search
- Stochastic Games
5. Knowledge Representation Using Logic
#
- Propositional and Predicate Logic
- TT-Entail and theorem proving
- Logic representation of intelligent agents
- Proof by resolution
- DPLL Algorithm
- Agents based on Propositional Logic
- Unification
- Forward Chaining
- Backward Chaining
- Resolution
6. Multi-Agent Decision Making
#
- Properties of multi-agent environments
- Multi-agent planning
- Non-Cooperative Game Theory
- Cooperative Game Theory
- Collective decision making
7. Probabilistic Representation and Reasoning
#
- Representing knowledge in uncertain domains
- Semantics of Bayesian Networks
- Exact inference in Bayesian Networks
- Approximate inference in Bayesian Networks
8. Probabilistic Reasoning Over Time
#
- Time and uncertainty
- Inference in temporal models
- Hidden Markov Models
- Learning HMMs
- Dynamic Bayesian Networks
9. Ethics in AI
#
- Explainable AI
- Logically Explained Networks
- Explainable Bayesian Networks
Experiments
#
| # | Experiment |
|---|
| 1 | Implement Uninformed Search Algorithms such as BFS and DFS |
| 2 | Implement the A* Algorithm for Informed Search |
| 3 | Implement Local Search Techniques using a Genetic Algorithm |
| 4 | Implement the Minimax Algorithm for Adversarial Search in game playing |
| 5 | Represent knowledge using logic and perform reasoning using Prolog |
| 6 | Experiment with Bayesian Networks and exact inference |
| 7 | Experiment with the application of a Hidden Markov Model in Natural Language Processing |
- Programming languages: Python, Prolog
- Tools and libraries: Jupyter, NumPy, SciPy, Pandas, pgmpy, NLTK
- Environments: Google Colab, SWI-Prolog Online
Book References
#
Primary Textbook
#
- Stuart Russell and Peter Norvig, Artificial Intelligence: A Modern Approach, 4th Edition, Pearson Education, 2020.
Reference Books
#
- Ryszard S. Michalski, Jaime G. Carbonell and Tom M. Mitchell, Machine Learning: An Artificial Intelligence Approach, Elsevier, 2014.
- Dan W. Patterson, Introduction to AI and Expert Systems, Prentice Hall of India, New Delhi, 2010.
- Elaine Rich and Kevin Knight, Artificial Intelligence, 2nd Edition, Tata McGraw Hill Publishing Company, New Delhi, 2003.
Home | Artificial Intelligence
Artificial Intelligence
#
Artificial Intelligence (AI) is concerned with building systems that can perceive, reason, learn, decide and act in ways that achieve useful goals.
This page introduces the foundations of AI, its major application areas, four classic ways of thinking about intelligence, important milestones in its development, and some of the risks that accompany increasingly capable AI systems.
- Artificial Intelligence: Foundations, Overview of Modern AI & Application Domains.
- What is Artificial Intelligence: Acting Humanly, Thinking humanly, Thinking rationally, Acting Rationally
- Foundations of AI , Brief Overview of Modern AI & Application Domains
Learning Objectives
#
- explain what intelligence and artificial intelligence mean in practical terms
- identify the major disciplines that contributed to AI
- distinguish thinking humanly, acting humanly, thinking rationally and acting rationally
- explain the idea behind the Turing Test
- describe why the rational-agent view is central to modern AI
- recognise important application areas and risks of AI
Big Picture
#
flowchart TD
A["Artificial Intelligence"] --> B["Human-like"]
A --> C["Rational"]
B --> D["Think like humans"]
B --> E["Act like humans"]
C --> F["Think rationally"]
C --> G["Act rationally"]
style A fill:#C8E6C9
style B fill:#E1F5FE
style C fill:#FFF9C4
style D fill:#EDE7F6
style E fill:#EDE7F6
style F fill:#C8E6C9
style G fill:#C8E6C9
1. What Is Intelligence?
#
Intelligence is not a single ability. It involves several capabilities working together, including:
Intelligent Agents and Environments
#
An intelligent agent connects perception with action. It observes an environment through sensors, uses the information it receives to decide what to do, and affects the environment through actuators.
This page develops the core vocabulary for reasoning about intelligent agents: percepts, actions, rationality, performance measures, PEAS and the different properties an environment can have.
- Intelligent Agents: Notion of Agents and Environments, Rationality
- Nature of Environments, Structure of Agents
Learning Objectives
#
- explain the relationship between an agent and its environment
- distinguish sensors, percepts, actions and actuators
- explain percept sequences and the agent function
- describe what makes an agent rational
- distinguish rationality from omniscience
- compare the five basic agent architectures
- specify a task environment using PEAS
- classify environments using standard AI properties
- explain why environment properties affect agent design
Big Picture
#
flowchart TD
E["Environment"] -->|Percepts| S["Sensors"]
S --> A["Agent"]
A --> C["Actuators"]
C -->|Actions| E
style E fill:#E1F5FE
style S fill:#FFF9C4
style A fill:#C8E6C9
style C fill:#EDE7F6
Think of an agent as a continuous loop: observe → decide → act → observe again. An action may change the environment, so the next observation may be different.
A problem-solving agent converts a goal into a precisely defined search problem. An uninformed search algorithm then explores the state space using only the information in that problem definition.
- Problem Solving Agent
- Problem Formulation - Examples
- From Uninformed to Informed Search Algorithms
Learning Objectives
#
- formulate a search problem using five components
- distinguish a state-space graph from a search tree
- explain nodes, frontiers and node expansion
- compare tree search with graph search when states repeat
- compare BFS, DFS, UCS, DLS and IDS
- select an appropriate uninformed strategy for a problem
- distinguish offline and online search
Big Picture
#
flowchart TD
G["Goal"] --> F["Formulate problem"]
F --> S["Search for actions"]
S --> X["Execute solution"]
style G fill:#E1F5FE
style F fill:#C8E6C9
style S fill:#FFF9C4
style X fill:#EDE7F6
1. Problem-Solving Agents ☆
#
A problem-solving agent normally follows three stages:
Informed search uses additional knowledge to estimate which states are most promising. A good heuristic can greatly reduce unnecessary exploration while preserving solution quality.
- Notion of Heuristics
- Informed Search Algorithms : Greedy best first search, A* search
- Optimality of A*
- Heuristic Functions
- Heuristic Accuracy & Algorithm performance
- Admissible heuristics from relaxed problems, pattern databases. Experience.
- Use case : Learning Heuristics using Supervised Learning
Learning Objectives
#
- explain the purpose of a heuristic function
- compare Greedy Best-First Search and A* Search
- trace A* using OPEN and CLOSED lists
- test heuristics for admissibility and consistency
- explain heuristic dominance and effective branching factor
- derive heuristics from relaxed problems and subproblems
- describe pattern databases, landmarks and learned heuristics
Uninformed search knows only how to generate successors and recognise a goal. Informed search additionally estimates whether one non-goal state is more promising than another.
Local Search and Optimisation
#
Local search improves one or a few complete candidate solutions by moving through their neighbourhoods. It is especially useful when the final configuration matters but the path used to reach it does not.
– Local Search Algorithms & Optimisation Problems
- Hill Climbing Search
- Local Beam Search
- Online Search Agents
Learning Objectives
#
- distinguish path optimisation from state optimisation
- explain states, neighbours and objective functions
- apply hill climbing and its variants
- recognise local maxima, plateaus and ridges
- explain random-restart and stochastic hill climbing
- describe local and stochastic beam search and trace one beam update
Big Picture
#
flowchart TD
S["Current state"] --> N["Generate neighbours"]
N --> E["Evaluate values"]
E --> B["Choose candidate"]
B --> S
B --> G["Stop condition"]
style S fill:#E1F5FE
style N fill:#FFF9C4
style E fill:#EDE7F6
style B fill:#C8E6C9
style G fill:#C8E6C9
1. Path Optimisation vs State Optimisation ☆
#
In classical route search, the path is the solution. The agent must remember how it travelled from the start to the goal.
Evolutionary and Population-Based Search
#
Population-based search explores with many candidate solutions at once. Genetic Algorithms evolve encoded solutions, Ant Colony Optimisation builds paths using collective pheromone signals, and neuroevolution applies evolutionary ideas to neural-network design.
Learning Objectives
#
- explain the purpose of population-based search
- describe representation, fitness, selection, crossover and mutation
- trace the core Genetic Algorithm loop and one numerical iteration
- explain exploration and exploitation in Ant Colony Optimisation
- interpret the main ACO transition and pheromone-update equations
- distinguish NAS, NEAT, DeepNEAT and CoDeepNEAT
Big Picture
#
flowchart TD
P["Population-based search"] --> G["Genetic Algorithms"]
P --> A["Ant Colony Optimisation"]
G --> N["Neuroevolution"]
N --> D["Deep network design"]
style P fill:#E1F5FE
style G fill:#C8E6C9
style A fill:#FFF9C4
style N fill:#EDE7F6
style D fill:#C8E6C9
1. Why Use a Population? ☆
#
A single-state method follows one candidate through the search space. A population-based method maintains several candidates in parallel.
Game Playing and Adversarial Search
#
Game-playing agents search in environments where other agents influence the outcome. In competitive games, a good move must account not only for what the agent wants to achieve, but also for the strongest response an opponent can make.
Searching to play games
Minimax Algorithm
Alpha-Beta Pruning
Monte Carlo Tree Search
Stochastic Games
Learning Objectives
#
- formulate a game as an adversarial search problem
- construct a game tree with alternating MAX and MIN turns
- design and interpret a static evaluation function
- back up values using Minimax
- apply Alpha-Beta Pruning and identify cut-offs
- explain the four phases of Monte Carlo Tree Search
- calculate an MCTS selection score using UCB1
- evaluate chance outcomes in a stochastic game
Big Picture
#
flowchart TD
A["Game state"] --> B["Generate legal moves"]
B --> C["Build game tree"]
C --> D["Evaluate leaves"]
D --> E["Choose robust action"]
E --> A
style A fill:#E1F5FE
style B fill:#FFF9C4
style C fill:#EDE7F6
style D fill:#FFF9C4
style E fill:#C8E6C9
1. Normal Search and Adversarial Search
#
In normal search, the agent controls its own actions and the transition model determines what happens next. In adversarial search, another agent chooses actions that may reduce the first agent’s utility.
Knowledge Representation and Propositional Logic
#
An intelligent agent can store observations and rules, combine them through logical reasoning, and use the resulting conclusions to choose an action. Knowledge representation makes this information explicit so that the agent can reuse what it knows and reason about situations it has not directly observed.
Module topics
- Overview of Logics- Propositional, Predicate, TT-Entail, Theorem Proving
- Logic Representation of a sample agent, Proof by resolution, DPLL Algorithm, Agents based on Propositional logic
- Unification, forward chaining, Backward Chaining, Resolution
The explanations below develop knowledge-based agents and propositional reasoning, using one continuous Wumpus World example.