aboutsummaryrefslogtreecommitdiff
path: root/doc/diagrams/analysisClasses.puml
blob: 827393026543019a150035bb6cbdd7a2e12d84f8 (plain)
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
48
49
50
51
52
53
54
55
56
@startuml

'!include skinparams.puml

() Player
package "Game module" {
    class GameIO
    class GameState
    class GameBoard
    class GameMove

    Player -> GameIO
    GameIO ..> GameState
    GameState ..> GameMove
    GameMove ..> GameBoard
}

() "Engine user" as EU
() "Model files" as MF
package "Engine module" {
    class EngineIO
    class EngineLogic
    interface DecisionAlgorithm
    class MonteCarloTreeSearch
    class MCTSNode
    class Keras
    class NeuralNetwork

    EU -> EngineIO
    EngineIO ..> EngineLogic
    EngineLogic ..> DecisionAlgorithm
    DecisionAlgorithm <|.. MonteCarloTreeSearch
    DecisionAlgorithm <|.. Keras
    MonteCarloTreeSearch ..> MCTSNode
    Keras ..> NeuralNetwork
    NeuralNetwork --> MF
}

() "SGF files" as SGF
package "Training module" {
    class Trainer
    class Parser
    class ASTNode

    Parser -> SGF
    Trainer ..> Parser
    Parser ..> ASTNode
}

DecisionAlgorithm .> GameMove

ASTNode .> GameMove

Trainer .> NeuralNetwork

@enduml