{ "cells": [ { "cell_type": "markdown", "id": "cumlog-00", "metadata": {}, "source": [ "# `dtd-cumlog` — Li, Wang & Nie's (2024) cumulative-logit day-to-day dynamics\n", "\n", "Every logit-choice day-to-day model shipped so far rests at *stochastic* user equilibrium\n", "(`dtd-horowitz`, `dtd-stochastic`, `dtd-swap-sue`), and every model whose limit **is**\n", "deterministic Wardrop UE uses a *perfectly rational* adjustment direction (`dtd-swap`,\n", "`dtd-friesz`, `dtd-link`). **CumLog** ([li2024wardrop](../../docs/REFERENCES.md)) fills the\n", "empty cell: a *boundedly-rational* logit choice — travelers put positive probability on\n", "acceptable suboptimal routes every day — whose global limit is nonetheless **exact Wardrop\n", "UE at a finite** exploitation parameter `r`.\n", "\n", "The trick is one line. Travelers carry a per-OD route-**valuation** vector `s`, choose by the\n", "logit map `p = softmax(-r s)`, and **accumulate** the experienced route cost\n", "`s <- s + eta_t c(p)` (Eq. 6) rather than **average** it `s <- (1-eta_t) s + eta_t c(p)`\n", "(Eq. 4, the classical scheme whose limit is SUE). This notebook certifies both halves of that\n", "contrast (Remark 3) on identical machinery." ] }, { "cell_type": "markdown", "id": "cumlog-01", "metadata": {}, "source": [ "## How this notebook is graded\n", "\n", "**A notebook never claims a number it does not compute in that cell.** Every scored quantity\n", "below is recomputed live by the P1 `Evaluator` from the flows the model emitted, in the cell\n", "where it is claimed. Model self-reports (the per-day relative gap) are shown only as\n", "provenance and diffed against the certificate, exactly as the harness treats them\n", "([README](../../README.md), *Certified, not self-reported*). Analytic anchors (the exact\n", "Braess UE, the binary-logit SUE split) are recomputed in-cell, never quoted." ] }, { "cell_type": "code", "execution_count": 1, "id": "cumlog-02", "metadata": { "execution": { "iopub.execute_input": "2026-07-21T13:46:50.947123Z", "iopub.status.busy": "2026-07-21T13:46:50.946844Z", "iopub.status.idle": "2026-07-21T13:46:52.989077Z", "shell.execute_reply": "2026-07-21T13:46:52.987583Z" } }, "outputs": [], "source": [ "# Setup. `dtd-cumlog` is a core day-to-day model: a plain `pip install -e .` suffices —\n", "# no optional extra, so no guard cell. The inline backend is Agg-based (headless CI\n", "# renders into the notebook); NEVER matplotlib.use(\"Agg\") in-kernel — it silently\n", "# suppresses inline figure capture.\n", "%matplotlib inline\n", "import numpy as np\n", "from scipy.optimize import brentq\n", "\n", "from tabench import (\n", " Budget,\n", " CumLogDTDModel,\n", " Evaluator,\n", " RngBundle,\n", " Trace,\n", " braess_scenario,\n", " two_route_scenario,\n", " viz,\n", ")" ] }, { "cell_type": "markdown", "id": "cumlog-03", "metadata": {}, "source": [ "## The scenario\n", "\n", "The classic **Braess** network (unique UE link flows `[4, 2, 2, 2, 4]`, common route time 92)\n", "for the exact-UE limit, and the **two-route** anchor — taken as a *deterministic* UE task\n", "(`sue_theta=None`) so the certificate is the standard Wardrop relative gap — for the\n", "accumulation-vs-averaging headline, where its analytic limits are hand-checkable." ] }, { "cell_type": "code", "execution_count": 2, "id": "cumlog-04", "metadata": { "execution": { "iopub.execute_input": "2026-07-21T13:46:52.993983Z", "iopub.status.busy": "2026-07-21T13:46:52.993680Z", "iopub.status.idle": "2026-07-21T13:46:53.000340Z", "shell.execute_reply": "2026-07-21T13:46:52.999003Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "braess : 5 links, demand 6\n", "content hash : cf00f411cdccec88…\n", "two-route : 4 links, demand 4\n" ] } ], "source": [ "braess = braess_scenario()\n", "net = braess.network\n", "anchor = two_route_scenario(sue_theta=None) # deterministic UE certificate\n", "print(f\"braess : {net.n_links} links, demand {braess.demand.total:g}\")\n", "# This model adds NO scenario field, so the golden Braess content hash is\n", "# byte-identical to every other row's (the witness for the takeaways claim below).\n", "print(f\"content hash : {braess.content_hash()[:16]}…\")\n", "print(f\"two-route : {anchor.network.n_links} links, demand {anchor.demand.total:g}\")" ] }, { "cell_type": "markdown", "id": "cumlog-05", "metadata": {}, "source": [ "## Run the cumulative-logit process\n", "\n", "Default factors: exploitation `r = 1`, the **harmonic** schedule `eta_t = 1/(t+1)` (which\n", "converges to WE for *any* `r`, Theorem 1(i)), accumulation on. One batched Dijkstra per day\n", "grows the working route set and supplies `SPTT` for the gap." ] }, { "cell_type": "code", "execution_count": 3, "id": "cumlog-06", "metadata": { "execution": { "iopub.execute_input": "2026-07-21T13:46:53.004616Z", "iopub.status.busy": "2026-07-21T13:46:53.004367Z", "iopub.status.idle": "2026-07-21T13:46:53.019141Z", "shell.execute_reply": "2026-07-21T13:46:53.018365Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "model : dtd-cumlog\n", "days simulated : 27 (28 shortest-path calls)\n", "emitted flows : [4.000001 1.999999 2.000003 1.999999 4.000001]\n", "self-reported relative gap : 6.913e-08 (provenance only)\n" ] } ], "source": [ "run = Trace()\n", "model = CumLogDTDModel(r=1.0) # harmonic default, accumulate=True\n", "model.solve(braess, Budget(iterations=5000, target_relative_gap=1e-7), RngBundle(0), run)\n", "final = run.final\n", "print(f\"model : {model.name}\")\n", "print(f\"days simulated : {final.coords.iterations} ({final.coords.sp_calls} shortest-path calls)\")\n", "print(f\"emitted flows : {np.round(final.link_flows, 6)}\")\n", "print(f\"self-reported relative gap : {final.self_report['relative_gap']:.3e} (provenance only)\")" ] }, { "cell_type": "markdown", "id": "cumlog-07", "metadata": {}, "source": [ "## Certify (P1) — exact deterministic Wardrop UE\n", "\n", "The rest point is Wardrop UE, so the scored quantity is the **standard UE relative gap** the\n", "harness recomputes from the emitted link flows — no new certificate, no new scenario field.\n", "A finite-`r` logit choice, yet the limit is the *exact* UE (not the SUE an averaged-cost\n", "logit would give)." ] }, { "cell_type": "code", "execution_count": 4, "id": "cumlog-08", "metadata": { "execution": { "iopub.execute_input": "2026-07-21T13:46:53.022946Z", "iopub.status.busy": "2026-07-21T13:46:53.022659Z", "iopub.status.idle": "2026-07-21T13:46:53.028091Z", "shell.execute_reply": "2026-07-21T13:46:53.027314Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "certified UE relative gap : 6.913e-08\n", "feasible : 1\n", "emitted flows == exact Braess UE [4.0, 2.0, 2.0, 2.0, 4.0]\n", "self-report == certificate (P1)\n" ] } ], "source": [ "metrics = Evaluator(braess).evaluate(final.link_flows)\n", "print(f\"certified UE relative gap : {metrics['relative_gap']:.3e}\")\n", "print(f\"feasible : {metrics['feasible']:.0f}\")\n", "assert metrics[\"feasible\"] == 1.0\n", "assert metrics[\"relative_gap\"] < 1e-6\n", "\n", "# The exact analytic Braess UE (2 units on each of the three routes).\n", "ue_flows = np.array([4.0, 2.0, 2.0, 2.0, 4.0])\n", "assert np.allclose(final.link_flows, ue_flows, atol=1e-3)\n", "print(f\"emitted flows == exact Braess UE {ue_flows.tolist()}\")\n", "\n", "# Honesty (P1): the model self-reports the SAME relative gap the harness recomputes.\n", "assert np.isclose(final.self_report[\"relative_gap\"], metrics[\"relative_gap\"], rtol=1e-9, atol=1e-12)\n", "print(\"self-report == certificate (P1)\")" ] }, { "cell_type": "markdown", "id": "cumlog-09", "metadata": {}, "source": [ "## The headline — accumulation vs averaging (Remark 3)\n", "\n", "The paper's central claim as an **executable fact on one instance, identical machinery, the\n", "same `r = 1`**: the one-line difference between Eq. 6 (accumulate) and Eq. 4 (average) is the\n", "difference between converging to *exact Wardrop UE* and converging to the *logit SUE*.\n", "`accumulate=False` is a comparison knob for this contrast — **never** a shipped SUE mode\n", "(`dtd-horowitz` remains the benchmark's logit-SUE day-to-day row)." ] }, { "cell_type": "code", "execution_count": 5, "id": "cumlog-10", "metadata": { "execution": { "iopub.execute_input": "2026-07-21T13:46:53.031777Z", "iopub.status.busy": "2026-07-21T13:46:53.031412Z", "iopub.status.idle": "2026-07-21T13:46:54.439089Z", "shell.execute_reply": "2026-07-21T13:46:54.437819Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "accumulate (Eq. 6) : f_A = 2.500000 UE gap = 9.98e-08\n", "average (Eq. 4) : f_A = 2.373888 UE gap = 0.034 (analytic SUE 2.373888)\n", "\n", "same machinery, same r=1: accumulate -> exact UE (2.5), average -> logit SUE (2.3739)\n" ] } ], "source": [ "ev = Evaluator(anchor)\n", "\n", "# Eq. 6 (accumulate) -> exact deterministic Wardrop UE: f_A -> 2.5.\n", "acc = Trace()\n", "CumLogDTDModel(r=1.0, accumulate=True).solve(\n", " anchor, Budget(iterations=6000, target_relative_gap=1e-7), RngBundle(0), acc\n", ")\n", "m_acc = ev.evaluate(acc.final.link_flows)\n", "print(f\"accumulate (Eq. 6) : f_A = {acc.final.link_flows[0]:.6f} UE gap = {m_acc['relative_gap']:.2e}\")\n", "assert m_acc[\"feasible\"] == 1.0 and m_acc[\"relative_gap\"] < 1e-6\n", "\n", "# Eq. 4 (average) -> the logit SUE at dispersion r: the binary-logit split, recomputed in-cell.\n", "avg = Trace()\n", "CumLogDTDModel(r=1.0, accumulate=False).solve(anchor, Budget(iterations=4000), RngBundle(0), avg)\n", "m_avg = ev.evaluate(avg.final.link_flows)\n", "def _sue_resid(f_a):\n", " c_a, c_b = 2.0 + f_a, 1.5 + 2.0 * (4.0 - f_a)\n", " return f_a - 4.0 / (1.0 + np.exp(1.0 * (c_a - c_b))) # dispersion r = 1\n", "f_a_sue = brentq(_sue_resid, 0.0, 4.0, xtol=1e-12)\n", "print(f\"average (Eq. 4) : f_A = {avg.final.link_flows[0]:.6f} UE gap = {m_avg['relative_gap']:.3f} (analytic SUE {f_a_sue:.6f})\")\n", "assert np.isclose(avg.final.link_flows[0], f_a_sue, atol=1e-3) # matches the analytic SUE\n", "assert m_avg[\"relative_gap\"] > 0.01 # NOT deterministic UE\n", "\n", "# One line changed; a categorically different limit.\n", "assert abs(acc.final.link_flows[0] - avg.final.link_flows[0]) > 0.1\n", "print(f\"\\nsame machinery, same r=1: accumulate -> exact UE (2.5), average -> logit SUE ({f_a_sue:.4f})\")" ] }, { "cell_type": "markdown", "id": "cumlog-11", "metadata": {}, "source": [ "## Visualize" ] }, { "cell_type": "code", "execution_count": 6, "id": "cumlog-12", "metadata": { "execution": { "iopub.execute_input": "2026-07-21T13:46:54.443705Z", "iopub.status.busy": "2026-07-21T13:46:54.443380Z", "iopub.status.idle": "2026-07-21T13:46:54.761672Z", "shell.execute_reply": "2026-07-21T13:46:54.760398Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Certified terminal flows on the Braess network (house style via tabench.viz).\n", "display(viz.plot_network_flows(net, final.link_flows))\n", "\n", "# The headline, on the two-route anchor: accumulation lands on the Wardrop UE (on the\n", "# diagonal), the one-line-different averaging variant lands on the logit SUE (off it).\n", "ue_two_route = np.array([2.5, 2.5, 1.5, 1.5])\n", "display(viz.plot_flow_scatter(\n", " (\"Wardrop UE\", ue_two_route),\n", " {\"accumulate (UE)\": acc.final.link_flows, \"average (SUE)\": avg.final.link_flows},\n", "))" ] }, { "cell_type": "markdown", "id": "cumlog-13", "metadata": {}, "source": [ "## Takeaways & pointers\n", "\n", "- **Certified, not self-reported.** The UE gap came from `Evaluator` — the *standard* Wardrop\n", " relative gap, no new certificate and no new scenario field (the golden Braess hash is\n", " byte-identical).\n", "- **One line, two limits.** Accumulating the experienced cost (Eq. 6) reaches exact Wardrop\n", " UE at a finite `r`; averaging it (Eq. 4) reaches the logit SUE — the same machinery, the\n", " same `r`, a categorically different limit (Remark 3).\n", "- **Bounded rationality, two ways.** CumLog's is *process-level* (imperfect choices along the\n", " path, WE preserved); `br-ue`'s is *concept-level* (an indifference band relaxes the\n", " equilibrium itself). See [ADR-038](../../docs/design/adr-038-dtd-cumlog.md) vs\n", " [ADR-008](../../docs/design/adr-008-boundedly-rational-ue.md).\n", "- **Where next.** the SUE sibling that averages [`dtd-horowitz`](05-dtd-horowitz.ipynb); the\n", " route-swap UE process [`dtd-swap`](01-dtd-swap.ipynb); the lineage in the\n", " [model compendium](../../docs/MODELS.md)." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" }, "tabench": { "covers": [], "requires_extra": null, "track": "day-to-day", "unit": "dtd-cumlog" } }, "nbformat": 4, "nbformat_minor": 5 }