Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Implemented suggestions
  • Loading branch information
ruppysuppy committed Jun 23, 2020
commit 865cfe7155fdde6ef46e2fa47f97444928b1c1bf
8 changes: 5 additions & 3 deletions other/markov_chain.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from collections import Counter
from random import random
from typing import Dict, List, Tuple

Expand All @@ -23,7 +24,7 @@ def add_transition_probability(self, node1: str,
self.connections[node1][node2] = probability

def get_nodes(self) -> List[str]:
return list(self.connections.keys())
return list(self.connections)

def transition(self, node: str) -> str:
current_probability = 0
Expand Down Expand Up @@ -56,15 +57,16 @@ def get_transitions(start: str,

>>> result = get_transitions('a', transitions, 5000)

>>> assert result['a'] > result['b'] > result['c']
>>> result['a'] > result['b'] > result['c']
True
'''

graph = MarkovChainGraphUndirectedUnweighted()

for node1, node2, probability in transitions:
graph.add_transition_probability(node1, node2, probability)

visited = {node: 0 for node in graph.get_nodes()}
visited = Counter(graph.get_nodes())
node = start

for _ in range(steps):
Expand Down