EDMS State Definition ============================= Overview -------- EDMS (Expandable Decision-Making State) is an advanced state definition system specialized for sophisticated soccer analysis and complex multi-agent learning scenarios. It provides a three-layer structured state representation containing more detailed information than PVS, numerically expressing the tactical aspects of soccer. Data Structure -------------- EDMS has a hierarchical structure composed of three main state levels: .. code-block:: python class State_EDMS(BaseModel): relative_state: RelativeState # Relative state (OnBall/OffBall) absolute_state: AbsoluteState # Absolute state (formation, etc.) raw_state: RawState # Raw state data (same structure as PVS) State Level Details ------------------- 1. Relative State ~~~~~~~~~~~~~~~~~ Numerical representation of relative relationships between players and ball, goal, and other players: **OnBall (Information of ball-possessing player):** * **dist_ball_opponent**: List of distances between opponent players and ball * **dribble_score**: List of dribble evaluation scores * **dribble_score_vel**: List of dribble scores considering velocity * **dist_goal**: List of distances to goal * **angle_goal**: List of angles to goal * **ball_speed**: Ball velocity * **transition**: List of transition evaluations * **shot_score**: Shot evaluation score * **long_ball_score**: List of long ball evaluation scores **OffBall (Information of non-ball-possessing players):** * **fast_space**: List of space scores * **fast_space_vel**: List of space scores considering velocity * **dist_ball**: List of distances to ball * **angle_ball**: List of angles to ball * **dist_goal**: List of distances to goal * **angle_goal**: List of angles to goal * **time_to_player**: List of time to reach other players * **time_to_passline**: List of time to reach pass line * **variation_space**: List of space scores when moving in 8 directions * **variation_space_vel**: List of space scores considering velocity when moving in 8 directions * **defense_space**: List of space scores for defensive players * **defense_space_vel**: List of space scores for defensive players considering velocity * **defense_dist_ball**: List of ball distances during defense 2. Absolute State ~~~~~~~~~~~~~~~~~ Tactical information for the entire team: * **dist_offside_line**: List of distances to offside line * **formation**: Formation string * **attack_action**: Action list of attacking team * **defense_action**: Action list of defending team 3. Raw State ~~~~~~~~~~~~ Basic data with the same structure as PVS: * **ball**: Ball position and velocity information * **players**: List of all players * **attack_players**: List of attacking team players * **defense_players**: List of defending team players Player Information ------------------ EDMS player information uses the same structure as PVS: * **index**: Player index * **team_name**: Team name * **player_name**: Player name * **player_id**: Player ID * **player_role**: Player position * **position**: Player position information (x, y coordinates) * **velocity**: Player velocity information * **action**: Player action * **action_probs**: Probability of action occurrence (optional) Action Structure ---------------- EDMS adopts a two-dimensional action structure: .. code-block:: python action: List[List[str]] # [attacking team action, defending team action] This structure enables the following: * **action[0]**: Action list of each player in the attacking team (attack_action) * **action[1]**: Action list of each player in the defending team (defense_action) * Expression of tactical coordinated behavior for each team EDMS Distinctive Features ------------------------- Advanced Analysis by Relative State ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The greatest feature of EDMS is detailed analysis through relative state (RelativeState): **Spatial Evaluation System:** * **fast_space**: Numerical representation of player's reachable area * **variation_space**: Management of reachable areas when multiple players move in 8 directions with 2D arrays * **defense_space**: Evaluation of defensive players' reachable areas with dedicated indicators **Integration of Time Elements:** * **time_to_player**: Calculate time to reach other players * **time_to_passline**: Predict time to reach pass line * **Velocity-considered indicators**: Integration of velocity information in many evaluations (indicators with _vel suffix) **Tactical Insights:** * **dribble_score**: Numerical representation of space scores when moving in 8 directions during ball possession * **shot_score**: Evaluation of shot success probability * **transition**: Evaluation during offensive/defensive transitions * **long_ball_score**: Evaluation of long ball tactics Data Processing Flow -------------------- EDMS has the following processing flow: 1. **Raw State Generation** - Acquire basic position, velocity, and action information same as PVS 2. **Relative State Calculation** - Numerical representation of detailed OnBall/OffBall relative relationships - Calculate various scores and evaluation indicators 3. **Absolute State Construction** - Extract formation information - Calculate offside line distances - Organize team-level actions 4. **Integrated State Representation** - Complete State_EDMS structure integrating three state levels Usage ----- Example of using the EDMS system: .. code-block:: python SAR_data = SAR_data( data_provider="fifawc", state_def="EDMS", # Specify EDMS state definition data_path=data_path, match_id="3814", preprocess_method="SAR" ) Application Scenarios --------------------- EDMS is optimal for the following advanced applications: Research & Academic Use ~~~~~~~~~~~~~~~~~~~~~~~ * **Soccer AI Research**: Cutting-edge multi-agent AI research * **Tactical Analysis Research**: Academic-level tactical and strategic analysis * **Sports Science**: Scientific evidence-based player and team analysis Commercial Applications ~~~~~~~~~~~~~~~~~~~~~~~ * **Professional Team Analysis**: Tactical analysis systems for professional soccer teams * **Player Evaluation**: Advanced player performance evaluation * **Tactical Planning Support**: Decision support for coaching and tactical planning Advanced Applications ~~~~~~~~~~~~~~~~~~~~~ * **Real-time Analysis**: Live tactical analysis during matches * **Prediction Systems**: High-precision prediction of match results and play outcomes Technical Specifications ------------------------ Computational Complexity ~~~~~~~~~~~~~~~~~~~~~~~~ * **Spatial Calculation**: O(n²) ~ O(n³) complexity (depending on number of players n) * **Probability Calculation**: Multivariate optimization using statistical models * **Real-time Constraints**: High-performance computing environment recommended Memory Requirements ~~~~~~~~~~~~~~~~~~~ * Approximately 3-5 times the memory usage of PVS * Retention of large amounts of intermediate calculation results * Learning effects through accumulation of historical data Technical Comparison with PVS ------------------------------ ============================= ================== ============================ Feature PVS EDMS ============================= ================== ============================ Data Structure Simple 3-layer hierarchy Computational Complexity O(n) O(n²) ~ O(n³) Memory Usage Lightweight Heavy (3-5x PVS) Processing Speed Fast Medium~Slow Analysis Depth Basic Research-level Tactical Analysis Not supported Advanced support Spatial Analysis None Voronoi diagram based Probability Modeling None Multivariate statistical model Real-time Suitability Optimal Depends on computing resources Learning Curve Easy Steep ============================= ================== ============================ System Requirements ------------------- Recommended Environment ~~~~~~~~~~~~~~~~~~~~~~~ * **CPU**: High-performance multi-core processor * **RAM**: 16GB or more (32GB or more for large datasets) * **Storage**: High-speed SSD (generates large amounts of intermediate files) Dependency Libraries ~~~~~~~~~~~~~~~~~~~~ * NumPy/SciPy: Scientific computing * Pandas: Data processing * Scikit-learn: Machine learning algorithms * Computational geometry library: Voronoi diagram calculation * Statistical library: Probability model calculation File Structure -------------- Main EDMS-related files: * ``SAR_class.py``: Factory class for PVS/EDMS switching * ``dataclass.py``: EDMS data class definitions (shared with PVS) * ``preprocess_frame.py``: EDMS processing functions * ``soccer_SAR_state.py``: Main processing routing for EDMS Data Class Structure -------------------- EDMS consists of the following classes: **Basic Classes:** * Position, Velocity: Position and velocity information * Player, Ball: Player and ball information (shared with PVS) **EDMS-specific Classes:** * OnBall: Detailed information during ball possession * OffBall: Detailed information during non-ball possession * RelativeState: OnBall + OffBall * AbsoluteState: Formation, offside, etc. * RawState: Basic position information (same structure as PVS State_PVS) * State_EDMS: Integration of three state levels **Event Classes:** * Event_EDMS: EDMS state + 2D action + reward * Events_EDMS: Sequence management of multiple events Summary ------- EDMS is a three-layer structured state definition system that maintains the basic structure of PVS while having two additional layers: relative state (RelativeState) and absolute state (AbsoluteState). **Key Features:** * Provides detailed relative relationships and tactical information in addition to PVS basic information * Multi-faceted analysis indicators including spatial evaluation, time calculation, and tactical scores * Optimal for advanced soccer analysis and complex multi-agent learning Both systems share the same basic classes such as Player and Ball, enabling efficient soccer data analysis by appropriately selecting according to the intended use.