sudoaanish/Interpose
GitHub: sudoaanish/Interpose
Interpose 是一个实时多智能体追逃模拟框架,在程序化生成的城市路网上评估和对比不同的协同拦截策略、角色分配算法及轨迹预测模型。
Stars: 0 | Forks: 0
# Interpose:动态追逃与协同框架
Interpose 是一个实时追逃框架,旨在评估和演示在程序化生成的路网上的多智能体协同拦截策略。
通过对遏制战术进行建模、预测逃逸者轨迹并分配战术角色,该框架模拟了协同行动的车队如何利用物理路障和钉刺带拦截高速逃逸者。
## 核心功能
- **程序化路网**:结合生成树(高速公路)和循环网格(住宅街道)生成复杂的城市布局,以确保逼真的路线选择。
- **动态角色分配**:在追捕车队中实时动态分配角色:
- *Pursuer*(追击者):对逃逸者的当前位置施加直接压力并进行追击。
- *Interceptor*(拦截者):在预测的前方路口拦截逃逸者。
- *Flanker*(侧翼包抄者):向前移动以设置物理路障。
- **影响图预测**:结合空间可达性和车队威胁扩散方程,基于环境安全性而非简单的直线来预测逃逸者的轨迹。
- **物理钉刺带**:侧翼包抄者会动态部署路障。碾压钉刺带不会阻挡移动,但会刺破轮胎,从而永久降低逃逸者的速度。
- **自动驾驶系统**:包含一个自动化的逃逸者机器人,它使用实时的威胁热力图来规划逃跑路线,作为追捕测试的基准。
- **无头基准测试**:包含一个命令行测试套件,可以在无头模式下运行数百次迭代,并收集有关捕获率和捕获时间的数据。
## 架构
```
src/
├── agents/ # Vehicle movement, Player controls, and Cop pursuit logic
├── ai/ # Pathfinding caches, role allocation, and trajectory predictors
├── render/ # Camera viewports and Cyberpunk-themed Pygame rendering
└── world/ # Road network generators and influence map computations
```
## 快速开始
### 前置条件
- Python 3.10+
- Pygame
- NetworkX
- NumPy
### 安装
克隆仓库并安装依赖项:
```
pip install -r requirements.txt
```
### 运行模拟器
启动交互式可视化环境:
```
python main.py
```
- **驾驶**:WASD / 方向键
- **切换自动驾驶(AI 逃逸者)**:按 `[B]`
- **切换警察策略**:`[1]` 贪婪追击,`[2]` 预测性拦截,`[3]` 协同车队
- **切换升级模式**:按 `[M]`(逐步生成警察:最初 1 个,最多升级到 4 个)
- **切换调试热力图**:按 `[H]`
- **重新生成种子**:按 `[R]`
### 运行无头基准测试
在不渲染图形的情况下,跨多个种子评估追捕算法:
```
python scripts/benchmark.py 30
```
## 性能基准测试(30 个种子)
下表总结了在无头模式下针对自动规避威胁的逃逸者机器人收集的性能指标:
| 策略配置 | 捕获率 | 平均捕获时间 | 触发的钉刺带 |
| :--- | :---: | :---: | :---: |
| 贪婪追击(个体) | 93.3% | 32.2s | 0 |
| 预测性拦截(个体) | 80.0% | 40.5s | 0 |
| **协同车队(标准)** | **96.7%** | **27.3s** | **1** |
| 协同车队(升级模式) | 93.3% | 33.8s | 0 |
*主要发现:将车队协同分配为 Pursuer、Interceptor 和 Flanker 角色,捕获逃逸者的速度比标准的预测性拦截平均**快 13.2 秒**。*
## 许可证
本项目基于 MIT 许可证授权 - 详情请参阅 LICENSE 文件。
标签:Pygame, PyRIT, Python, 多智能体系统, 无后门, 特权检测, 算法仿真, 路径规划, 追逃博弈, 逆向工具