📊 Dubai Macroeconomic Agent-Based Simulator Portfolio

An independent computational behavioral economics study using three LLM agents (Amna, Tariq, The Market) reacting to a supply-chain shock.

Created by [Your Name]

Agent 1

Amna

Retail worker, Deira. AED 4,500/month income, AED 1,800 rent.

Agent 2

Tariq

Tech consultant, Dubai Marina. AED 45,000/month income, AED 12,000 rent.

Agent 3

The Market

Real estate and retail vendor protecting a ~20% margin.

🔬 Research & Hypothesis

Bounded rationality

Classical economics assumes people optimize with full information. Herbert Simon argued that real decision-makers have limited information, time, and computing capacity, so they "satisfice": they choose options that are good enough. This study asks whether agents from very different Dubai income groups show different decision rules when the same shock hits.

Context constraints

A small language model has a limited context window and limited ability to keep many facts separate. This is a machine analogue of bounded rationality: when several agents' numbers are packed into one prompt, the model can blur them together. That limitation is itself a research object here, not only a nuisance.

Hypothesis: Diverse Dubai demographics exhibit different forms of bounded rationality under recursive supply-chain shocks: subsistence-driven cutbacks for the low-income agent, and loss-averse asset protection for the high-income agent.

⚠️ Model Defect & Critique

Observed defect (Round 3): Tariq's agent accidentally adopted Amna's lower-income rent variable (AED 1,800) in place of his own (AED 12,000). This is an AI hallucination attributable to context degradation in a small (1.5B-parameter) model.

Evidence from the log

Likely mechanism (untested hypothesis)

Tariq's identity sits only in the system prompt, while the Round 3 prompt contains a long transcript with Amna's figures. Recent, repeated numbers can outweigh the persona facts for a small model.

Limits of this critique

This is based on a small number of runs with sampled (random) output, so it shows the failure can occur, not how often. A rigorous test would repeat Round 3 across many seeds and count how often each agent cites another agent's numbers.

💬 Simulation Dialogue Logs

Raw model output, shown unedited.