跳转至

Reversi AI Research Project — Meeting Slides (Bilingual)

Note: English first, followed by Chinese translation for each bullet. Use as slide notes directly.


1) Project Title & Ethical Compliance|项目标题与伦理合规

  • Reversi AI Algorithm Benchmarking & Optimization Research — 黑白棋AI算法基准与优化研究
  • Student: , , BSc Computer Science — 学生:<姓名>,<学号>,计算机科学本科
  • Supervisor meeting: Introductory overview (30 mins) — 与导师初次会面:项目概览(30分钟)
  • Statement of Ethical Compliance: Data Category B; Participant Category 2; will follow COMP390 ethical guidance — 伦理合规声明:数据类别B;参与者类别2;遵循COMP390伦理指南

Visual suggestion: Minimal title slide; small footer with ethics line. — 视觉建议:极简标题页,页脚写伦理声明。


2) Why Reversi? Motivation & Fit|为何选择黑白棋:动机与契合

  • Simple rules and no hidden info; a solid AI test — 规则简单、无隐藏信息;适合做AI测试
  • Right size: interesting to study, small enough to finish — 规模合适:有研究性,也能按时做完
  • Fits C++ well for fast bitboards and clear structure — 很适合用C++做位板加速和清晰架构
  • Fits COMP390: software + analysis + good process — 符合COMP390:软件+分析+良好过程

Visual suggestion: One mini-board sketch + 3 bullet icons. — 视觉建议:简化棋盘草图+3个要点图标。


3) Project Overview & Objectives|项目概览与目标

  • Distributed‑first: online multiplayer that just works (rooms, matchmaking, fair play) — 分布式优先:可用的在线对战(房间、匹配、公平对局)
  • Works on real networks: smooth latency, reconnect, save results — 面向真实网络:延迟平滑、可重连、保存结果
  • Then improve AI step by step; keep one clean interface for later methods — 然后逐步增强AI;保留统一接口便于以后接入方法
  • Clear modules: networking and AI are separate; upgrade one without breaking the other — 模块清晰:联网与AI分离;升级一边不影响另一边
  • Later show progress with small tests and simple charts — 之后用小测试和简明图表展示进展

Visual suggestion: Networking/Multiplayer block on top, AI block beneath. — 视觉建议:上方“联网/多人”,下方“AI”模块。


4) Tech Stack & Tools (Why Pure C++ vs Engine)|技术栈与工具(为何纯C++而非引擎)

  • Core approach: Modern C++ + CMake; lightweight UI — 核心做法:现代C++ + CMake;轻量UI
  • Why pure C++: performance & control; simple packaging; easy to reproduce — 选择纯C++:性能与可控性;打包简单;结果易复现
  • Trade‑off: engines have stronger UI/UX; we prioritise netcode + AI now — 取舍:引擎UI/UX更强;当前优先网络与AI
  • Networking plan: add asio/boost::asio when needed, no engine lock‑in — 联网方案:需要时加入asio/boost::asio,避免引擎绑定

Visual suggestion: One‑line contrast (Pure C++ now → engine optional later). — 视觉建议:一行对比(现用纯C++ → 将来可选引擎)。


5) High-level System Overview|系统高层概览

  • Layers: Algorithms / Optimizations / Evaluation / UI / Visualization — 分层:算法/优化/评测/UI/可视化
  • Clear interfaces: one AI interface; easy to swap implementations — 清晰接口:一个AI接口,便于替换实现
  • Simple events: UI listens to changes; background search does not block — 简单事件:UI监听变化;后台搜索不阻塞
  • Core bitboard Board with clean separation of concerns — 位板Board为核心,关注点分离清晰

Visual suggestion: Layered architecture diagram. — 视觉建议:分层架构图。


6) Direction Options: Distributed vs AI vs Both|方向选择:分布式 / AI / 双线

  • Option A: Distributed search (different computers) — 方案A:分布式搜索(多机)
  • Pros: scalability research, networking/OS skills — 优点:可扩展性研究、网络/系统技能
  • Cons: higher complexity, debugging risk — 缺点:复杂度高、调试风险大
  • Option B: AI-first depth (algorithms + optimizations) — 方案B:AI优先(算法+优化)
  • Pros: stronger AI quality, clearer scope — 优点:AI质量更强、范围更清晰
  • Cons: fewer distributed systems elements — 缺点:分布式要素较少
  • Preferred: Distributed-first; add AI as staged enhancement — 倾向:分布式优先,AI分阶段增强

Visual suggestion: 3-column pros/cons matrix; highlight preferred. — 视觉建议:三列利弊矩阵,高亮首选。


7) AI Basics & Plan|AI基础与计划

  • Start simple: basic rules to choose moves — 先从简单规则入手
  • Cut bad branches early to speed up search — 提前剪掉不佳分支,加快搜索
  • Try random trials when helpful to explore — 需要时用随机试走,探索更多可能
  • Use bitboards to make move checks fast — 用位板让走法判定更快
  • Keep one AI interface so we can swap methods later — 保持统一AI接口,便于后续替换方法

Visual suggestion: Simple flow from input position → choose move (with quick checks). — 视觉建议:从局面到选步的简易流程图(含快速检查)。


8) Speed-ups & Quality|加速与质量

  • Go deeper step by step with time limit — 按时间限额逐步加深
  • Remember past positions to avoid repeat work — 记住已见局面,减少重复计算
  • Check good moves first to save time — 先检查更可能的好棋,节省时间
  • Add simple multi-thread later if needed — 需要时再加简单多线程
  • Measure basics: speed, depth, memory; keep small tests — 量基本指标:速度、深度、内存;保持小测试

Visual suggestion: Simple pipeline with 3 speed-up notes. — 视觉建议:简易流程图,标注3处加速点。


9) Compressed Roadmap & Milestones|压缩路线图与里程碑

  • M1 (Week 1–2): Setup & plan — 建仓与计划
  • Repo, build, simple local play — 仓库/构建/本地对战
  • Goal: build passes; local play works — 目标:构建通过;本地对弈可用
  • Check: start, move, no crash; README + task list — 验收:能启动、能落子、不崩溃;README与任务清单
  • M2 (Week 3–5): Online basics — 在线基础
  • Rooms & matchmaking; send/receive moves — 房间与匹配;收发走子
  • Goal: online play loop works — 目标:联网对弈闭环打通
  • Check: two PCs in one room finish a game — 验收:两台电脑同房完成一局
  • M3 (Week 6–8): Network polish — 联网打磨
  • Smooth latency, reconnect, save results — 延迟平滑、重连、保存结果
  • Goal: playable on real networks — 目标:真实网络下可玩
  • Check: 100–200ms ok; resume same game; view records — 验收:100–200ms可玩;可回到同局;可查看记录
  • M4 (Week 9–11): AI v0 — AI初版
  • Simple rules; one clean AI interface — 简单规则;统一AI接口
  • Goal: basic AI via one interface — 目标:通过统一接口接入基础AI
  • Check: human vs AI works; netcode unchanged — 验收:人机可用;联网代码无需改动
  • M5 (Week 12–15): Tests & small charts — 测试与小图表
  • Speed/depth charts; multiplayer stats — 速度/深度图;多人统计
  • Goal: make small, repeatable charts — 目标:产出可重复的小图表
  • Check: fixed script outputs speed/depth; basic multiplayer counts — 验收:固定脚本输出速度/深度;多人对局数量
  • M6 (Week 16–19): AI v1 — AI进阶
  • Faster search; remember positions — 更快搜索;记住局面
  • Goal: faster/steadier AI — 目标:AI更快/更稳
  • Check: deeper or faster at same time budget — 验收:同等时限下更深或更快
  • M7 (Week 20–23, optional): Distributed add‑ons — 可选分布式增强
  • Spectators or simple ranking — 旁观或简单排行
  • Goal: one nice add‑on — 目标:完成一个增强点
  • Check: spectators or ranking works — 验收:旁观或排行可用
  • M8 (Week 24–30): Video & dissertation — 视频与论文
  • Goal: video + paper draft — 目标:演示视频与论文稿
  • Check: ≤10 min video; clear charts; paper structure ready — 验收:视频≤10分钟;图表清晰;论文结构就绪

Visual suggestion: Single line timeline with 6–8 markers. — 视觉建议:单线时间轴6–8节点。


10) Discussion & Next Steps|讨论与后续

  • Questions: OK to go distributed‑first? how simple can AI v0 be? first demo content — 待讨论:是否认可分布式优先?AI初版多简单?首个演示内容
  • Risks & plan B: time, network bugs; fallback to offline play; AI can stay simple — 风险与备选:时间与网络问题;可退回本地对战;AI先保持简单
  • Next steps: lock MVP (online rooms + basic AI), set demo date, weekly goals — 下一步:锁定MVP(在线房间+基础AI)、定演示日期、订周目标
  • Delivery: small demos often; keep repeatable tests and charts — 交付:小步快演示;保留可重复的小测试与图表

Visual suggestion: Simple checklist; space for notes. — 视觉建议:简易清单,留白做笔记。


Appendix (optional for printout)|附录(打印可选) - Glossary for non-experts (Reversi basics, bitboards) — 非专家术语表(黑白棋基础、位板) - Reference to COMP390 criteria & ethics link — COMP390评分标准与伦理链接提示