Artificial and Computational Intelligence

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

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.

Problem Solving and Uninformed Search

Problem Solving and Uninformed Search #

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 and Heuristic Design

Informed Search and Heuristic Design #

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

1. What Is Informed Search? ☆ #

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 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

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.

  • Genetic Algorithm

  • Ant Colony Optimisation

  • Neural Architecture Search

  • Use case : Neuro Evolution - Evolutionary computation to design or train neural networks

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 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

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

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.