How unit 5 is examined
This unit covers swarm intelligence and its three main algorithms (ant colony, particle swarm, bee colony) plus the applications of computational intelligence; no topic has been asked recently, so each is taught in full so that any of them can be answered this year.
Swarm Intelligence Techniques
<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>
Definition. <mark>Swarm intelligence is the collective, decentralised behaviour of many simple agents that interact locally with one another and with their environment, so that intelligent global behaviour emerges without any central controller.</mark>
Diagram.
<figure class="ds-fig" style="margin:1.4rem 0;overflow-x:auto"><svg xmlns="http://www.w3.org/2000/svg" id="dsfig-u5-01" viewBox="0 0 510 338" width="510" height="338" role="img" aria-label="Agents A1-A3 interact locally through the environment (Env); the global solution (Sol) emerges"><style>#dsfig-u5-01 .e{stroke:#454C5A;stroke-width:1.4;fill:none}#dsfig-u5-01 .e.hi{stroke:#2340B8;stroke-width:2.6}#dsfig-u5-01 .n{fill:#FFFFFF;stroke:#16181D;stroke-width:1.4}#dsfig-u5-01 .n.hi{fill:#E3E9FC;stroke:#2340B8;stroke-width:2.2}#dsfig-u5-01 .n.rb-b{fill:#16181D;stroke:#16181D}#dsfig-u5-01 .n.rb-r{fill:#BD3227;stroke:#BD3227}#dsfig-u5-01 text{font-family:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;font-size:13px}#dsfig-u5-01 .t{fill:#16181D;font-weight:500}#dsfig-u5-01 .t.inv{fill:#FFFFFF;font-weight:700}#dsfig-u5-01 .kd{stroke:#16181D;stroke-width:1.2}#dsfig-u5-01 .dot{fill:#16181D}#dsfig-u5-01 .ann{fill:#2340B8;font-size:11px;font-weight:700}#dsfig-u5-01 .lbl{fill:#6F7787;font-family:system-ui,-apple-system,sans-serif;font-size:12px;font-weight:700}#dsfig-u5-01 .ptr{fill:#2340B8;font-size:12px;font-weight:700}#dsfig-u5-01 .ah{fill:#454C5A}#dsfig-u5-01 .ah.hi{fill:#2340B8}#dsfig-u5-01 .wl rect{fill:#FFFFFF;stroke:#DCE0E7}#dsfig-u5-01 .wl .t{font-size:12px;font-weight:700}#dsfig-u5-01 .wl.hi rect{fill:#2340B8;stroke:#2340B8}#dsfig-u5-01 .wl.hi .t{fill:#FFFFFF}html.dark #dsfig-u5-01 .e{stroke:#B1B7C3}html.dark #dsfig-u5-01 .e.hi{stroke:#8FA3FF}html.dark #dsfig-u5-01 .n{fill:#161920;stroke:#E6E8ED}html.dark #dsfig-u5-01 .n.hi{fill:#1E2748;stroke:#8FA3FF}html.dark #dsfig-u5-01 .n.rb-b{fill:#E6E8ED;stroke:#E6E8ED}html.dark #dsfig-u5-01 .n.rb-r{fill:#FF7E71;stroke:#FF7E71}html.dark #dsfig-u5-01 .t{fill:#E6E8ED}html.dark #dsfig-u5-01 .t.inv{fill:#0F1115}html.dark #dsfig-u5-01 .kd{stroke:#E6E8ED}html.dark #dsfig-u5-01 .dot{fill:#E6E8ED}html.dark #dsfig-u5-01 .ann{fill:#8FA3FF}html.dark #dsfig-u5-01 .lbl{fill:#858D9C}html.dark #dsfig-u5-01 .ptr{fill:#8FA3FF}html.dark #dsfig-u5-01 .ah{fill:#B1B7C3}html.dark #dsfig-u5-01 .ah.hi{fill:#8FA3FF}html.dark #dsfig-u5-01 .wl rect{fill:#161920;stroke:#2A2E37}html.dark #dsfig-u5-01 .wl.hi rect{fill:#8FA3FF;stroke:#8FA3FF}html.dark #dsfig-u5-01 .wl.hi .t{fill:#0F1115}</style><defs><marker id="ah7" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah" d="M0,1 L9,5 L0,9 z"/></marker><marker id="ahh7" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah hi" d="M0,1 L9,5 L0,9 z"/></marker></defs><path class="e" d="M58,50.8 L237,158.2" marker-end="url(#ah7)" marker-start="url(#ah7)"/><path class="e" d="M61,169 L234,169" marker-end="url(#ah7)" marker-start="url(#ah7)"/><path class="e" d="M58,287.2 L237,179.8" marker-end="url(#ah7)" marker-start="url(#ah7)"/><path class="e" d="M274,169 L449,169" marker-end="url(#ah7)"/><circle class="n" cx="40" cy="40" r="18"/><text class="t" x="40" y="40" dy=".35em" text-anchor="middle">A1</text><circle class="n" cx="40" cy="169" r="18"/><text class="t" x="40" y="169" dy=".35em" text-anchor="middle">A2</text><circle class="n" cx="40" cy="298" r="18"/><text class="t" x="40" y="298" dy=".35em" text-anchor="middle">A3</text><circle class="n" cx="255" cy="169" r="18"/><text class="t" x="255" y="169" dy=".35em" text-anchor="middle">Env</text><circle class="n" cx="470" cy="169" r="18"/><text class="t" x="470" y="169" dy=".35em" text-anchor="middle">Sol</text></svg><figcaption style="font-size:.82em;opacity:.72;margin-top:.45rem">Agents A1-A3 interact locally through the environment (Env); the global solution (Sol) emerges</figcaption></figure>
Key points.
- A swarm is made of many simple agents such as ants, bees, birds or fish, and each agent knows only its own small neighbourhood.
- There is no central controller or leader, so the system is decentralised and there is no single point of failure.
- Global behaviour emerges from local rules; this is called self-organisation.
- Agents communicate directly (a bee dance) or indirectly through the environment, which is called stigmergy (an ant leaving pheromone).
- The system is robust, because losing a few agents does not stop the swarm, and it is scalable, because more agents can be added easily.
- The main techniques are Ant Colony Optimization (ACO), Particle Swarm Optimization (PSO) and Artificial Bee Colony (ABC).
- Swarm methods are population based and use randomness and feedback to balance exploration and exploitation.
Answer frame. Open with the definition; draw the agents-environment figure; develop points 1-5 in order; name the three techniques; close with one line that swarm methods solve hard optimisation problems without central control.
Ant Colony Optimization
<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>
Definition. <mark>Ant Colony Optimization (ACO) is a metaheuristic inspired by real ants, in which artificial ants build solutions step by step and deposit pheromone on good paths, so that later ants are guided towards shorter routes.</mark>
Diagram.
<figure class="ds-fig" style="margin:1.4rem 0;overflow-x:auto"><svg xmlns="http://www.w3.org/2000/svg" id="dsfig-u5-02" viewBox="0 0 510 338" width="510" height="338" role="img" aria-label="Nest (N) to food (F): the short path via S collects more pheromone than the long path via L"><style>#dsfig-u5-02 .e{stroke:#454C5A;stroke-width:1.4;fill:none}#dsfig-u5-02 .e.hi{stroke:#2340B8;stroke-width:2.6}#dsfig-u5-02 .n{fill:#FFFFFF;stroke:#16181D;stroke-width:1.4}#dsfig-u5-02 .n.hi{fill:#E3E9FC;stroke:#2340B8;stroke-width:2.2}#dsfig-u5-02 .n.rb-b{fill:#16181D;stroke:#16181D}#dsfig-u5-02 .n.rb-r{fill:#BD3227;stroke:#BD3227}#dsfig-u5-02 text{font-family:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;font-size:13px}#dsfig-u5-02 .t{fill:#16181D;font-weight:500}#dsfig-u5-02 .t.inv{fill:#FFFFFF;font-weight:700}#dsfig-u5-02 .kd{stroke:#16181D;stroke-width:1.2}#dsfig-u5-02 .dot{fill:#16181D}#dsfig-u5-02 .ann{fill:#2340B8;font-size:11px;font-weight:700}#dsfig-u5-02 .lbl{fill:#6F7787;font-family:system-ui,-apple-system,sans-serif;font-size:12px;font-weight:700}#dsfig-u5-02 .ptr{fill:#2340B8;font-size:12px;font-weight:700}#dsfig-u5-02 .ah{fill:#454C5A}#dsfig-u5-02 .ah.hi{fill:#2340B8}#dsfig-u5-02 .wl rect{fill:#FFFFFF;stroke:#DCE0E7}#dsfig-u5-02 .wl .t{font-size:12px;font-weight:700}#dsfig-u5-02 .wl.hi rect{fill:#2340B8;stroke:#2340B8}#dsfig-u5-02 .wl.hi .t{fill:#FFFFFF}html.dark #dsfig-u5-02 .e{stroke:#B1B7C3}html.dark #dsfig-u5-02 .e.hi{stroke:#8FA3FF}html.dark #dsfig-u5-02 .n{fill:#161920;stroke:#E6E8ED}html.dark #dsfig-u5-02 .n.hi{fill:#1E2748;stroke:#8FA3FF}html.dark #dsfig-u5-02 .n.rb-b{fill:#E6E8ED;stroke:#E6E8ED}html.dark #dsfig-u5-02 .n.rb-r{fill:#FF7E71;stroke:#FF7E71}html.dark #dsfig-u5-02 .t{fill:#E6E8ED}html.dark #dsfig-u5-02 .t.inv{fill:#0F1115}html.dark #dsfig-u5-02 .kd{stroke:#E6E8ED}html.dark #dsfig-u5-02 .dot{fill:#E6E8ED}html.dark #dsfig-u5-02 .ann{fill:#8FA3FF}html.dark #dsfig-u5-02 .lbl{fill:#858D9C}html.dark #dsfig-u5-02 .ptr{fill:#8FA3FF}html.dark #dsfig-u5-02 .ah{fill:#B1B7C3}html.dark #dsfig-u5-02 .ah.hi{fill:#8FA3FF}html.dark #dsfig-u5-02 .wl rect{fill:#161920;stroke:#2A2E37}html.dark #dsfig-u5-02 .wl.hi rect{fill:#8FA3FF;stroke:#8FA3FF}html.dark #dsfig-u5-02 .wl.hi .t{fill:#0F1115}</style><defs><marker id="ah8" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah" d="M0,1 L9,5 L0,9 z"/></marker><marker id="ahh8" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah hi" d="M0,1 L9,5 L0,9 z"/></marker></defs><path class="e" d="M56.3,159.2 L238.7,49.8"/><path class="e" d="M56.3,178.8 L238.7,288.2"/><path class="e hi" d="M271.3,49.8 L453.7,159.2"/><path class="e hi" d="M56.3,159.2 L238.7,49.8"/><path class="e" d="M271.3,288.2 L453.7,178.8"/><g class="wl"><rect x="124" y="95.5" width="47.1" height="18" rx="9"/><text class="t" x="147.5" y="104.5" dy=".35em" text-anchor="middle">short</text></g><g class="wl"><rect x="127.1" y="224.5" width="40.8" height="18" rx="9"/><text class="t" x="147.5" y="233.5" dy=".35em" text-anchor="middle">long</text></g><circle class="n" cx="40" cy="169" r="18"/><text class="t" x="40" y="169" dy=".35em" text-anchor="middle">N</text><circle class="n" cx="255" cy="40" r="18"/><text class="t" x="255" y="40" dy=".35em" text-anchor="middle">S</text><circle class="n" cx="255" cy="298" r="18"/><text class="t" x="255" y="298" dy=".35em" text-anchor="middle">L</text><circle class="n" cx="470" cy="169" r="18"/><text class="t" x="470" y="169" dy=".35em" text-anchor="middle">F</text></svg><figcaption style="font-size:.82em;opacity:.72;margin-top:.45rem">Nest (N) to food (F): the short path via S collects more pheromone than the long path via L</figcaption></figure>
Formula. Probability that ant $k$ at city $i$ moves to city $j$, and the pheromone update:
$$p_{ij}=\frac{\tau_{ij}^{\alpha}\,\eta_{ij}^{\beta}}{\sum_{l}\tau_{il}^{\alpha}\,\eta_{il}^{\beta}},\qquad \tau_{ij}\leftarrow(1-\rho)\,\tau_{ij}+\sum_{k}\Delta\tau_{ij}^{k},\qquad \Delta\tau_{ij}^{k}=\frac{Q}{L_k}$$
Key points.
- Here $\tau_{ij}$ is the pheromone on edge $ij$, $\eta_{ij}=1/d_{ij}$ is the heuristic desirability (closer is better), and $\alpha,\beta$ weight the two.
- $\rho\in(0,1)$ is the evaporation rate, $Q$ is a constant and $L_k$ is the tour length of ant $k$.
- Each ant chooses its next node probabilistically using the rule above, so good edges are favoured but others are still explored.
- A shorter tour deposits more pheromone ($Q/L_k$ is larger), which is positive feedback.
- Evaporation removes old pheromone, so poor early choices are forgotten and premature convergence is avoided.
- The cycle of construct, update pheromone and repeat runs until a stopping rule is met, and the best tour found is returned.
- Typical uses are the travelling salesman problem, vehicle routing, network routing and job scheduling.
Example. From city $i$ two edges have $d=2$ and $d=4$, all $\tau=1$, $\alpha=1$, $\beta=2$. Weights are $1\times(1/2)^2=0.25$ and $1\times(1/4)^2=0.0625$, sum $0.3125$, so $p=0.8$ and $0.2$. The nearer city is chosen with probability 0.8. Update: with $\rho=0.5$, $\tau=1$, $Q=10$, $L=5$, $\tau_{new}=0.5\times1+10/5=2.5$.
Answer frame. Open with the definition and the ant-trail idea; draw the nest-food figure; write the two formulas with symbols named; develop points 3-6 as the algorithm; close with applications (TSP, routing).
Particle Swarm Optimization
<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>
Definition. <mark>Particle Swarm Optimization (PSO) is a population-based optimisation technique, modelled on bird flocking, in which each particle adjusts its velocity using its own best position and the best position found by the whole swarm.</mark>
Diagram.
<figure class="ds-fig" style="margin:1.4rem 0;overflow-x:auto"><svg xmlns="http://www.w3.org/2000/svg" id="dsfig-u5-03" viewBox="0 0 424 295" width="424" height="295" role="img" aria-label="Particle at X is pulled towards its personal best (P) and the global best (G), moving to the new position Xn"><style>#dsfig-u5-03 .e{stroke:#454C5A;stroke-width:1.4;fill:none}#dsfig-u5-03 .e.hi{stroke:#2340B8;stroke-width:2.6}#dsfig-u5-03 .n{fill:#FFFFFF;stroke:#16181D;stroke-width:1.4}#dsfig-u5-03 .n.hi{fill:#E3E9FC;stroke:#2340B8;stroke-width:2.2}#dsfig-u5-03 .n.rb-b{fill:#16181D;stroke:#16181D}#dsfig-u5-03 .n.rb-r{fill:#BD3227;stroke:#BD3227}#dsfig-u5-03 text{font-family:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;font-size:13px}#dsfig-u5-03 .t{fill:#16181D;font-weight:500}#dsfig-u5-03 .t.inv{fill:#FFFFFF;font-weight:700}#dsfig-u5-03 .kd{stroke:#16181D;stroke-width:1.2}#dsfig-u5-03 .dot{fill:#16181D}#dsfig-u5-03 .ann{fill:#2340B8;font-size:11px;font-weight:700}#dsfig-u5-03 .lbl{fill:#6F7787;font-family:system-ui,-apple-system,sans-serif;font-size:12px;font-weight:700}#dsfig-u5-03 .ptr{fill:#2340B8;font-size:12px;font-weight:700}#dsfig-u5-03 .ah{fill:#454C5A}#dsfig-u5-03 .ah.hi{fill:#2340B8}#dsfig-u5-03 .wl rect{fill:#FFFFFF;stroke:#DCE0E7}#dsfig-u5-03 .wl .t{font-size:12px;font-weight:700}#dsfig-u5-03 .wl.hi rect{fill:#2340B8;stroke:#2340B8}#dsfig-u5-03 .wl.hi .t{fill:#FFFFFF}html.dark #dsfig-u5-03 .e{stroke:#B1B7C3}html.dark #dsfig-u5-03 .e.hi{stroke:#8FA3FF}html.dark #dsfig-u5-03 .n{fill:#161920;stroke:#E6E8ED}html.dark #dsfig-u5-03 .n.hi{fill:#1E2748;stroke:#8FA3FF}html.dark #dsfig-u5-03 .n.rb-b{fill:#E6E8ED;stroke:#E6E8ED}html.dark #dsfig-u5-03 .n.rb-r{fill:#FF7E71;stroke:#FF7E71}html.dark #dsfig-u5-03 .t{fill:#E6E8ED}html.dark #dsfig-u5-03 .t.inv{fill:#0F1115}html.dark #dsfig-u5-03 .kd{stroke:#E6E8ED}html.dark #dsfig-u5-03 .dot{fill:#E6E8ED}html.dark #dsfig-u5-03 .ann{fill:#8FA3FF}html.dark #dsfig-u5-03 .lbl{fill:#858D9C}html.dark #dsfig-u5-03 .ptr{fill:#8FA3FF}html.dark #dsfig-u5-03 .ah{fill:#B1B7C3}html.dark #dsfig-u5-03 .ah.hi{fill:#8FA3FF}html.dark #dsfig-u5-03 .wl rect{fill:#161920;stroke:#2A2E37}html.dark #dsfig-u5-03 .wl.hi rect{fill:#8FA3FF;stroke:#8FA3FF}html.dark #dsfig-u5-03 .wl.hi .t{fill:#0F1115}</style><defs><marker id="ah9" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah" d="M0,1 L9,5 L0,9 z"/></marker><marker id="ahh9" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah hi" d="M0,1 L9,5 L0,9 z"/></marker></defs><path class="e" d="M51.9,240.2 L198.9,56.4" marker-end="url(#ah9)"/><path class="e" d="M59,255 L363,255" marker-end="url(#ah9)"/><path class="e hi" d="M58.1,249.2 L235,192.6" marker-end="url(#ahh9)"/><g class="wl"><rect x="102.5" y="138.5" width="47.1" height="18" rx="9"/><text class="t" x="126" y="147.5" dy=".35em" text-anchor="middle">pbest</text></g><g class="wl"><rect x="188.5" y="246" width="47.1" height="18" rx="9"/><text class="t" x="212" y="255" dy=".35em" text-anchor="middle">gbest</text></g><g class="wl hi"><rect x="130.7" y="211.6" width="33.6" height="18" rx="9"/><text class="t" x="147.5" y="220.6" dy=".35em" text-anchor="middle">new</text></g><circle class="n" cx="40" cy="255" r="18"/><text class="t" x="40" y="255" dy=".35em" text-anchor="middle">X</text><circle class="n" cx="212" cy="40" r="18"/><text class="t" x="212" y="40" dy=".35em" text-anchor="middle">P</text><circle class="n" cx="384" cy="255" r="18"/><text class="t" x="384" y="255" dy=".35em" text-anchor="middle">G</text><circle class="n" cx="255" cy="186.2" r="18"/><text class="t" x="255" y="186.2" dy=".35em" text-anchor="middle">Xn</text></svg><figcaption style="font-size:.82em;opacity:.72;margin-top:.45rem">Particle at X is pulled towards its personal best (P) and the global best (G), moving to the new position Xn</figcaption></figure>
Formula.
$$v_i^{t+1}=w\,v_i^{t}+c_1 r_1\,(p_{best,i}-x_i^{t})+c_2 r_2\,(g_{best}-x_i^{t}),\qquad x_i^{t+1}=x_i^{t}+v_i^{t+1}$$
Steps.
Step 1: Initialise particles with random positions x and velocities v.
Step 2: Evaluate the fitness of every particle.
Step 3: Update pbest of each particle and gbest of the swarm.
Step 4: Update velocity and then position using the formulas.
Step 5: Repeat steps 2-4 until the iteration limit or target fitness is reached.
Key points.
- $w$ is the inertia weight (keeps the old direction), $c_1$ is the cognitive constant and $c_2$ is the social constant, usually about 2.
- $r_1,r_2$ are random numbers in $[0,1]$ that give the search its stochastic nature.
- $p_{best}$ is the best position a particle has visited; $g_{best}$ is the best position found by the entire swarm.
- The cognitive term pulls a particle to its own experience and the social term pulls it to the swarm's experience.
- A large $w$ favours exploration and a small $w$ favours exploitation.
- PSO is simple, has few parameters and needs no gradient, so it works on non-differentiable functions.
- It can converge prematurely to a local optimum, which is its main weakness.
Example. $x=2$, $v=1$, $w=0.5$, $c_1=c_2=2$, $r_1=r_2=0.5$, $p_{best}=3$, $g_{best}=5$. Then $v=0.5(1)+2(0.5)(3-2)+2(0.5)(5-2)=0.5+1+3=4.5$ and $x=2+4.5=6.5$. New velocity 4.5, new position 6.5.
Answer frame. Open with the definition; draw the pbest-gbest figure; write both equations and name every symbol; list the steps; close with advantages and the premature-convergence drawback.
Bee Colony Optimization
<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>
Definition. <mark>The Artificial Bee Colony (ABC) algorithm is an optimisation method that imitates the foraging of honey bees, where each food source is a candidate solution and its nectar amount is the fitness.</mark>
Diagram.
<figure class="ds-fig" style="margin:1.4rem 0;overflow-x:auto"><svg xmlns="http://www.w3.org/2000/svg" id="dsfig-u5-04" viewBox="0 0 309 130" width="309" height="130" role="img" aria-label="tree diagram"><style>#dsfig-u5-04 .e{stroke:#454C5A;stroke-width:1.4;fill:none}#dsfig-u5-04 .e.hi{stroke:#2340B8;stroke-width:2.6}#dsfig-u5-04 .n{fill:#FFFFFF;stroke:#16181D;stroke-width:1.4}#dsfig-u5-04 .n.hi{fill:#E3E9FC;stroke:#2340B8;stroke-width:2.2}#dsfig-u5-04 .n.rb-b{fill:#16181D;stroke:#16181D}#dsfig-u5-04 .n.rb-r{fill:#BD3227;stroke:#BD3227}#dsfig-u5-04 text{font-family:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;font-size:13px}#dsfig-u5-04 .t{fill:#16181D;font-weight:500}#dsfig-u5-04 .t.inv{fill:#FFFFFF;font-weight:700}#dsfig-u5-04 .kd{stroke:#16181D;stroke-width:1.2}#dsfig-u5-04 .dot{fill:#16181D}#dsfig-u5-04 .ann{fill:#2340B8;font-size:11px;font-weight:700}#dsfig-u5-04 .lbl{fill:#6F7787;font-family:system-ui,-apple-system,sans-serif;font-size:12px;font-weight:700}#dsfig-u5-04 .ptr{fill:#2340B8;font-size:12px;font-weight:700}#dsfig-u5-04 .ah{fill:#454C5A}#dsfig-u5-04 .ah.hi{fill:#2340B8}#dsfig-u5-04 .wl rect{fill:#FFFFFF;stroke:#DCE0E7}#dsfig-u5-04 .wl .t{font-size:12px;font-weight:700}#dsfig-u5-04 .wl.hi rect{fill:#2340B8;stroke:#2340B8}#dsfig-u5-04 .wl.hi .t{fill:#FFFFFF}html.dark #dsfig-u5-04 .e{stroke:#B1B7C3}html.dark #dsfig-u5-04 .e.hi{stroke:#8FA3FF}html.dark #dsfig-u5-04 .n{fill:#161920;stroke:#E6E8ED}html.dark #dsfig-u5-04 .n.hi{fill:#1E2748;stroke:#8FA3FF}html.dark #dsfig-u5-04 .n.rb-b{fill:#E6E8ED;stroke:#E6E8ED}html.dark #dsfig-u5-04 .n.rb-r{fill:#FF7E71;stroke:#FF7E71}html.dark #dsfig-u5-04 .t{fill:#E6E8ED}html.dark #dsfig-u5-04 .t.inv{fill:#0F1115}html.dark #dsfig-u5-04 .kd{stroke:#E6E8ED}html.dark #dsfig-u5-04 .dot{fill:#E6E8ED}html.dark #dsfig-u5-04 .ann{fill:#8FA3FF}html.dark #dsfig-u5-04 .lbl{fill:#858D9C}html.dark #dsfig-u5-04 .ptr{fill:#8FA3FF}html.dark #dsfig-u5-04 .ah{fill:#B1B7C3}html.dark #dsfig-u5-04 .ah.hi{fill:#8FA3FF}html.dark #dsfig-u5-04 .wl rect{fill:#161920;stroke:#2A2E37}html.dark #dsfig-u5-04 .wl.hi rect{fill:#8FA3FF;stroke:#8FA3FF}html.dark #dsfig-u5-04 .wl.hi .t{fill:#0F1115}</style><defs><marker id="ah10" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah" d="M0,1 L9,5 L0,9 z"/></marker><marker id="ahh10" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path class="ah hi" d="M0,1 L9,5 L0,9 z"/></marker></defs><line class="e" x1="148.5" y1="37" x2="55.5" y2="101"/><line class="e" x1="148.5" y1="37" x2="154.5" y2="101"/><line class="e" x1="148.5" y1="37" x2="241.5" y2="101"/><rect class="n" x="115" y="22" width="67" height="30" rx="8"/><text class="t" x="148.5" y="37" dy=".35em" text-anchor="middle">Colony</text><rect class="n" x="14" y="86" width="83" height="30" rx="8"/><text class="t" x="55.5" y="101" dy=".35em" text-anchor="middle">Employed</text><rect class="n" x="113" y="86" width="83" height="30" rx="8"/><text class="t" x="154.5" y="101" dy=".35em" text-anchor="middle">Onlooker</text><rect class="n" x="212" y="86" width="59" height="30" rx="8"/><text class="t" x="241.5" y="101" dy=".35em" text-anchor="middle">Scout</text></svg></figure>
Formula. Selection probability of source $i$ by an onlooker, and the new candidate source:
$$p_i=\frac{fit_i}{\sum_{j=1}^{SN} fit_j},\qquad v_{ij}=x_{ij}+\phi_{ij}\,(x_{ij}-x_{kj})$$
Key points.
- Employed bees are each attached to one food source; they search near it, keep the better solution and share its nectar information.
- Onlooker bees wait in the hive, watch the dance and choose a source with probability $p_i$, so richer sources attract more bees.
- Scout bees abandon a source that has not improved for a set limit and search randomly for a new one, which gives exploration.
- Here $\phi_{ij}\in[-1,1]$ is a random number and $x_k$ is a randomly chosen other source.
- The cycle of employed phase, onlooker phase and scout phase repeats, and the best source found is remembered.
- The main control parameters are colony size, the abandonment limit and the number of cycles.
- ABC has few parameters and balances exploration (scouts) with exploitation (employed and onlooker bees).
Example. Three sources have fitness 2, 3 and 5. The sum is 10, so $p=0.2,\ 0.3,\ 0.5$. The third source is chosen by onlookers with probability 0.5.
Answer frame. Open with the honey-bee analogy; draw the three bee types; write $p_i$; develop the three roles then the cycle; close with the exploration-exploitation balance.
Applications of Computational Intelligence
<span style="display:inline-block;padding:.16em .6em;border:1.5px solid currentColor;border-radius:999px;font-size:.68em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75">Not asked since 2022</span>
Definition. <mark>Computational intelligence (fuzzy logic, neural networks, evolutionary computation and swarm intelligence) is applied to real-world problems that are imprecise, nonlinear, uncertain or too complex for exact mathematical methods.</mark>
Key points.
- Control systems: fuzzy controllers run washing machines, air conditioners, cameras, metro trains and traffic signals.
- Pattern and image recognition: neural networks are used for face, handwriting, speech and fingerprint recognition.
- Medical diagnosis: neural and fuzzy systems help in ECG analysis, disease detection and decision support.
- Optimisation and scheduling: genetic algorithms, ACO, PSO and ABC solve timetabling, routing, TSP and design problems.
- Forecasting and finance: hybrid systems predict stock prices, weather, load demand and credit risk.
- Robotics, data mining, bioinformatics and telecommunication network routing also use these techniques.
- Hybrids such as neuro-fuzzy and genetic-fuzzy systems combine strengths, for example learning from neural networks with reasoning from fuzzy logic.
Answer frame. Open with the definition; give one application per technique (fuzzy control, neural recognition, GA or swarm optimisation); close with hybrid systems.
Last-minute revision
- Swarm intelligence: decentralised, self-organised behaviour of many simple agents with no central controller.
- Stigmergy is indirect communication through the environment, such as ant pheromone.
- ACO choice rule: $p_{ij}\propto\tau_{ij}^{\alpha}\eta_{ij}^{\beta}$ with $\eta=1/d$.
- ACO update: $\tau\leftarrow(1-\rho)\tau+\sum Q/L_k$; $\rho$ is the evaporation rate.
- Evaporation prevents premature convergence; shorter tours deposit more pheromone.
- PSO velocity: $v\leftarrow wv+c_1r_1(p_{best}-x)+c_2r_2(g_{best}-x)$.
- PSO position: $x\leftarrow x+v$; $p_{best}$ is personal best, $g_{best}$ is swarm best.
- Inertia weight $w$: large means exploration, small means exploitation.
- ABC has three bee types: employed, onlooker and scout.
- ABC onlooker probability: $p_i=fit_i/\sum fit_j$.
- ACO suits TSP and routing; PSO suits continuous optimisation; ABC suits numerical optimisation.
- CI applications: control, recognition, diagnosis, scheduling, forecasting.
Memory hooks
- ACO: "Ants leave Trails that Evaporate" gives $\tau$ and $\rho$.
- PSO: "Me, We, Momentum" gives $p_{best}$, $g_{best}$ and inertia $w$.
- ABC: "Employ, Onlook, Scout" means exploit, choose, explore.
- Swarm: no boss, simple rules, smart crowd.
- Applications: "CRDSF" is Control, Recognition, Diagnosis, Scheduling, Forecasting.
Coverage checklist
- Swarm Intelligence Techniques: definition, diagram, seven points, answer frame; no past questions.
- Ant Colony Optimization: definition, diagram, formulas, points, numerical; no past questions.
- Particle Swarm Optimization: definition, diagram, formula, steps, numerical; no past questions.
- Bee Colony Optimization: definition, roles, formula, numerical; no past questions.
- Applications of Computational Intelligence: definition, seven application areas; no past questions.