-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathnew_classes.dot
46 lines (25 loc) · 11.9 KB
/
new_classes.dot
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
digraph "classes" {
rankdir=BT
charset="utf-8"
"leviathan.Analyzer.Analyzer" [color="black", fontcolor="black", label=<{Analyzer|clear_graph : DiGraph<br ALIGN="LEFT"/>island<br ALIGN="LEFT"/>|all_member_info(): pd.DataFrame<br ALIGN="LEFT"/>clear_degree(): float<br ALIGN="LEFT"/>clear_graph(): nx.DiGraph<br ALIGN="LEFT"/><I>generate_network_by_decision</I>()<br ALIGN="LEFT"/>look_for_current_member(member: Member | int): Member<br ALIGN="LEFT"/>member_exist(member: Member | int): bool<br ALIGN="LEFT"/>member_row(member: Member | int): pd.DataFrame<br ALIGN="LEFT"/>round_info(): Dict[str, pd.DataFrame]<br ALIGN="LEFT"/>}>, shape="record", style="solid"];
"leviathan.Engine_mdp.Engine" [color="black", fontcolor="black", label=<{Engine|island<br ALIGN="LEFT"/>record_path<br ALIGN="LEFT"/>|run()<br ALIGN="LEFT"/><I>save</I>()<br ALIGN="LEFT"/>}>, shape="record", style="solid"];
"leviathan.Engine.Engine" [color="black", fontcolor="black", label=<{Engine|island<br ALIGN="LEFT"/>record_path<br ALIGN="LEFT"/>|run()<br ALIGN="LEFT"/><I>save</I>()<br ALIGN="LEFT"/>}>, shape="record", style="solid"];
"leviathan.two_agent_game.Game" [color="black", fontcolor="black", label=<{Game|all_members : List[SBAgent]<br ALIGN="LEFT"/>current_members : List[SBAgent]<br ALIGN="LEFT"/>init_member_num<br ALIGN="LEFT"/>init_members<br ALIGN="LEFT"/>payoff_matrix<br ALIGN="LEFT"/>|bear_new_member(parent)<br ALIGN="LEFT"/>bear_new_member_by_payoff()<br ALIGN="LEFT"/>discard_member_by_payoff(discard_rate)<br ALIGN="LEFT"/>multiple_game(game_num, cpu_num)<br ALIGN="LEFT"/>mutation(mutation_rate)<br ALIGN="LEFT"/>random_pick(pick_num)<br ALIGN="LEFT"/>reset_fitness()<br ALIGN="LEFT"/>single_game(player_1: SBAgent, player_2: SBAgent)<br ALIGN="LEFT"/>sort_member()<br ALIGN="LEFT"/>}>, shape="record", style="solid"];
"leviathan.Island_mdp.Island" [color="black", fontcolor="black", label=<{Island|all_members<br ALIGN="LEFT"/>current_member_num<br ALIGN="LEFT"/>current_members<br ALIGN="LEFT"/>current_round : int<br ALIGN="LEFT"/>init_member_num : int<br ALIGN="LEFT"/>init_members<br ALIGN="LEFT"/>is_dead<br ALIGN="LEFT"/>land<br ALIGN="LEFT"/>record_action_dict : dict<br ALIGN="LEFT"/>record_born : list<br ALIGN="LEFT"/>record_death : list<br ALIGN="LEFT"/>record_historic_ranking_list : list<br ALIGN="LEFT"/>record_historic_ratio_list : ndarray<br ALIGN="LEFT"/>record_land : list<br ALIGN="LEFT"/>record_total_consumption : list<br ALIGN="LEFT"/>record_total_dict : dict<br ALIGN="LEFT"/>record_total_production : list<br ALIGN="LEFT"/>relationship_dict : dict<br ALIGN="LEFT"/>shuffled_members<br ALIGN="LEFT"/>|colonize(): None<br ALIGN="LEFT"/>consume()<br ALIGN="LEFT"/>declare_dead(member: Member)<br ALIGN="LEFT"/>fight(prob_to_fight: float)<br ALIGN="LEFT"/>land_distribute(prob_to_distr: float)<br ALIGN="LEFT"/>load_from_pickle(file_name: str): 'Island'<br ALIGN="LEFT"/>load_island(path)<br ALIGN="LEFT"/>member_by_name(name: str): Member<br ALIGN="LEFT"/>member_list_modify(append: List[Member], drop: List[Member], appended_rela_rows: np.ndarray, appended_rela_columnes: np.ndarray): None<br ALIGN="LEFT"/>new_round(record_path, print_status)<br ALIGN="LEFT"/>print_status(action, summary, members)<br ALIGN="LEFT"/>produce(): None<br ALIGN="LEFT"/>relationship_modify(relationship_name, member_1: Member, member_2: Member, add_value: float): None<br ALIGN="LEFT"/>reproduce(prob_of_reproduce: float)<br ALIGN="LEFT"/>save_current_island(path)<br ALIGN="LEFT"/>save_to_pickle(file_name: str): None<br ALIGN="LEFT"/>trade(prob_to_trade: float)<br ALIGN="LEFT"/>}>, shape="record", style="solid"];
"leviathan.Island.Island" [color="black", fontcolor="black", label=<{Island|all_members<br ALIGN="LEFT"/>current_members<br ALIGN="LEFT"/>current_round : int<br ALIGN="LEFT"/>init_members<br ALIGN="LEFT"/>is_dead<br ALIGN="LEFT"/>land<br ALIGN="LEFT"/>record_action_dict : dict<br ALIGN="LEFT"/>record_born : list<br ALIGN="LEFT"/>record_death : list<br ALIGN="LEFT"/>record_land : list<br ALIGN="LEFT"/>record_total_consumption : list<br ALIGN="LEFT"/>record_total_dict : dict<br ALIGN="LEFT"/>record_total_production : list<br ALIGN="LEFT"/>|colonize(): None<br ALIGN="LEFT"/>consume()<br ALIGN="LEFT"/>declare_dead(member: Member)<br ALIGN="LEFT"/>fight(prob_to_fight: float)<br ALIGN="LEFT"/>land_distribute(prob_to_distr: float)<br ALIGN="LEFT"/>load_from_pickle(file_name: str): 'Island'<br ALIGN="LEFT"/>load_island(path)<br ALIGN="LEFT"/>member_list_modify(append: List[Member], drop: List[Member], appended_rela_rows: np.ndarray, appended_rela_columnes: np.ndarray): None<br ALIGN="LEFT"/>new_round(record_path, print_status)<br ALIGN="LEFT"/>print_status(action, summary, members)<br ALIGN="LEFT"/>produce(): None<br ALIGN="LEFT"/>relationship_modify(relationship_name, member_1: Member, member_2: Member, add_value: float): None<br ALIGN="LEFT"/>reproduce(prob_of_reproduce: float)<br ALIGN="LEFT"/>save_current_island(path)<br ALIGN="LEFT"/>save_to_pickle(file_name: str): None<br ALIGN="LEFT"/>trade(prob_to_trade: float)<br ALIGN="LEFT"/>}>, shape="record", style="solid"];
"leviathan.Island.IslandBase" [color="black", fontcolor="black", label=<{IslandBase|all_members : List[MemberBase]<br ALIGN="LEFT"/>current_member_num<br ALIGN="LEFT"/>current_members : List[MemberBase]<br ALIGN="LEFT"/>init_member_num : int<br ALIGN="LEFT"/>is_dead<br ALIGN="LEFT"/>relationship_dict : dict<br ALIGN="LEFT"/>shuffled_members<br ALIGN="LEFT"/>|member_by_name(name: str): MemberBase<br ALIGN="LEFT"/>member_list_modify(append: List[MemberBase], drop: List[MemberBase], appended_rela_rows: np.ndarray, appended_rela_columnes: np.ndarray): None<br ALIGN="LEFT"/>}>, shape="record", style="solid"];
"leviathan.Land_mdp.Land" [color="black", fontcolor="black", label=<{Land|owner : np.ndarray[Member_mdp.Member]<br ALIGN="LEFT"/>shape : Tuple[int, int]<br ALIGN="LEFT"/>|distance(loc_1: Tuple[int, int], loc_2: Tuple[int, int]): float<br ALIGN="LEFT"/>neighbors(member: Member_mdp.Member, island: Island_mdp, max_iter: int, decision_threshold: int)<br ALIGN="LEFT"/>owner_id(): np.ndarray<br ALIGN="LEFT"/>plot(axs, show_id)<br ALIGN="LEFT"/>}>, shape="record", style="solid"];
"leviathan.Land.Land" [color="black", fontcolor="black", label=<{Land|owner : np.ndarray[Member.Member]<br ALIGN="LEFT"/>shape : Tuple[int, int]<br ALIGN="LEFT"/>|distance(loc_1: Tuple[int, int], loc_2: Tuple[int, int]): float<br ALIGN="LEFT"/>neighbors(member: Member.Member, island: Island, max_iter: int, decision_threshold: int)<br ALIGN="LEFT"/>owner_id(): np.ndarray<br ALIGN="LEFT"/>plot(axs, show_id)<br ALIGN="LEFT"/>}>, shape="record", style="solid"];
"leviathan.Member_mdp.Member" [color="black", fontcolor="black", label=<{Member|age : int<br ALIGN="LEFT"/>cargo : int<br ALIGN="LEFT"/>children : list<br ALIGN="LEFT"/>consumption<br ALIGN="LEFT"/>current_clear_list : list<br ALIGN="LEFT"/>current_empty_loc_list : list<br ALIGN="LEFT"/>current_neighbor_blocked_list : list<br ALIGN="LEFT"/>current_self_blocked_list : list<br ALIGN="LEFT"/>id : int<br ALIGN="LEFT"/>is_qualified_to_reproduce<br ALIGN="LEFT"/>key : str<br ALIGN="LEFT"/>land_num : int<br ALIGN="LEFT"/>name : str<br ALIGN="LEFT"/>name : str<br ALIGN="LEFT"/>offer<br ALIGN="LEFT"/>owned_land : List[Tuple[int, int]]<br ALIGN="LEFT"/>parameter_dict : dict<br ALIGN="LEFT"/>parent_1 : NoneType<br ALIGN="LEFT"/>parent_2 : NoneType<br ALIGN="LEFT"/>productivity : int<br ALIGN="LEFT"/>steal<br ALIGN="LEFT"/>strength<br ALIGN="LEFT"/>surviver_id : int<br ALIGN="LEFT"/>vitality : int<br ALIGN="LEFT"/>|acquire_land(land_location: Tuple[int, int])<br ALIGN="LEFT"/>autopsy(): bool<br ALIGN="LEFT"/>born(parent_1: Member, parent_2: Member, name: str, id: int, surviver_id: int, rng: np.random.Generator): Member<br ALIGN="LEFT"/>center_of_land(land: Land.Land): np.ndarray<br ALIGN="LEFT"/>consume(): float<br ALIGN="LEFT"/>decision(parameter_name: str, object: Member, island: Island.Island, threshold: float): bool<br ALIGN="LEFT"/>discard_land(land_location: Tuple[int, int])<br ALIGN="LEFT"/>parameter_absorb(contributor_list: List[Member], weight_list: List[float], fluctuation_amplitude): None<br ALIGN="LEFT"/>produce(): float<br ALIGN="LEFT"/>recover(): None<br ALIGN="LEFT"/>save_to_row()<br ALIGN="LEFT"/>}>, shape="record", style="solid"];
"leviathan.Member.Member" [color="black", fontcolor="black", label=<{Member|age : int<br ALIGN="LEFT"/>cargo : int<br ALIGN="LEFT"/>children : list<br ALIGN="LEFT"/>consumption<br ALIGN="LEFT"/>current_clear_list : list<br ALIGN="LEFT"/>current_empty_loc_list : list<br ALIGN="LEFT"/>current_neighbor_blocked_list : list<br ALIGN="LEFT"/>current_self_blocked_list : list<br ALIGN="LEFT"/>is_qualified_to_reproduce<br ALIGN="LEFT"/>key : str<br ALIGN="LEFT"/>land_num : int<br ALIGN="LEFT"/>name : str<br ALIGN="LEFT"/>offer<br ALIGN="LEFT"/>owned_land : List[Tuple[int, int]]<br ALIGN="LEFT"/>parameter_dict : dict<br ALIGN="LEFT"/>parent_1 : NoneType<br ALIGN="LEFT"/>parent_2 : NoneType<br ALIGN="LEFT"/>productivity : int<br ALIGN="LEFT"/>steal<br ALIGN="LEFT"/>strength<br ALIGN="LEFT"/>vitality : int<br ALIGN="LEFT"/>|acquire_land(land_location: Tuple[int, int])<br ALIGN="LEFT"/>autopsy(): bool<br ALIGN="LEFT"/>born(parent_1: Member, parent_2: Member, name: str, id: int, surviver_id: int, rng: np.random.Generator): Member<br ALIGN="LEFT"/>center_of_land(land: Land.Land): np.ndarray<br ALIGN="LEFT"/>consume(): float<br ALIGN="LEFT"/>decision(parameter_name: str, object: Member, island: Island.Island, threshold: float): bool<br ALIGN="LEFT"/>discard_land(land_location: Tuple[int, int])<br ALIGN="LEFT"/>parameter_absorb(contributor_list: List[Member], weight_list: List[float], fluctuation_amplitude): None<br ALIGN="LEFT"/>produce(): float<br ALIGN="LEFT"/>recover(): None<br ALIGN="LEFT"/>save_to_row()<br ALIGN="LEFT"/>}>, shape="record", style="solid"];
"leviathan.Member.MemberBase" [color="black", fontcolor="black", label=<{MemberBase|id : int<br ALIGN="LEFT"/>name : str<br ALIGN="LEFT"/>surviver_id : int<br ALIGN="LEFT"/>|}>, shape="record", style="solid"];
"leviathan.two_agent_game.SBAgent" [color="black", fontcolor="black", label=<{SBAgent|ancestor<br ALIGN="LEFT"/>decision_num : int<br ALIGN="LEFT"/>fitness : int<br ALIGN="LEFT"/>mixed_strategy : bool<br ALIGN="LEFT"/>parent : NoneType, str<br ALIGN="LEFT"/>strategy<br ALIGN="LEFT"/>|born(parent: 'SBAgent', name: str, id: int, surviver_id: int, rng: np.random.Generator): 'SBAgent'<br ALIGN="LEFT"/>decision()<br ALIGN="LEFT"/>mutation()<br ALIGN="LEFT"/>}>, shape="record", style="solid"];
"leviathan.Analyzer.Tracer" [color="black", fontcolor="black", label=<{Tracer|analyzer_list<br ALIGN="LEFT"/>|all_member_summary_history(): Dict[str, pd.DataFrame]<br ALIGN="LEFT"/>load_from_pickle_folder(path: str, lower_round: float, upper_round: float): 'Tracer'<br ALIGN="LEFT"/>member_history(member: Member | int): pd.DataFrame<br ALIGN="LEFT"/>relevant_episode(member: Member | int): 'Tracer'<br ALIGN="LEFT"/><I>surviver_cohort_matrix</I>(starting_idx: int, ending_idx: int): np.ndarray<br ALIGN="LEFT"/>}>, shape="record", style="solid"];
"leviathan.Island.Island" -> "leviathan.Island.IslandBase" [arrowhead="empty", arrowtail="none"];
"leviathan.Member.Member" -> "leviathan.Member.MemberBase" [arrowhead="empty", arrowtail="none"];
"leviathan.Member.Member" -> "leviathan.Member.Member" [arrowhead="odiamond", arrowtail="none", fontcolor="green", label="parent_1", style="solid"];
"leviathan.Member.Member" -> "leviathan.Member.Member" [arrowhead="odiamond", arrowtail="none", fontcolor="green", label="parent_2", style="solid"];
"leviathan.Member_mdp.Member" -> "leviathan.Member_mdp.Member" [arrowhead="odiamond", arrowtail="none", fontcolor="green", label="parent_1", style="solid"];
"leviathan.Member_mdp.Member" -> "leviathan.Member_mdp.Member" [arrowhead="odiamond", arrowtail="none", fontcolor="green", label="parent_2", style="solid"];
"leviathan.two_agent_game.SBAgent" -> "leviathan.two_agent_game.SBAgent" [arrowhead="odiamond", arrowtail="none", fontcolor="green", label="ancestor", style="solid"];
}