---
title: What Is Artificial Intelligence?
module: Foundations
moduleNumber: 1
lessonNumber: 1
order: 101
summary: >
  Eight definitions of AI fall into a two-by-two grid: think versus act, and
  measure success against human performance versus an ideal standard of
  rationality. We work through all four schools — the Turing test, cognitive
  modelling, the laws of thought, and the rational agent — and adopt the last as
  the frame for the whole course: AI is the study and design of rational agents.
topics: [Foundations]
sources:
  - book: AIMA
    ref: "Ch. 1 — Introduction; §1.1 What Is AI?"
  - book: AIMA
    ref: "§1.2 The Foundations of AI; §1.3 The History of AI; §1.4 The State of the Art"
---

We call ourselves _Homo sapiens_ — man the wise — because our **intelligence** is
what we prize most. For thousands of years philosophy has asked how a mere handful
of matter can perceive, understand, predict, and act on a world far larger than
itself. Artificial intelligence asks the same question and then goes one step
further: not just to understand intelligence, but to _build_ it.[^rn-open]

That leaves a problem. "Build intelligence" is a goal only once we fix what counts
as success, and the field has never fully agreed. In place of consensus it has a
small grid of definitions — eight, sharpened over half a century — that disagree in
a structured, informative way. Read the grid first: which cell you stand in decides
what you are building and how you would know you had built it.

## Four schools along two axes

Every serious definition of AI answers two questions. First, is the target a
_thought process_ or a _behavior_ — what goes on inside, or only what comes out?
Second, is success measured against _human_ performance or against an _ideal_
standard, **rationality** (doing the right thing given what one knows)? The two
binary axes give four schools.[^rn-four]

$$
% caption: The four approaches to AI. The top row cares about thinking, the bottom
% about acting; the left column measures against human performance, the right
% against an ideal standard of rationality. This course takes the bottom-right cell.
\begin{tikzpicture}[>=stealth, font=\small,
  cell/.style={draw, minimum width=44mm, minimum height=17mm, align=center, inner sep=2mm},
  hd/.style={font=\footnotesize\bfseries}]
  \definecolor{acc}{HTML}{2348F2}
  % column and row headers
  \node[hd] at (0,1.55) {HUMANLY};
  \node[hd] at (4.6,1.55) {RATIONALLY};
  \node[hd, rotate=90] at (-3.0,0) {THINKING};
  \node[hd, rotate=90] at (-3.0,-2.0) {ACTING};
  % top-left: thinking humanly
  \node[cell] (th) at (0,0)
    {Thinking Humanly\\ \footnotesize cognitive modelling};
  % top-right: thinking rationally
  \node[cell] (tr) at (4.6,0)
    {Thinking Rationally\\ \footnotesize laws of thought};
  % bottom-left: acting humanly
  \node[cell] (ah) at (0,-2.0)
    {Acting Humanly\\ \footnotesize the Turing test};
  % bottom-right: acting rationally  (adopted)
  \node[cell, draw=acc, text=acc, very thick] (ar) at (4.6,-2.0)
    {Acting Rationally\\ \footnotesize the rational agent};
  \node[acc, font=\footnotesize, anchor=north] at (4.6,-3.2) {this course};
\end{tikzpicture}
$$

Each cell is not a single slogan but a cluster of published definitions — _AIMA_
collects eight, two per cell, drawn from the field's textbooks. They disagree on
emphasis in a way that maps cleanly onto the axes: the top row talks about
_thought_ and _reasoning_, the bottom about _behavior_ and _action_; the left
column measures against _people_, the right against a formal standard.

$$
% caption: Two representative definitions per cell (paraphrased from AIMA Fig 1.1).
% Top row is about thought, bottom about action; left column measures against
% humans, right against an ideal of rationality.
\begin{tikzpicture}[>=stealth, font=\footnotesize,
  cel/.style={draw, minimum width=52mm, minimum height=20mm, align=center, inner sep=2mm},
  hd/.style={font=\footnotesize\bfseries}]
  \definecolor{acc}{HTML}{2348F2}
  \node[hd] at (0,1.9) {HUMANLY};
  \node[hd] at (5.4,1.9) {RATIONALLY};
  \node[hd, rotate=90] at (-3.4,0) {THINKING};
  \node[hd, rotate=90] at (-3.4,-2.6) {ACTING};
  \node[cel] at (0,0) {"machines with minds,\\in the full sense"\\"the automation of\\reasoning"};
  \node[cel] at (5.4,0) {"the study of mental\\faculties via models"\\"computations that\\reason and perceive"};
  \node[cel] at (0,-2.6) {"making computers\\do what people do\\better"\\(the Turing test)};
  \node[cel, draw=acc, text=acc, very thick] at (5.4,-2.6) {"designing intelligent\\agents"\\"intelligent behavior\\in artifacts"};
\end{tikzpicture}
$$

The distinction between _humanly_ and _rationally_ is not a claim that humans are
irrational. It is only the recognition that human performance is a specific,
sometimes flawed, empirical target, while rationality is an ideal one can define
mathematically. The two lead to genuinely different research programs, and both
have been pursued. A human-centered approach is in part an empirical science —
observing and hypothesizing about people. A rationalist approach combines
mathematics and engineering. We take the four cells in turn.

### Acting humanly: the Turing test

Alan Turing (1950) proposed to sidestep the unanswerable question "can machines
think?" with an operational test. A human interrogator holds a written
conversation with an unseen partner; if the interrogator cannot reliably tell
whether the partner is a person or a machine, the machine passes. The **Turing
test** replaces a metaphysical question with a behavioral one you can actually
run.[^rn-turing]

Passing it is not a parlor trick. To sustain the conversation a machine would need
four capabilities, and these four map almost exactly onto the major subfields of
AI:

| Capability | What it does | Course chapter |
| --- | --- | --- |
| **Natural language processing** | communicate in a human language | frontiers |
| **Knowledge representation** | store what it knows and hears | logic and planning |
| **Automated reasoning** | draw new conclusions from what it stores | inference and resolution |
| **Machine learning** | adapt to new situations, detect patterns | learning |

$$
% caption: The Turing test decomposed into the capabilities it demands. The written
% test (left four) already requires language, knowledge, reasoning, and learning;
% the total Turing test adds a video-and-hatch channel, forcing perception and
% physical manipulation.
\begin{tikzpicture}[>=stealth, font=\footnotesize]
  \definecolor{acc}{HTML}{2348F2}
  \tikzset{capa/.style={draw, minimum width=32mm, minimum height=9mm, align=center}}
  \tikzset{capb/.style={draw=acc, text=acc, minimum width=32mm, minimum height=9mm, align=center}}
  \node[capa] (nlp) at (0,1.2)   {language (NLP)};
  \node[capa] (kr)  at (0,0)     {knowledge};
  \node[capa] (ar)  at (0,-1.2)  {reasoning};
  \node[capa] (ml)  at (0,-2.4)  {learning};
  \node[align=center, font=\scriptsize] at (0,2.15) {written Turing test};
  \node[capb] (cv) at (6.0,-0.6)  {vision};
  \node[capb] (rob) at (6.0,-1.8) {robotics};
  \node[align=center, font=\scriptsize, text=acc] at (6.0,0.2) {total test adds};
\end{tikzpicture}
$$

Turing deliberately kept the interrogator and machine in separate rooms, because
physically imitating a person is beside the point. The **total Turing test** adds
a video channel and a hatch through which objects can be passed, forcing two more
capabilities: **computer vision** to perceive, and **robotics** to manipulate and
move. Six disciplines, and a test that has stayed relevant for over sixty years.

Yet the field has spent almost no effort on _passing_ the test. The reason is a
recurring theme of the whole subject: the goal is to understand the principles of
intelligence, not to counterfeit one instance of it. Aeronautics did not progress
by building machines that fly "so exactly like pigeons that they can fool other
pigeons"; it progressed once the Wright brothers stopped imitating birds and
started studying aerodynamics.[^rn-turing]

The test also invites a family of objections that clarify what it does and does
not certify. Turing himself catalogued nine anticipated rebuttals in the 1950
paper and answered each, and two of them still frame the debate. The **argument
from disability** — "a machine can never do $X$" for some cherished human $X$ (be
kind, fall in love, tell right from wrong) — Turing dismissed as an inductive
overreach from "no machine has yet" to "no machine can ever," a bet the last
seventy years have repeatedly lost. The deeper objection came later, from Searle's
**Chinese Room** (1980): imagine a person who speaks no Chinese sealed in a room,
hand-executing a rulebook that maps Chinese questions to Chinese answers. The room
as a whole passes a Chinese Turing test, yet nobody inside _understands_ Chinese —
so, Searle argues, passing the test shows behavior, not understanding. Whether that
matters depends on which cell of the grid you stand in. For the acting-rationally
school it does not: an agent is judged by what it does, and a system that reliably
does the right thing is the object of study whether or not there is "understanding"
behind the behavior. That split traces the same thinking-versus-acting axis,
now resurfacing as a philosophical dispute.[^searle]

A cautionary counterweight arrived early. Weizenbaum's **ELIZA** (1966) was a
few hundred lines that impersonated a psychotherapist by reflecting the user's
own sentences back as questions ("I am unhappy" → "Why are you unhappy?"), with no
model of language or mind at all. Users nonetheless confided in it and insisted it
understood them — the **ELIZA effect**, our standing tendency to read intention
into surface behavior. It is the reason a conversational imitation, on its own,
is weak evidence of intelligence, and the reason the field measures agents against
tasks with an external performance measure rather than against a human judge's
impression.

### Thinking humanly: cognitive modelling

To claim a program _thinks like a human_, you first need a theory of how humans
think — and that theory comes from getting inside the actual mind, through
introspection, controlled psychological experiment, or brain imaging. Once the
theory is precise enough to express as a program, you can check whether the
program's step-by-step behavior matches a person's on the same task.

Newell and Simon's General Problem Solver (1961) was built with exactly this
ambition. They were not content to have it solve puzzles correctly; they compared
the _trace_ of its reasoning steps against the traces of human subjects. That
comparison, of computational models against experimental data, is the whole
project of **cognitive science**. It is a distinct claim from "the program performs
well," and separating the two — a good engineering result versus a good model of
the human mind — is what let AI and cognitive science each advance faster.[^rn-cog]

### Thinking rationally: the laws of thought

Aristotle tried to codify "right thinking" as irrefutable reasoning: his
**syllogisms** gave argument patterns that always yield correct conclusions from
correct premises. _Socrates is a man; all men are mortal; therefore Socrates is
mortal._ The study of such patterns became **logic**, and the **logicist**
tradition in AI hopes to build intelligent systems on top of it: express the
problem in formal notation, run a logical procedure, read off the answer.[^rn-laws]

A worked instance shows the pattern the whole field inherits. From _all men are
mortal_ and _Socrates is a man_, one modus-ponens step yields _Socrates is mortal_.
Feed a logical engine those two premises and the conclusion falls out immediately.
But that is the trivial case: two premises, one relevant rule. The engine's real
task is to find the _right_ inference among the many it could draw, and here the
count turns against it. With $k$ facts in the knowledge base, the number of
derivation chains grows on the order of $O(k!)$; most are irrelevant to the query.

Two obstacles bar the road, and both surface again throughout the course. First,
informal knowledge is hard to state in the crisp terms logic demands, especially
when it is less than fully certain — "birds fly" is true until you meet a penguin,
an ostrich, or a bird with a broken wing, and no finite list of premises can
enumerate every exception. Second — and this is the deeper one — being able to solve a problem
_in principle_ is not the same as solving it _in practice_. A logical system with
only a few hundred facts can exhaust any computer's resources unless it has
guidance about which reasoning steps to try first. The general problem of deciding
whether a set of logical sentences is even satisfiable is **NP-complete**: as the
number of variables grows, the worst-case work grows faster than any polynomial,
so "just search the possibilities" is not an option past a modest size. Correct
inference is not enough; tractable inference is the real target, and steering the
search — which the [informed-search](/artificial-intelligence/search/informed-search)
and [inference](/artificial-intelligence/logic-and-planning/inference-and-resolution)
lessons take up — is most of the work.

### Acting rationally: the rational agent

An **agent** is something that acts — the word comes from the Latin _agere_, to do.
Every program acts, but a rational agent is expected to do more: operate
autonomously, perceive its environment, persist over time, adapt to change, and
create and pursue goals. A **rational agent** acts so as to achieve the best
outcome or, when there is uncertainty, the best _expected_ outcome.[^rn-agent]

$$
% caption: An agent perceives its environment through sensors and acts on it
% through actuators. Given a percept sequence, a rational agent selects the action
% that maximizes its expected performance measure.
\begin{tikzpicture}[>=stealth, font=\small,
  box/.style={draw, minimum width=30mm, minimum height=15mm, align=center}]
  \definecolor{acc}{HTML}{2348F2}
  \node[box, draw=acc, text=acc, very thick] (ag) at (0,0) {agent\\ \footnotesize (rational)};
  \node[box] (env) at (6.2,0) {environment};
  % percept path (env -> agent)
  \draw[->, thick] (env.north west) ++(0,-0.15) .. controls (3.1,1.6) .. (ag.north east) ++(0,-0.15);
  \node[font=\footnotesize, anchor=south] at (3.1,1.15) {percepts (sensors)};
  % action path (agent -> env)
  \draw[->, acc, thick] (ag.south east) ++(0,0.15) .. controls (3.1,-1.6) .. (env.south west) ++(0,0.15);
  \node[acc, font=\footnotesize, anchor=north] at (3.1,-1.15) {actions (actuators)};
\end{tikzpicture}
$$

Correct inference — the target of the "laws of thought" school — is _one_ way to
act rationally: reason your way to the conclusion that an action achieves your
goals, then take it. But it is not the only way, and sometimes not the best way.
In some situations there is no provably correct thing to do, yet something must
still be done. And some rational acting bypasses inference entirely: recoiling from
a hot stove is a reflex that usually beats a slow, deliberated response.

This is why Russell & Norvig — and this course — adopt the **acting-rationally** view.

> **Definition (Rational agent).** An entity that perceives its environment through
> sensors and acts upon it through actuators, choosing, for any given percept
> sequence, the action expected to maximize its **performance measure**. The
> measure is an external, ideal standard of success, not the agent's own opinion of
> how well it is doing.

Stated as a choice rule, with performance measure (utility) $U$ over outcome states
$s$ and action-conditional outcome distribution $P(s \mid a)$, the rational action is

$$
a^\ast \;=\; \arg\max_{a \in \mathcal{A}} \; \sum_{s} P(s \mid a)\, U(s),
$$

the action of maximum expected utility. Every mechanism in the course is a way of
computing this argmax under some new difficulty.

Two advantages settle the choice. First, rationality is _more general_ than the
laws-of-thought approach: correct inference is just one of several mechanisms for
achieving rationality, so the rational-agent frame contains the logicist one rather
than competing with it. Second, it is _more amenable to scientific development_.
The standard of rationality is mathematically well defined and completely general;
you can turn it into agent designs that provably achieve it. Human behavior, by
contrast, is adapted to one specific environment and is defined only by the sum
total of what humans happen to do.[^rn-agent]

One honest caveat, which the course returns to repeatedly. Perfect rationality —
always doing exactly the right thing — is infeasible in complicated environments,
because the computation costs too much. For most of the course we adopt the working
hypothesis that perfect rationality is a good _starting point_ for analysis, and
treat **limited rationality** — acting appropriately when there is not enough time
to compute the ideal action — as the refinement.

The idea has a lineage. Herbert Simon, one of the field's founders, argued in the
1950s that real agents do not maximize; they **satisfice** — search only until they
find an option good enough against an aspiration level, then stop. He called the
resulting account **bounded rationality**, and it reframes the design goal. The
target is not the action a cost-free oracle would choose but the action a _real_
computation, itself consuming time and energy, should choose. Formalizing that
gives **bounded optimality**: an agent program is bounded-optimal if it is the best
possible program for its machine, accounting for the cost of the deliberation
itself. This is the honest standard the course keeps in the background — perfect
rationality frames the analysis, bounded optimality is what any deployed agent can
actually aim at.[^simon]

$$
% caption: Three standards of good behavior, in decreasing strength. Perfect
% rationality ignores the cost of computing; bounded rationality (satisficing)
% stops at a good-enough option; bounded optimality asks for the best program a
% real machine can run, deliberation cost included.
\begin{tikzpicture}[>=stealth, font=\small,
  lvl/.style={draw, minimum width=54mm, minimum height=13mm, align=center, font=\footnotesize}]
  \definecolor{acc}{HTML}{2348F2}
  \node[lvl] (a) at (0,2.6) {perfect rationality\\always the ideal action, cost ignored};
  \node[lvl] (b) at (0,0) {bounded rationality\\satis\/f\/ice: stop at a good-enough option};
  \node[lvl, draw=acc, text=acc, very thick] (c) at (0,-2.6) {bounded optimality\\best program the real machine can run};
  \draw[->, black, thick] (a) -- node[right, font=\scriptsize, text=black] {add cost of time} (b);
  \draw[->, acc, thick] (b) -- node[right, font=\scriptsize, text=black] {optimize the program itself} (c);
\end{tikzpicture}
$$

## The notation for the course

The rational-agent frame fixes a small vocabulary used in every later lesson. The
whole subject is built out of these terms.

| Term | Meaning |
| --- | --- |
| **agent** | anything that perceives and acts |
| **percept** | the agent's perceptual input at one instant |
| **percept sequence** | the complete history of everything the agent has perceived |
| **action** | one of the choices the agent can make through its actuators |
| **environment** | everything outside the agent that it perceives and acts upon |
| **performance measure** | the external criterion that scores the agent's success |
| **rational agent** | one that, for each percept sequence, selects the action expected to maximize the performance measure |

Keep the last row in view. Everything downstream — search, logic, probability,
learning — is a different answer to the same question: given the percepts so far,
which action maximizes expected performance? The lesson on
[intelligent agents](/artificial-intelligence/foundations/intelligent-agents) makes
the agent and its environment precise; the rest of the course fills in the machinery
an agent uses to choose well.

That is the definition. But a definition arrived without its history, and without
the older sciences it borrows from, is hard to trust. The companion lesson,
[the foundations of AI](/artificial-intelligence/foundations/foundations-of-ai),
traces where the rational-agent idea came from — the disciplines that fed it, the
cycles of boom and winter the field went through, and the deep-learning turn that
now defines its public face — and shows that none of it disturbs the one-line frame
fixed here.

This continues in [The Foundations of AI](/artificial-intelligence/foundations/foundations-of-ai).


[^rn-open]: **Russell & Norvig**, _AIMA_ 3rd ed., Ch. 1 opening — AI as the effort not merely to understand intelligence but to build intelligent entities, one of the newest fields in science and engineering.
[^rn-four]: **Russell & Norvig**, _AIMA_ §1.1, Figure 1.1 — eight definitions of AI organized along the thinking/acting and human/rational axes into four schools.
[^rn-turing]: **Russell & Norvig**, _AIMA_ §1.1.1 — the Turing test as an operational definition of intelligence, its six required capabilities (including the total Turing test's vision and robotics), and the argument that duplicating an exemplar is not the goal.
[^rn-cog]: **Russell & Norvig**, _AIMA_ §1.1.2 — thinking humanly and cognitive science: matching a program's reasoning trace to human data, distinguished from the engineering claim that the program performs well.
[^rn-laws]: **Russell & Norvig**, _AIMA_ §1.1.3 — the laws-of-thought approach from Aristotle's syllogisms to the logicist tradition, and its two obstacles: informal or uncertain knowledge, and the gap between solving in principle and in practice.
[^rn-agent]: **Russell & Norvig**, _AIMA_ §1.1.4 — the rational-agent approach: an agent that acts to achieve the best expected outcome; why it is more general and more scientifically tractable than the alternatives; and the note on limited rationality.
[^searle]: **J. Searle**, "Minds, Brains, and Programs," _Behavioral and Brain Sciences_ 3 (1980) — the Chinese Room argument that symbol manipulation passing a Turing test does not constitute understanding; the reply from the acting-rationally view is that the agent is judged by behavior.
[^simon]: **H. A. Simon**, _Models of Man_ (1957) and "A Behavioral Model of Rational Choice," _Quarterly Journal of Economics_ 69 (1955) — bounded rationality and satisficing; and **S. Russell & E. Wefald**, _Do the Right Thing_ (1991), for bounded optimality as the best program a given machine can run.
