数据到了,却描述遥远的过去
AI 根据湿度测量判断温室当前状态。服务不丢消息、按顺序全部处理,但历史积压快于处理,决策仍会越来越陈旧。完成消息数不衡量新鲜度。本文用可逐事件核查的确定性轨迹研究信息年龄。
三个不相同的时间
每次测量有生成时间 g 与交付时间 d,系统时间为 d−g。观察时刻 t,令 u(t) 为已交付最新测量的生成时间,年龄 Δ(t)=t−u(t)。统一理想时钟、秒为单位,无漂移或额外网络延迟。交付一个已旧三秒的数据,年龄降到三而非零。
定义需要已交付更新或明确初态。为避免虚构新鲜度,只在两策略均首交付的 t=3 到 t=15 求平均。若包乱序,取生成时间最大值可避免旧包使 u(t) 倒退。
同一服务器,两种队列策略
在 0、1、…、9 秒生成十次测量,每次处理恰三秒。FIFO 即先进先出,全部保留,在 3、6、…、30 秒交付生成于 0、1、…、9 的数据,无并行或抢占。t=15 刚交付 g=4,年龄十一秒。服务器持续忙碌,却描述越来越旧的时刻。
第二策略只保留最新等待项,不打断在服务项。约定同一时刻先让新到达可用再选下一项,因此处理 g=0、3、6、9,在 3、6、9、12 秒交付,另六项等待时被替换。t=15 最新 g=9,年龄六秒。代价是放弃完整性,并非免费改善。
计算平均时不能抹掉跳变
时间平均为 Δ(t) 下方面积除观测时长。交付间 u 不变,年龄以斜率一增加,[a, b) 积分为 (b²−a²)/2−u(b−a)。代码逐事件精确积分,不是只平均交付时年龄,后者回答另一问题;图点平均也只是近似。
FIFO 四段面积为 13.5、19.5、25.5、31.5 平方秒,总 90,除十二秒得 7.5 秒。最新等待策略四段均 13.5,总 54,平均 4.5 秒。恰 t=15 的跳变改变瞬时年龄,却不改变积分,单点时长为零,因此平均差与终点差不必相同。
| 策略 | 3–15 s 平均年龄 | 15 s 时年龄 |
|---|---|---|
| 1 | 7.5 | 11 |
| 2 | 4.5 | 6 |

什么时候丢弃更新反而错误
状态测量可能被更新替代,但记账事件或单次报警可能不可替代。要求完整历史时,即使平均年龄改善也不能丢弃。本例到达在九秒停止,两策略最终年龄都会增长,策略不能创造新测量。未证明网络、随机负载或多传感器下最优。
Yates 等 2021 年综述第二节提供指标和分析基础,本文未复现其中基准,只执行确定性 Python 轨迹。真实部署须对齐时钟、定义来源并测损失、错误及决策后果。新鲜不等于准确,新测量也可错误。并非 EL-AI 安装测试。
全部处理仍可能根据旧数据决策。队列设计须分别规定历史完整性与状态新鲜度,同时测量,才能看清交付率掩盖的权衡。
Yates et al. (2021) — Age of Information, Section II.
import json,sys
from pathlib import Path
arrivals=list(range(10));service=3
fifo=[dict(generated=g,delivered=3*(g+1)) for g in arrivals]
# Arrivals at completion time are eligible before selecting the next job.
latest=[dict(generated=g,delivered=g+3) for g in [0,3,6,9]]
def age(events,t):return t-max(e['generated'] for e in events if e['delivered']<=t)
def mean_age(events,a=3,b=15):
points=sorted({a,b}|{e['delivered'] for e in events if a<e['delivered']<b});total=0
for x,y in zip(points,points[1:]):
u=max(e['generated'] for e in events if e['delivered']<=x);total+=(y*y-x*x)/2-u*(y-x)
return total/(b-a)
times=[3+i/20 for i in range(241)]
r=dict(python=sys.version.split()[0],seed=None,scope='Deterministic finite queue simulation, no network or sensor measurements',arrivalSeconds=arrivals,serviceSeconds=service,tieRule='Arrival at t is available when service completing at t selects next waiting update',FIFO=fifo,latestWaiting=latest,times=times,fifoAge=[age(fifo,t) for t in times],latestAge=[age(latest,t) for t in times],fifoMean=mean_age(fifo),latestMean=mean_age(latest),fifoAt15=age(fifo,15),latestAt15=age(latest,15))
assert r['fifoMean']==7.5 and r['latestMean']==4.5 and r['fifoAt15']==11 and r['latestAt15']==6
Path(__file__).with_name('results.json').write_text(json.dumps(r,indent=2),encoding='utf8')
代码、数据与说明 · JSON. 教学计算使用 Python 3.14.0,图使用 Matplotlib 3.11.2。分析由 AI 辅助,不声称经过同行评审或人工审核。原创 ImageGen 封面仅作示意,不记录 EL-AI 人员、场所或实际安装。来源查阅于 2026 年 10 月 25 日。

