File size: 1,259 Bytes
e2485ba
 
 
 
 
 
 
 
 
7a78f7e
e2485ba
 
 
 
 
7a78f7e
3864abc
 
e2485ba
 
 
 
 
 
 
 
 
 
 
 
 
3864abc
 
 
e2485ba
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
from dataclasses import dataclass
from typing import Dict, Any

@dataclass
class State:
    north_queue: int
    south_queue: int
    east_queue: int
    west_queue: int
    current_signal: str
    waiting_time_total: float
    emergency_vehicle_present: bool
    time_step: int
    ns_growth: float
    ew_growth: float
    emergency_direction: str
    ns_wait_time: float
    ew_wait_time: float
    
    def to_dict(self) -> Dict[str, Any]:
        return {
            "north_queue": self.north_queue,
            "south_queue": self.south_queue,
            "east_queue": self.east_queue,
            "west_queue": self.west_queue,
            "current_signal": self.current_signal,
            "waiting_time_total": self.waiting_time_total,
            "emergency_vehicle_present": self.emergency_vehicle_present,
            "time_step": self.time_step,
            "ns_growth": self.ns_growth,
            "ew_growth": self.ew_growth,
            "emergency_direction": self.emergency_direction,
            "ns_wait_time": self.ns_wait_time,
            "ew_wait_time": self.ew_wait_time
        }

@dataclass
class Action:
    action_type: int

@dataclass
class StepResult:
    state: State
    reward: float
    done: bool
    info: Dict[str, Any]