# Yomi strategy testing

a guest
Nov 7th, 2020
41
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
1. import numpy as np
2.
3. N = 100000
4.
5. with open("data.csv", 'r') as f:
6.     M = np.array([np.array([float(n)/10 for n in row.split("\t")]) for row in f.read().split("\n")])
7.
8. with open("histdata.txt", "r") as f:
9.     step0 = np.array([int(d) for d in f.read().split("\n")])
10.     step0 = step0/sum(step0)
11.
12. step1 = step0
13. for i in range(1): #set number of steps
14.     step1 = M.dot(step1)
15.     print(step1)
16.     step1 /= sum(step1)
17.
18. #Remove quotes to simulate playing only the best character
19. """
20. i = np.argmax(step1)
21. print(i)
22. step1 = np.zeros(len(step0))
23. step1[i] = 1
24. """
25.
26. for i in range(10):
27.     wins = 0
28.     Rs = np.random.rand(N, 3)
29.
30.     def pickfrom(dist, r):
31.         for i in range(len(dist)):
32.             if dist[i] > r:
33.                 return i
34.             else:
35.                 r-=dist[i]
36.
37.     for row in Rs:
38.         char1 = pickfrom(step0, row[1])
39.         char2 = pickfrom(step1, row[2])
40.         if M[char1, char2] > row[0]:
41.             wins+=1
42.
43.     print(f"{wins/N*100}%")
RAW Paste Data