| 场景 Scenario | Penetration | Delay | Accuracy | Hetero |
|---|---|---|---|---|
| S1 基线 Baseline | 0% | -- | -- | Off |
| S2 完美信息 Perfect | 100% | 0 | 100% | Off |
| S3 降质信息 Degraded | 100% | 0-30 | 50-100% | Off |
| S4 混合采用 Mixed | 0-100% | 0 | 100% | On |
patience=200(约2圈),代表免费停车时长。| 指标 Metric | S1 无信息 | S2 完美信息 | 变化 Change |
|---|---|---|---|
| 搜索时间 Search time | 119 | 84 | ↓29% |
| 占有率 Occupancy | 57% | 91% | ↑34% |
| 成功率 Success rate | 67.7% | 79.1% | ↑11.4pp |
| 完成数 Completed | 989 | 1492 | ↑51% |
in-cone 实现,就像一个扇形的视野)
| Vision(用眼睛看) | SmartApp(用手机看) | |
|---|---|---|
| 能看多远 Range | 只能看前方一小段 | 能看整个停车场 |
| 看得准不准 Accuracy | 看到的都是真的 | 可能不准(50-100%) |
| 信息新不新 Freshness | 实时的,没有延迟 | 可能有延迟(0-30 ticks) |
| 什么时候会扎堆 Herding | 视野大于12就扎堆 | 超过50%人用就扎堆 |
| 分析角度 Analysis | 系统稳不稳定 | 信息质量和使用率 |
S2.1_perfect_info,用SmartApp模式把采用率从5%到100%每隔5%测一次。实验条件和Vision实验对齐(600辆车,80%车位密度,耐心600,跑100000步)。目的是直接对比:SmartApp的"采用率 vs 搜索时间"和Vision的"视野 vs 搜索时间"是不是一样的形状。ParkingLots_G1.6.nlogo。| HaiChuan | Geoffrey |
|---|---|
| SmartApp广播系统 | Vision视觉搜索 |
| Smart搜索逻辑(4次迭代) | U-turn处理 |
| S1-S4实验设计 | 死锁检测(2x2) |
| BehaviorSpace配置调试 | 退出安全逻辑 |
| Patience/U-turn整合 | V1-V4 Vision实验 |
| G1.3→G1.4修复 | 分岔/Henon Map |
| Stage 3报告撰写 | 异质性研究 |
如果给司机一个手机App告诉他们哪里有空车位,他们找车位会不会更快?停车场会不会更高效?
How does real-time parking-availability information affect drivers' search behaviour, cruising time, and congestion?
展开:我们用ABM(基于代理的模型)来做,因为每个司机都是独立决策的——有没有App、耐心多少都不一样。整个停车场的表现(多快找到位、堵不堵)是所有司机各自行动之后"冒出来的"结果,用传统数学公式算不了。
Elaborate: We use ABM because drivers act independently on partial info — they differ in app ownership and patience. System outcomes emerge from local decisions.
假设:有App的司机找车位更快、成功率更高。如果App信息不准或有延迟,效果会变差。
Hypothesis: Informed drivers search faster with higher success; effects weaken with degradation.
结果:前半部分验证了——有App确实快了29%。但后半部分出乎意料——App不准或有延迟时,效果居然没变差。更意外的是:所有人都用App反而不如只有一半人用,因为大家会扎堆。这种"想不到的结果"就是ABM的价值——不跑模拟你不会知道。
Result: Partially confirmed. Info does cut search time 29%. But "degradation weakens effects" — not really, system is surprisingly robust. Unexpected: 100% adoption underperforms 50% due to herding.
分三步走:Stage 1定研究方向,Stage 2搭基础模型,Stage 3加新功能和跑实验。Stage 3里我们各做各的搜索模式(HaiChuan做SmartApp,Geoffrey做Vision),然后合到一个文件里。通过版本号推进(G1.0→G1.3→G1.4→G1.5→G1.6),每次改完传给对方接着改。
Three phases: Stage 1 proposal, Stage 2 baseline model, Stage 3 extensions and experiments. We each developed our search mode independently, then integrated into one NetLogo file, iterating through versions.
最大的困难是合并两个人的代码。Geoffrey加了掉头功能之后,车可以一直转圈不走。之前耐心=1500让车转15圈以上,转那么多圈什么位都能找到,有没有App都一样——App没用了。我试了好几次(1500→400→200),最后定200(约转2圈就走),理由是"免费停车时间只有这么长"。另外我发现实验设置里漏了一个参数,导致我的SmartApp实验其实全跑成了Vision模式,我也修好了。
Biggest difficulty: integration. After Geoffrey added u-turn, patience=1500 let cars loop 15+ times, washing out info advantage. Took several rounds (1500→400→200) to find right patience. Also fixed missing h-mode in experiment config.
改了4版。第1版让司机直奔某个车位——全堵在一排了,只停了171辆。第2版加了"堵了就继续开"——好一点(397辆)但还是很差。第3版看到有空位的排就100%拐进去——扎堆太严重。最终版:有空位的排80%概率拐、没空位的排30%概率拐——终于好了。核心教训:改一个小数字(比如80%→100%),整个系统表现就完全不同。
4 iterations. V1: navigate to specific bay — all blocked (171). V2: bypass if blocked (397). V3: 100% turn-in — severe herding. Final: 80/30 split — balanced. Key lesson: small changes → big emergent differences.
我们按搜索方式分的。HaiChuan做SmartApp(用手机App找车位),Geoffrey做Vision(用眼睛看前方找车位)。这样分是因为两种方式代表现实中不同的找车位方法,可以各做各的再合到一起。HaiChuan还负责设计实验(S1-S4)和写报告,Geoffrey负责数学分析(系统稳定性、混沌)和研究司机多样性的影响。最后我们用同一个模型文件,通过一个开关切换两种模式。
We divided by search mode. I did SmartApp (global broadcast), Geoffrey did Vision (local visual search). I also handled experiment design and report writing. Geoffrey handled bifurcation analysis and heterogeneity study. We share one .nlogo file, switching modes via h-mode.
①实验一步一步加东西——先测没App的情况,再加完美App,再让App变差,最后混合使用。每次只变一个东西,这样能看出每个因素的效果。②耐心定为200——代表免费停车时间(大约转2圈),这是Geoffrey加了掉头功能之后必须调的。③拐进去的概率是80/30不是100/0——100%的话所有人都往同一排跑,试了4版才调出来。④两种搜索方式用同一个模型文件——保证对比公平,起点完全一样。
①Progressive experiment design — each scenario adds one factor. ②patience=200 — critical adjustment after u-turn. ③80/30 probability — avoids herding, from 4 iterations. ④Both modes in one model file — fair comparison.
我们把SmartApp叫做"扩展的眼睛"——和Vision本质是一回事。Vision是用肉眼看(只能看近处但很准),SmartApp是用手机看(能看整个停车场但可能不准、有延迟)。两种方式都发现了一个规律:信息有个最佳量,Vision在视野=12、SmartApp在50%采用率,超过这个点大家就开始扎堆。G1.6里Geoffrey加的S2.1实验直接证明了这一点——两张图放一起看,曲线形状几乎一样。另外,App信息不准反而是好事——不准的信息让每个人走不同的路,就不会扎堆了。
We define SmartApp as "Extended Vision" — same framework as Vision. Both discover an optimal info threshold: Vision at radius=12, SmartApp at 50% adoption. G1.6's S2.1 experiment confirms — side-by-side plots show nearly identical curves. Info noise actively suppresses herding.
三大块:①写SmartApp的代码——让车位广播信息、让司机根据App决定拐不拐进去,改了4版才调好。②设计4个实验(S1-S4),每次只加一个新东西。③合并代码——Geoffrey加了掉头功能之后,我调了耐心值(从1500降到200)、修了一个实验设置的bug、还修了超时检查的问题。另外Stage 3的报告也是我写的。
Three main parts: ①SmartApp broadcast system (4 iterations). ②S1-S4 experiment design. ③Integration — tuned patience, fixed experiment config bug, fixed timeout check. Also wrote Stage 3 report.
四个发现:①App有用——找车位快了29%,停车场利用率从57%升到91%。②信息不是越多越好——50%的人用App效果最好,全都用反而扎堆。Vision那边也一样,视野=12最好,再大也扎堆。③App不准反而是好事——每个人看到不一样的信息,就不会都往同一排跑。④给所有人完美信息时失败率涨了10倍,不只是"大家都来了"的问题,是整个系统变得不稳定了。
Four findings: ①Info works — 29% faster, occupancy 57%→91%. ②50% adoption beats 100% (same as Vision radius=12). ③Inaccurate info actively helps by preventing herding. ④Perfect info causes 10x failure increase — system becomes unstable.
Geoffrey做了Vision模式——司机往前看,看到空位比竞争的车多就拐进去。他发现视野=12最好,再大就扎堆(和我的SmartApp发现一样)。他还做了数学分析,发现调耐心值时系统会经历三种状态:耐心太低大家都走了、中间很稳定、耐心太高系统就乱了。另外他加了掉头功能和防堵死的检测。我在合并代码时调了耐心值让两种模式可以公平对比。
Geoffrey built Vision search — optimal at radius=12, herding beyond. Bifurcation analysis: three regimes (extinction → stable → chaos). Added u-turn and deadlock detection. I adjusted patience during integration.
①更早定好耐心值——加掉头功能之后花了很多时间调这个,如果一开始就商量好"车最多转几圈"会省事很多。②加几个停车场——现在只有一个,没法模拟"这个满了去那个"的情况。③用真实数据对比——我们只在模拟内部自己对比,如果有真实停车场的数据会更有说服力。④让App只显示附近的信息——现在App能看整个停车场,但现实中可能只显示你周围的车位。
①Agree on patience earlier. ②Add multiple car parks. ③Validate with real data. ④Add local-info version of SmartApp.
大家看到同样的信息→同时做一样的决定→全往同一排跑→那一排挤爆了。两种模式都有这个问题:Vision视野超过12就扎堆,SmartApp超过50%人用就扎堆。50%最好是因为——不是所有人都有App,有人往东有人往西,自然分散了。和Geoffrey那边发现的一样:司机耐心不同也能防扎堆。另外App信息不准也有帮助——每个人看到的信息不一样,就不会同时做一样的事。
Everyone sees same info → same decisions → all rush to same row. Both modes have this threshold: Vision at radius=12, SmartApp at 50%. 50% works because not everyone has the app = natural diversity. Info noise also helps — different info for each driver prevents synchronisation.
一步一步来的。先跑一个没有App的基础版本确认能正常工作。然后一个一个加新功能(先加广播、再加搜索逻辑、再加司机多样性),每加一个就跑实验看对不对。两个检查标准:没人用App时结果应该和基础版一样;App完全准确时应该明显更好。大部分bug出在"信息过期"的情况——司机决定去某个车位,但开到的时候已经被别人停了。
Iterative. First ran baseline to confirm stability. Added extensions one-by-one, testing after each. Two consistency checks: penetration=0 should match baseline; accuracy=100 should clearly beat it. Most bugs in "stale info" edge cases.
对城市停车政策有用:①停车App确实有效,传感器不完美也没关系。②不用追求人人都装App——25-50%的人用就够了,收益已经很大。③传感器不准反而有好处——信息不一样大家就不扎堆。④给太多人太准的信息,反而会让整个系统变乱——以前的研究只看个人效率,没注意到这种"大家一起行动"之后的问题。两种模式(Vision和SmartApp)都发现了同样的规律,说明这不是某种App的问题,是信息系统的通用规律。
Policy implications: ①Parking apps work, even with imperfect sensors. ②25-50% adoption captures most benefit. ③Imperfect sensors are actually beneficial. ④Too much info causes system instability. Both modes discover the same principle — this is a general law of information systems.