Skip to main content
Skip to article

Research Note

Algorithms & Data Structures

Zhenyu He · Jobs Stroustrup 2 min read

Proficiency

Proficient

Description

Graph algorithms

  • Connected components (hand-implemented DFS/BFS)
  • Common-neighbor-based link prediction similarity scoring (weighted Adamic-Adar variant)
  • Path/strength aggregation pattern ()

State-space search

  • Custom doubly-linked list for decision nodes (theta/time/cost tuples)
  • Physics-intuition pruning: compress 2D action space to 1D angular interval
  • Forward simulation / rollout for strategy verification (naive Monte-Carlo search)

Geometric computation

  • 2D vector ops (relative position, relative velocity, angular differences)
  • Torus periodic-boundary 9-region expansion
  • Elastic/inelastic collision + momentum-conservation numerics (multi-body 3+ simultaneous collisions)
  • Angle utility library (my_asin / my_atan / bound_angle / velocity_angle / position_angle for torus boundaries)

Cross-language optimization

  • Python prototype + C++ acceleration for hot loops (O(n²)/O(n³))
  • Data-cleaning pipelines (outlier clipping, missing-value handling)

Research-style experiment management

  • Directory naming to record parameter sweeps / algorithm variants (naïve git-branches)
  • Same-skeleton fork AB parameter sensitivity sweeps (time discretization, decay factor, CFL-style cutoffs)
  • Baseline comparison philosophy (see benchmarking culture in Game AI & Control Architecture)
  • Game AI & Control Architecture — the data structures, search, and geometry in this skill are the concrete implementation tools for those architectural ideas

Academic Training Context

  • PKU SESSDSA Spring 2019 (Data Structures & Algorithms (Python), Prof. Chen Bin, School of Earth and Space Sciences)
  • Final project: Osmo “Interstellar Swallow” AI (team project; Zhenyu contributed hzy3.py and fully participated in all other parts)
  • Same-period research-style project: social network link prediction (read Liben-Nowell 2007 → implement → tune → add directionality → C++ acceleration)
  • Extra-course independent project: Math Kills Monsters (keyboard-driven game for constructing math functions to attack monsters — see Game Development with pygame)

Used In

  • — Osmo game AI project
  • — social network link prediction project
  • — listed as one of 3 flagship undergrad projects
  • Transferred to: KD-tree spatial indexing (Python Scientific Computing), separable kernel computation