normalized english targeted IoC

This commit is contained in:
relikd
2021-01-23 20:07:19 +01:00
parent 3762fe0946
commit b2b6809920
12 changed files with 2269 additions and 1118 deletions

View File

@@ -12,14 +12,13 @@ def normalized_probability(int_prob):
RUNES = 'ᚠᚢᚦᚩᚱᚳᚷᚹᚻᚾᛁᛄᛇᛈᛉᛋᛏᛒᛖᛗᛚᛝᛟᛞᚪᚫᚣᛡᛠ'
re_norune = re.compile('[^' + RUNES + ']')
PROB_INT = [0] * 29
# for k, v in NGrams.load(1, '-no-e').items(): # 1.8271530001197518
for k, v in NGrams.load().items(): # 1.7736851725202398
for k, v in NGrams.load(1, '').items(): # '-no-e', '-solved'
PROB_INT[RUNES.index(k)] = v
PROB_NORM = normalized_probability(PROB_INT)
K_r = 1 / 29 # 0.034482758620689655
K_p = sum(x ** 2 for x in PROB_INT) # 0.06116195419412538
# Target IoC. peace and war: 1.77368517 solved: 1.78021503, no e: 1.82715300
N_total = (sum(PROB_INT) * (sum(PROB_INT) - 1)) / 29
PROB_TARGET = sum(x * (x - 1) for x in PROB_INT) / N_total
TARGET_IOC = sum(x * (x - 1) for x in PROB_INT) / N_total
# TARGET_IOC = 1.78
#########################################
@@ -37,9 +36,6 @@ class Probability(object):
X = sum(x * (x - 1) for x in self.prob)
return X / ((self.N * (self.N - 1)) / 29)
def friedman(self):
return (K_p - K_r) / (self.IC() - K_r)
def similarity(self):
probs = normalized_probability(self.prob)
return sum((x - y) ** 2 for x, y in zip(PROB_NORM, probs))
@@ -49,6 +45,12 @@ class Probability(object):
val = sum(Probability(nums[x::keylen]).IC() for x in range(keylen))
return val / keylen
@staticmethod
def target_diff(nums, keylen, target_ioc=TARGET_IOC):
val = sum(abs(Probability(nums[x::keylen]).IC() - target_ioc)
for x in range(keylen))
return 1 - (val / keylen)
#########################################
# load page and convert to indices for faster access

View File

@@ -88,7 +88,7 @@ class SearchInterrupt(object):
found = [[]]
def best_in_one(i, depth, prefix=[]):
best_s = 0
best_s = -8
best_p = [] # [match, match, ...]
irp = self.stops[i:i + depth]
for x in itertools.product([False, True], repeat=depth):
@@ -103,7 +103,7 @@ class SearchInterrupt(object):
return best_p, best_s
def best_in_all(i, depth):
best_s = 0
best_s = -8
best_p = [] # [(prefix, [match, match, ...]), ...]
for pre in found:
parts, score = best_in_one(i, depth, prefix=pre)
@@ -148,7 +148,6 @@ class SearchInterrupt(object):
# If no better score found, increment number of testing bits and repeat.
# Either start with all interrupts set (topDown) or none set.
def genetic(self, score_fn, topDown=False, maxdepth=3):
best = 0
current = self.stops if topDown else []
def evolve(lvl):

View File

@@ -22,9 +22,11 @@ class InterruptDB(object):
self.iguess = SearchInterrupt(data, interrupt)
self.irp_count = len(self.iguess.stops)
def make(self, keylen):
def make(self, dbname, name, keylen):
def fn(x):
return Probability.IC_w_keylen(x, keylen)
return Probability.target_diff(x, keylen) # used in db_norm
# return Probability.IC_w_keylen(x, keylen) # used in db_high
if keylen == 0:
keylen = 1
score, skips = fn(self.iguess.join()), [[]] # without interrupts
@@ -33,19 +35,18 @@ class InterruptDB(object):
# score, skips = self.iguess.genetic(fn, topDown=False, maxdepth=4)
for i, interrupts in enumerate(skips):
skips[i] = self.iguess.to_occurrence_index(interrupts)
for nums in skips:
self.write(
name, score, self.irp, self.irp_count, keylen, nums, dbname)
return score, skips
def make_keylength(self, name, keylen, dbname='db_main'):
score, interrupts = self.make(keylen)
for nums in interrupts:
self.write(name, score, self.irp, self.irp_count, keylen, nums, dbname)
return score, interrupts
def find_secondary(self, name, keylen, threshold, dbname='db_main'):
def make_secondary(self, dbname, name, keylen, threshold):
scores = []
def fn(x):
score = Probability.IC_w_keylen(x, keylen)
score = Probability.target_diff(x, keylen) # used in db_norm
# score = Probability.IC_w_keylen(x, keylen) # used in db_high
if score >= threshold:
scores.append(score)
return 1
@@ -59,11 +60,12 @@ class InterruptDB(object):
# exclude best results, as they are already present in the main db
filtered = [x for x in ret if x[0] < bestscore]
for score, nums in filtered:
self.write(name, score, self.irp, self.irp_count, keylen, nums, dbname)
self.write(
name, score, self.irp, self.irp_count, keylen, nums, dbname)
return len(filtered)
@staticmethod
def load(dbname='db_main'):
def load(dbname):
if not os.path.isfile(f'InterruptDB/{dbname}.txt'):
return {}
ret = {}
@@ -142,11 +144,11 @@ class InterruptIndices(object):
#########################################
class InterruptToWeb(object):
def __init__(self, template):
def __init__(self, dbname, template='InterruptDB/template.html'):
self.template = template
self.indices = InterruptIndices()
self.scores = {}
db = InterruptDB.load()
db = InterruptDB.load(dbname)
for k, v in db.items():
for irpc, score, irp, kl, nums in v:
if k not in self.scores:
@@ -167,7 +169,10 @@ class InterruptToWeb(object):
trh = '<tr class="rotate"><th></th>'
trtotal = '<tr class="small"><th>Total</th>'
trd = [f'<tr><th>{x}</th>' for x in RUNES]
del_row = [True] * 29
for name in FILES_ALL:
if name not in self.scores:
continue
total = self.indices.total(name)
trh += f'<th><div>{name}</div></th>'
trtotal += f'<td>{total}</td>'
@@ -176,6 +181,7 @@ class InterruptToWeb(object):
if not scrs:
trd[i] += '<td></td>'
continue
del_row[i] = False
worst_irpc = min([x[1] for x in scrs])
if worst_irpc == 0:
if max([x[1] for x in scrs]) != 0:
@@ -188,23 +194,28 @@ class InterruptToWeb(object):
trtotal += '</tr>\n'
for i in range(29):
trd[i] += '</tr>\n'
if del_row[i]:
trd[i] = ''
return f'<table>{trh}{"".join(trd)}{trtotal}</table>'
def table_interrupt(self, irp):
def table_interrupt(self, irp, pmin=1.25, pmax=1.65):
maxkl = max(len(x[irp]) for x in self.scores.values())
trh = '<tr class="rotate"><th></th>'
trbest = '<tr class="small"><th>best</th>'
trd = [f'<tr><th>{x}</th>' for x in range(maxkl)]
for name in FILES_ALL:
trh += f'<th><div>{name}</div></th>'
maxscore = 0
bestkl = -1
try:
klarr = self.scores[name][irp]
except KeyError:
continue
trh += f'<th><div>{name}</div></th>'
for kl, (score, _) in enumerate(klarr):
trd[kl] += f'<td{self.cls(score, 1.25, 1.65)}>{score:.2f}</td>'
if score < 0:
trd[kl] += f'<td{self.cls(0)}></td>'
else:
trd[kl] += f'<td{self.cls(score, pmin, pmax)}>{score:.2f}</td>'
if score > maxscore:
maxscore = score
bestkl = kl
@@ -215,18 +226,20 @@ class InterruptToWeb(object):
trd[i] += '</tr>\n'
return f'<table>{trh}{"".join(trd[1:])}{trbest}</table>'
def make(self, outfile, template='InterruptDB/template.html'):
def make(self, outfile, pmin=1.25, pmax=1.65):
with open(self.template, 'r') as f:
html = f.read()
nav = ''
for i, r in enumerate(RUNES):
nav += f'<a href="#tb-i{i}">{r}</a>\n'
html = html.replace('__NAVIGATION__', nav)
html = html.replace('__TAB_RELIABLE__', self.table_reliable())
txt = ''
for i in range(29):
has_entries = any(True for x in self.scores.values() if x[i])
if not has_entries:
continue
nav += f'<a href="#tb-i{i}">{RUNES[i]}</a>\n'
txt += f'<h3 id="tb-i{i}">Interrupt {i}: <b>{RUNES[i]}</b></h3>'
txt += self.table_interrupt(i)
txt += self.table_interrupt(i, pmin, pmax)
html = html.replace('__NAVIGATION__', nav)
html = html.replace('__TAB_RELIABLE__', self.table_reliable())
html = html.replace('__INTERRUPT_TABLES__', txt)
with open(outfile, 'w') as f:
f.write(html)
@@ -241,7 +254,8 @@ def create_initial_db(dbname, minkl=1, maxkl=32, max_irp=20, irpset=range(29)):
oldValues = {k: set((a, b, c) for a, _, b, c, _ in v)
for k, v in oldDB.items()}
for irp in irpset: # interrupt rune index
for name in FILES_UNSOLVED: # filename
# for name in FILES_UNSOLVED:
for name in FILES_ALL:
fname = f'pages/{name}.txt'
data = load_indices(fname, irp, maxinterrupt=max_irp)
db = InterruptDB(data, irp)
@@ -250,12 +264,12 @@ def create_initial_db(dbname, minkl=1, maxkl=32, max_irp=20, irpset=range(29)):
if (db.irp_count, irp, keylen) in oldValues.get(name, []):
print(f'{keylen}: skipped.')
continue
score, interrupts = db.make_keylength(name, keylen, dbname)
score, interrupts = db.make(dbname, name, keylen)
print(f'{keylen}: {score:.4f}, solutions: {len(interrupts)}')
def find_secondary_solutions(dbname, max_irp=20, threshold=1.4):
oldDB = InterruptDB.load()
def find_secondary_solutions(db_in, db_out, threshold=0.75, max_irp=20):
oldDB = InterruptDB.load(db_in)
search_set = set()
for name, arr in oldDB.items():
if name not in FILES_UNSOLVED:
@@ -270,12 +284,14 @@ def find_secondary_solutions(dbname, max_irp=20, threshold=1.4):
print('load:', fname, 'interrupt:', irp, 'keylen:', kl)
data = load_indices(fname, irp, maxinterrupt=max_irp)
db = InterruptDB(data, irp)
c = db.find_secondary(name, kl, threshold,
db_path=f'InterruptDB/{dbname}.txt')
c = db.make_secondary(db_out, name, kl, threshold)
print('found', c, 'additional solutions')
if __name__ == '__main__':
# find_secondary_solutions('db_secondary')
# create_initial_db('db_main', minkl=1, maxkl=32, max_irp=20)
InterruptToWeb('InterruptDB/template.html').make('InterruptDB/index.html')
# find_secondary_solutions('db_high', 'db_high_secondary', threshold=1.4)
# find_secondary_solutions('db_norm', 'db_norm_secondary', threshold=0.55)
create_initial_db('db_norm', minkl=1, maxkl=32, max_irp=20, irpset=[0])
# InterruptToWeb('db_high').make('InterruptDB/index_high.html')
# InterruptToWeb('db_norm').make(
# 'InterruptDB/index_norm.html', pmin=0.40, pmax=0.98)

8
InterruptDB/README.md Normal file
View File

@@ -0,0 +1,8 @@
- `db_high` : Find IoC combinations that are as high as possible
- `db_high_secondary` : List of non-optimal solutions with score greater than 1.4
- `db_norm` : Find IoC combinations that are close to normal english (1.7737)
- `db_norm_secondary` : List of non-optimal solutions with score greater than 0.55
- `db_indices` : Just each index of each rune for all chapters
_Note:_ All secondary dbs do not include the solutions from the original db.

View File

@@ -20053,3 +20053,85 @@ p57_parable|0|1.16667|28|29|
p57_parable|0|3.38333|28|30|
p57_parable|0|2.49462|28|31|
p57_parable|0|1.20833|28|32|
p0-2|19|0.26071|0|1|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
p0-2|19|0.33526|0|2|2,3,5,6,8,10,11,12,14,17,18,19
p0-2|19|0.38921|0|3|1,3,4,5,7,9,13,14,15,16,18,19
p0-2|19|0.36146|0|4|2,4,5,6,8,9,11,12,13,14
p0-2|19|0.40279|0|5|1,2,3,4,5,9,12,13,19
p0-2|19|0.40496|0|6|1,2,5,7,8,11,14,15,16,17,18,19
p0-2|19|0.53194|0|7|1,3,5,6,7,9,11,13,14,15,17,18,19
p0-2|19|0.37811|0|8|2,3,4,5,10,14,15,16,17,18,19
p0-2|19|0.49048|0|9|1,2,3,7,9,12,13,15,16,17
p0-2|19|0.46958|0|10|1,2,3,4,5,9,12,13,19
p0-2|19|0.51545|0|11|2,4,5,8,9,10,12
p0-2|19|0.54774|0|12|1,2,5,8,9,10,13,14,15,16,18,19
p0-2|19|0.46001|0|13|1,3,4,5,7,8,9,10,11,12,13,14,15,16,19
p0-2|19|0.56722|0|14|1,4,5,6,8,12,15,17,18,19
p0-2|19|0.54743|0|15|1,3,4,5,7,9,13,14,15,16,17
p0-2|19|0.47352|0|16|1,4,6,7,12,13,14,15,16,17,19
p0-2|19|0.63488|0|17|1,2,5,6,8,9,12,15,16,17,19
p0-2|19|0.61982|0|18|1,2,5,8,9,10,13,14,15,16,18,19
p0-2|19|0.61982|0|18|1,2,4,8,9,10,13,14,15,16,18,19
p0-2|19|0.48753|0|19|2,3,4,5,9,11,12,13,14,16
p0-2|19|0.54827|0|20|1,2,5,8,10,11,12,13,15,17,18,19
p0-2|19|0.59112|0|21|1,4,5,6,7,12,14,15,16
p0-2|19|0.59112|0|21|1,3,4,6,7,12,14,15,16
p0-2|19|0.62958|0|22|2,4,5,6,9,10,12
p0-2|19|0.61204|0|23|1,2,4,5,6,7,8,9,11,13,14,15,16,17,18,19
p0-2|19|0.65440|0|24|1,2,5,6,7,12,13,14,15,16,18,19
p0-2|19|0.56584|0|25|2,3,4,5,6,12,15,18,19
p0-2|19|0.55906|0|26|1,2,3,4,5,7,8,9,10,11,13,14,15,16,17,18
p0-2|19|0.57973|0|27|1,7,11,12,14,15,16,17,19
p0-2|19|0.67745|0|28|2,3,5,6,8,9,11,13,14,15,17,18,19
p0-2|19|0.67745|0|28|1,3,5,6,8,9,11,13,14,15,17,18,19
p0-2|19|0.69884|0|29|5,7,8,10,11,12,14,19
p0-2|19|0.56140|0|30|1,2,6,8,10,11,17,18,19
p0-2|19|0.62518|0|31|2,3,4,5,6,7,8,12,13,15,18
p0-2|19|0.61315|0|32|1,2,3,4,5,6,7,8,9,10,11,12,13,14
p3-7|19|0.25941|0|1|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
p3-7|19|0.29231|0|2|1,3,4,5,6,7,8,9,10,11,14,15,16,17,18
p3-7|19|0.34443|0|3|1,2,3,7,10,11,12,13,14,15,16,17,18,19
p3-7|19|0.34443|0|3|1,2,3,6,10,11,12,13,14,15,16,17,18,19
p3-7|19|0.30864|0|4|1,4,6,7,8,9,10,11,13,15,16
p3-7|19|0.33572|0|5|1,2,3,4,5,6,9,13
p3-7|19|0.34790|0|6|1,2,4,6,10,11,13,16,17,18,19
p3-7|19|0.34503|0|7|1,2,3,7,9,10,11,12,13
p3-7|19|0.37105|0|8|3,4,5,6,7,9,10,14,16,17
p3-7|19|0.43444|0|9|1,2,4,7,12,14,15,16,17,18,19
p3-7|19|0.37333|0|10|4,6,7,8,9,10,11,17
p3-7|19|0.40613|0|11|2,6,9,11,14,15,16,17
p3-7|19|0.44041|0|12|3,4,5,6,7,8,9,14,17,18
p3-7|19|0.43086|0|13|4,5,6,7,8,14,17,18
p3-7|19|0.39171|0|14|1,2,4,5,14,16,17,18,19
p3-7|19|0.43583|0|15|1,2,3,7,9,14,15,16,17,18,19
p3-7|19|0.46407|0|16|1,2,4,7,9,13,14,16,17,18,19
p3-7|19|0.42702|0|17|2,3,4,5,7,8,9,10,11,12,14,15,17
p3-7|19|0.45998|0|18|1,2,3,4,13,14,15,18,19
p3-7|19|0.37329|0|19|1,2,4,6,7,8,10,15
p3-7|19|0.46933|0|20|3,4,5,8,9,10,11,16
p3-7|19|0.38142|0|21|1,2,3,6,7,8,9,10,11,12,13,14,15,16,17,18
p3-7|19|0.46694|0|22|1,4,5,9,10,11,12,13,16
p3-7|19|0.50586|0|23|1,2,7,8,9,18
p3-7|19|0.51334|0|24|2,4,5,7,8,9,10,13,16,17
p3-7|19|0.50971|0|25|4,6,7,8,9,10,12,14
p3-7|19|0.50971|0|25|3,6,7,8,9,10,12,14
p3-7|19|0.57536|0|26|2,3,6,7,8,14,17,18
p3-7|19|0.54136|0|27|1,2,5,6,8,9,10,11,12,14,17,18,19
p3-7|19|0.42383|0|28|1,3,4,7,8,18
p3-7|19|0.42383|0|28|1,3,4,6,8,18
p3-7|19|0.44190|0|29|1,2,3,4,6,7,9,10,11,15,16,17,18,19
p3-7|19|0.56560|0|30|3,4,5,8,9,10,11,15
p3-7|19|0.45339|0|31|3,4,5,6,7,8,9,10,11,12,14,15,16,17,19
p3-7|19|0.56926|0|32|3,4,5,6,8,9,10,15,16,17,18,19
p8-14|19|0.24655|0|1|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
p8-14|19|0.29691|0|2|3,5,6,9,10,12,14,15,16,17,19
p8-14|19|0.29691|0|2|3,5,6,9,10,11,14,15,16,17,19
p8-14|19|0.29828|0|3|1,3,4,6,7,8,9,10,13,14,18
p8-14|19|0.32804|0|4|1,2,4,6,8,9,12,13,14,16,17,18,19
p8-14|19|0.32804|0|4|1,2,4,6,8,9,11,13,14,16,17,18,19
p8-14|19|0.35118|0|5|2,3,4,5,10,15
p8-14|19|0.34283|0|6|3,4,5,8,13,14,19
p8-14|19|0.37290|0|7|1,3,7,8,12,13,18
p8-14|19|0.37290|0|7|1,3,7,8,11,13,18
p8-14|19|0.35518|0|8|1,3,4,6,7,9,10,12,13,14,15,16,18
p8-14|19|0.35518|0|8|1,3,4,6,7,9,10,11,13,14,15,16,18

696
InterruptDB/db_norm.txt Normal file
View File

@@ -0,0 +1,696 @@
p0-2|20|0.25372|0|1|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
p0-2|20|0.32179|0|2|2,3,5,6,8,10,11,12,14,17,18,19,20
p0-2|20|0.36781|0|3|1,2,5,7,9,11,14,15,16,17,18,19,20
p0-2|20|0.35862|0|4|3,4,6,9,11,12,13,14
p0-2|20|0.39120|0|5|1,2,3,4,5,9,12,13,19
p0-2|20|0.38987|0|6|1,2,5,7,8,11,14,15,16,17,18,19,20
p0-2|20|0.49449|0|7|1,3,5,6,7,9,11,13,14,15,17,18,19
p0-2|20|0.39484|0|8|2,5,6,7,10,14,15,16,17,18,19
p0-2|20|0.46681|0|9|1,2,3,7,8,11,13,15,16,17
p0-2|20|0.44290|0|10|1,2,3,4,5,9,12,13,19
p0-2|20|0.51577|0|11|1,3,5,6,10,11,12,13,14,15,16,17,18,19,20
p0-2|20|0.51973|0|12|1,2,5,8,9,10,13,14,15,16,18,19,20
p0-2|20|0.44832|0|13|1,2,3,4,5,7,8,9,10,11,13,14,15,16,17,19,20
p0-2|20|0.56711|0|14|1,4,5,6,8,12,13,14,16,17,20
p0-2|20|0.49757|0|15|1,3,4,5,7,9,13,14,15,16,17
p0-2|20|0.44301|0|16|3,4,6,8,12,14,15,16,17,18,19
p0-2|20|0.55890|0|17|5,6,8,9,10,14,16,17,19
p0-2|20|0.50474|0|18|1,2,3,8,9,10,13,14,16,17,18,19,20
p0-2|20|0.48681|0|19|3,4,5,6,7,8,10,11,12,18,19,20
p0-2|20|0.49393|0|20|1,2,3,4,5,9,12,13,17
p0-2|20|0.55519|0|21|1,4,5,6,7,12,14,15,16,20
p0-2|20|0.55519|0|21|1,3,4,6,7,12,14,15,16,20
p0-2|20|0.50867|0|22|2,3,4,6,8,10,12,19,20
p0-2|20|0.52416|0|23|1,2,3,5,6,7,8,9,11,13,14,15,16,17,18,19
p0-2|20|0.48413|0|24|4,5,7,10,12,14,15,16,17,18,19,20
p0-2|20|0.46824|0|25|1,3,4,5,6,7,8,12,15,16,17,18,20
p0-2|20|0.40843|0|26|1,2,3,4,5,7,8,10,11,12,13,14,15,16,17,19
p0-2|20|0.44967|0|27|6,7,9,12,17,18,19,20
p0-2|20|0.47056|0|28|2,3,4,6,7,9,11,13,15,16,17,18,20
p0-2|20|0.46137|0|29|2,5,8,10,12,14,15,16,18,20
p0-2|20|0.46137|0|29|2,5,8,10,12,13,15,16,18,20
p0-2|20|0.44782|0|30|5,7,9,16,18,19
p0-2|20|0.44782|0|30|4,7,9,16,18,19
p0-2|20|0.38786|0|31|1,2,8,9,13,17,18,20
p0-2|20|0.41222|0|32|3,4,5,6,7,8,9,10,11,12,13,14
p3-7|20|0.25851|0|1|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
p3-7|20|0.30059|0|2|1,4,6,7,8,11,13,15,16,18,19,20
p3-7|20|0.34571|0|3|1,2,3,6,10,11,12,13,14,15,16,17,18,19,20
p3-7|20|0.31537|0|4|1,4,6,7,8,9,10,11,13,15,16,20
p3-7|20|0.34611|0|5|1,2,3,4,5,6,9,13,20
p3-7|20|0.35211|0|6|1,4,6,11,13,15,17,18,19,20
p3-7|20|0.34725|0|7|1,2,3,7,9,10,11,12,13,20
p3-7|20|0.36849|0|8|3,4,5,6,7,9,10,14,16,17,20
p3-7|20|0.43071|0|9|1,2,5,7,12,14,15,16,17,18,19,20
p3-7|20|0.38395|0|10|3,4,7,8,10,11,12,13,15,16,17,18,19,20
p3-7|20|0.38911|0|11|2,6,9,11,14,15,16,17,18,19,20
p3-7|20|0.44173|0|12|1,4,6,11,13,15,17,20
p3-7|20|0.42819|0|13|4,5,6,7,8,14,17,18,20
p3-7|20|0.37966|0|14|1,2,4,5,14,16,17,18,19,20
p3-7|20|0.44586|0|15|1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
p3-7|20|0.47146|0|16|3,4,5,6,7,9,10,13,15,16,20
p3-7|20|0.41824|0|17|1,2,3,5,8,9,10,11,12,13,15,16,17,18,19,20
p3-7|20|0.41824|0|17|1,2,3,5,8,9,10,11,12,13,14,16,17,18,19,20
p3-7|20|0.44767|0|18|1,2,3,5,6,7,9,11,13,15,16,18,19,20
p3-7|20|0.38006|0|19|2,4,6,7,8,10,13
p3-7|20|0.45765|0|20|3,4,5,8,9,10,11,16,17,18,19,20
p3-7|20|0.38504|0|21|1,2,3,7,13,14,15,16,17,18,19
p3-7|20|0.46802|0|22|1,4,5,9,10,11,12,13,16,20
p3-7|20|0.45255|0|23|3,4,8,16,17,18
p3-7|20|0.49438|0|24|2,4,6,7,8,10,11,13,15,17
p3-7|20|0.48897|0|25|4,5,7,8,9,10,12,14,20
p3-7|20|0.51742|0|26|1,5,6,8,14,15,17,20
p3-7|20|0.48603|0|27|1,2,5,6,7,8,9,11,12,14,17,18,19
p3-7|20|0.42011|0|28|1,4,5,8,9,11,13,15
p3-7|20|0.40695|0|29|1,2,3,4,6,7,9,10,11,15,16,17,18,19
p3-7|20|0.50049|0|30|1,4,6,8,10,11,12,15,17,18,19,20
p3-7|20|0.43590|0|31|1,3,5,7,8,9,12,14,15,16,17,19
p3-7|20|0.47626|0|32|1,3,4,6,7,8,10,13,15,16,20
p8-14|20|0.25370|0|1|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
p8-14|20|0.30192|0|2|3,4,7,9,10,12,13,14,15,17,19,20
p8-14|20|0.30192|0|2|3,4,7,9,10,11,13,14,15,17,19,20
p8-14|20|0.30112|0|3|1,3,4,5,6,8,9,10,13,14,18,19,20
p8-14|20|0.33256|0|4|1,2,4,6,8,9,12,13,14,16,17,18,19,20
p8-14|20|0.33256|0|4|1,2,4,6,8,9,11,13,14,16,17,18,19,20
p8-14|20|0.35167|0|5|2,3,6,7,10,15,20
p8-14|20|0.34953|0|6|3,4,5,6,8,9,10,12,13,17,19,20
p8-14|20|0.34953|0|6|3,4,5,6,8,9,10,11,13,17,19,20
p8-14|20|0.37976|0|7|1,3,7,8,12,13,18
p8-14|20|0.37976|0|7|1,3,7,8,11,13,18
p8-14|20|0.36220|0|8|1,3,4,6,7,9,10,12,13,14,15,16,18,20
p8-14|20|0.36220|0|8|1,3,4,6,7,9,10,11,13,14,15,16,18,20
p8-14|20|0.32773|0|9|3,4,5,6,7,8,12,13,15,16,19,20
p8-14|20|0.32773|0|9|3,4,5,6,7,8,11,13,15,16,19,20
p8-14|20|0.38754|0|10|1,2,3,9,10,12,15
p8-14|20|0.38754|0|10|1,2,3,9,10,11,15
p8-14|20|0.43031|0|11|1,2,5,6,7,9,10,11,12,16,18,19,20
p8-14|20|0.39455|0|12|1,3,5,7,8,9,10,13,14,16,17,18,19
p8-14|20|0.39043|0|13|1,5,7,9,10,11,12,13,14,15,16,17,18,19,20
p8-14|20|0.44307|0|14|1,3,4,8,11,12,18
p8-14|20|0.38997|0|15|2,3,4,5,12,15,18,19,20
p8-14|20|0.38997|0|15|2,3,4,5,12,14,18,19,20
p8-14|20|0.38997|0|15|2,3,4,5,11,15,18,19,20
p8-14|20|0.38997|0|15|2,3,4,5,11,14,18,19,20
p8-14|20|0.39518|0|16|3,4,5,6,8,9,10,12,13,14,15,16,18,20
p8-14|20|0.39518|0|16|3,4,5,6,8,9,10,11,13,14,15,16,18,20
p8-14|20|0.49363|0|17|1,2,4,5,7,8,9,10,11,12,15,18,19
p8-14|20|0.49363|0|17|1,2,4,5,7,8,9,10,11,12,14,18,19
p8-14|20|0.49363|0|17|1,2,3,5,7,8,9,10,11,12,15,18,19
p8-14|20|0.49363|0|17|1,2,3,5,7,8,9,10,11,12,14,18,19
p8-14|20|0.44973|0|18|2,3,4,5,6,7,8,12,13,15,16,20
p8-14|20|0.44973|0|18|2,3,4,5,6,7,8,11,13,15,16,20
p8-14|20|0.38500|0|19|3,7,10,11,12,13,14,15,20
p8-14|20|0.44393|0|20|1,3,4,5,9,10,12,14,20
p8-14|20|0.44393|0|20|1,3,4,5,9,10,11,14,20
p8-14|20|0.41954|0|21|1,3,4,5,6,7,8,9,11,12,13,14,15,16,17,18,19,20
p8-14|20|0.53143|0|22|1,4,5,6,8,9,10,11,12,16,18,19,20
p8-14|20|0.47526|0|23|2,4,5,6,7,8,9,10,11,12,13,15,16,20
p8-14|20|0.45007|0|24|1,3,5,7,12,13,14,16,17,18
p8-14|20|0.45007|0|24|1,3,5,7,11,13,14,16,17,18
p8-14|20|0.44516|0|25|1,2,3,4,5,6,7,10,12,13,14,15,20
p8-14|20|0.44516|0|25|1,2,3,4,5,6,7,10,11,13,14,15,20
p8-14|20|0.43575|0|26|5,6,9,10,11,12,13,14,15,16,17,18,19,20
p8-14|20|0.45316|0|27|3,5,6,9,10,12,14,17,20
p8-14|20|0.45316|0|27|3,5,6,9,10,11,14,17,20
p8-14|20|0.42845|0|28|6,8,9,12,16,18,19,20
p8-14|20|0.42845|0|28|6,8,9,11,16,18,19,20
p8-14|20|0.47028|0|29|1,2,3,4,6,7,8,9,10,11,12,14,15,16,17,19
p8-14|20|0.47028|0|29|1,2,3,4,5,7,8,9,10,11,12,14,15,16,17,19
p8-14|20|0.44417|0|30|2,3,4,9,12,13,16
p8-14|20|0.44417|0|30|2,3,4,9,11,13,16
p8-14|20|0.46455|0|31|2,4,7,10,11,12,14,15,16,17,19,20
p8-14|20|0.50784|0|32|2,4,6,7,13,14,15,20
p15-22|20|0.25952|0|1|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
p15-22|20|0.30925|0|2|1,4,5,6,7,8,9,10,11,14,15,16,17,18,19,20
p15-22|20|0.33793|0|3|7,10,11,14,15,17,19,20
p15-22|20|0.35325|0|4|1,4,7,8,9,10,11,14,17,18,19,20
p15-22|20|0.40320|0|5|1,9,13,14,15,16,17,18,20
p15-22|20|0.41079|0|6|4,5,6,7,10,11,14,15,16,19,20
p15-22|20|0.39057|0|7|1,2,3,4,7,10,11,12,15,18,19,20
p15-22|20|0.39057|0|7|1,2,3,4,7,9,11,12,15,18,19,20
p15-22|20|0.43182|0|8|1,4,7,8,9,10,11,13,17,18,19,20
p15-22|20|0.34945|0|9|1,2,3,4,5,6,7,13,14,15,16,17,18,19
p15-22|20|0.45320|0|10|1,9,11,12,13,14,17,18,19
p15-22|20|0.42953|0|11|1,2,4,5,6,7,8,9,10,11,13,14,15,16,17,20
p15-22|20|0.52284|0|12|1,2,3,4,5,6,7,10,11,14,19
p15-22|20|0.47979|0|13|1,4,5,6,8,9,10,11,12,14,15,16,17,18,19,20
p15-22|20|0.42149|0|14|1,4,7,9,11,12,17,18,19,20
p15-22|20|0.42867|0|15|1,2,3,4,6,7,10,11,12,13,14,16,18,20
p15-22|20|0.45280|0|16|1,4,7,8,9,10,11,13,17,18,19
p15-22|20|0.45594|0|17|3,5,6,9,11,13,14,15,16,19,20
p15-22|20|0.45594|0|17|1,3,5,6,9,11,13,14,15,16,19,20
p15-22|20|0.41973|0|18|3,6,13,14,15,16,17,18,20
p15-22|20|0.41973|0|18|3,6,13,14,15,16,17,18,19
p15-22|20|0.47812|0|19|1,6,7,8,10,12,13,15,16,18,20
p15-22|20|0.47812|0|19|1,6,7,8,10,12,13,15,16,18,19
p15-22|20|0.45936|0|20|1,5,6,7,8,9,11,13,14,16,19,20
p15-22|20|0.45936|0|20|1,5,6,7,8,9,11,13,14,15,19,20
p15-22|20|0.45028|0|21|1,2,4,5,6,7,9,10,14,15,18,19,20
p15-22|20|0.42848|0|22|8,11,12,14,15,16,17,20
p15-22|20|0.42971|0|23|2,3,4,5,6,7,9,10,12,20
p15-22|20|0.48967|0|24|1,2,3,4,7,10,11,14,17,18,19
p15-22|20|0.47561|0|25|2,3,4,5,6,12,13,14,15,16,17,18,19,20
p15-22|20|0.45089|0|26|2,4,5,6,7,8,9,10,11,13,14,15,20
p15-22|20|0.40306|0|27|1,2,3,5,7,8,9,10,14,18,19,20
p15-22|20|0.43067|0|28|1,4,7,9,10,11,15,18,19,20
p15-22|20|0.40746|0|29|1,2,4,5,7,8,10,11,12,18,19,20
p15-22|20|0.42343|0|30|2,3,4,5,9,10,11,13,15,16,17,19,20
p15-22|20|0.42343|0|30|2,3,4,5,9,10,11,13,15,16,17,18,20
p15-22|20|0.39985|0|31|1,3,13,18,19,20
p15-22|20|0.40737|0|32|1,4,9,11,13,14,18,19
p23-26|20|0.24381|0|1|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
p23-26|20|0.27700|0|2|1,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20
p23-26|20|0.30270|0|3|4,7,9,10,13,14,15,16,17,19,20
p23-26|20|0.30648|0|4|2,3,4,5,6,7,8,9,11,13,17,20
p23-26|20|0.32380|0|5|4,6,7,9,11,20
p23-26|20|0.33285|0|6|1,2,4,5,8,9,10,15,18,20
p23-26|20|0.35292|0|7|1,2,3,4,6,8,9,10,11,12,13,14,15,16,20
p23-26|20|0.34647|0|8|4,7,8,9,11,16,19,20
p23-26|20|0.38319|0|9|2,3,4,5,10,11,14,15,17,20
p23-26|20|0.38319|0|9|2,3,4,5,10,11,13,15,17,20
p23-26|20|0.37787|0|10|4,6,8,9,11,20
p23-26|20|0.37302|0|11|2,4,10,12,13,18
p23-26|20|0.40467|0|12|4,6,7,10,15,17,18
p23-26|20|0.40629|0|13|3,4,5,6,7,8,13,14,15,16,17,18,19
p23-26|20|0.49972|0|14|1,3,6,7,8,9,10,11,12,13,14,15
p23-26|20|0.45617|0|15|2,3,4,5,7,9,13,15,17,20
p23-26|20|0.45115|0|16|1,2,7,8,10,11,15,17,18,20
p23-26|20|0.48372|0|17|2,6,9,10,11,12,13,14,19
p23-26|20|0.41547|0|18|5,6,7,10,11,12,13,14,17,20
p23-26|20|0.50511|0|19|1,2,3,6,7,8,9,10,11,12,13,14,15,16,17,18,19
p23-26|20|0.45429|0|20|4,5,6,9,11,20
p23-26|20|0.44276|0|21|1,2,4,5,6,7,8,9,10,11,13,14,15,16,18
p23-26|20|0.40485|0|22|3,6,9,12,13,15,16,17,19
p23-26|20|0.43021|0|23|1,2,3,5,6,7,8,9,13,14,15,16,18,19,20
p23-26|20|0.45011|0|24|4,6,7,9,15,16,18,20
p23-26|20|0.44398|0|25|1,2,3,4,5,8,9,10,11,12,15,18
p23-26|20|0.50671|0|26|3,6,7,8,9,12,15,16,20
p23-26|20|0.42727|0|27|1,2,4,5,15,19
p23-26|20|0.45086|0|28|4,5,7,8,12,15,16,17,18,19,20
p23-26|20|0.44977|0|29|4,5,7,11,12,15,20
p23-26|20|0.43557|0|30|1,3,4,5,7,8,10,15,20
p23-26|20|0.49913|0|31|1,2,4,5,6,10,13,14,15,16,17,19,20
p23-26|20|0.47490|0|32|9,11,12,13,15,17,18,20
p27-32|20|0.25305|0|1|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
p27-32|20|0.32483|0|2|1,2,3,5,7,10,11,14,17,18,19,20
p27-32|20|0.34284|0|3|2,3,4,5,6,7,9,10,12,13,14,15,16,17,19,20
p27-32|20|0.35518|0|4|1,3,4,8,9,11,14,15,18,19,20
p27-32|20|0.34213|0|5|1,2,4,7,8,9,10,15,18,19
p27-32|20|0.39906|0|6|1,2,7,8,9,11,12,13,15,16,17,18,20
p27-32|20|0.35707|0|7|1,8,12,20
p27-32|20|0.36421|0|8|1,2,3,4,7,8,11,14,15,16,17,18,19,20
p27-32|20|0.44173|0|9|2,3,4,5,6,7,9,11,12,13,14,15,16,17,19,20
p27-32|20|0.37915|0|10|1,2,3,6,7,9,11,13,16,18
p27-32|20|0.40663|0|11|1,2,3,4,5,6,8,9,10,12,13,14,15,16,18,20
p27-32|20|0.46857|0|12|2,3,7,8,10,13,15,17,18,19
p27-32|20|0.58252|0|13|2,5,6,10,12,13,15,17,18,19
p27-32|20|0.58252|0|13|2,5,6,10,12,13,15,16,18,19
p27-32|20|0.46800|0|14|5,6,8,12,13,14,15,16,17,18,19,20
p27-32|20|0.50992|0|15|1,2,5,6,9,10,11,12,13,15,18,20
p27-32|20|0.45884|0|16|1,2,4,5,6,7,15
p27-32|20|0.46660|0|17|1,2,3,5,7,8,9,10,11,14,15,16,17,18,20
p27-32|20|0.53843|0|18|3,7,8,11,12,13,14,15,16,17,18,19,20
p27-32|20|0.49701|0|19|1,7,10,11,12,13,15,19
p27-32|20|0.45284|0|20|2,9,10,11,12,14,15,17,20
p27-32|20|0.49059|0|21|1,3,6,8,9,11,13,14,15
p27-32|20|0.47856|0|22|1,3,6,7,9,11,12,13,14,15,16,17,18,19,20
p27-32|20|0.49852|0|23|3,4,6,7,8,9,10,11,13,14,16,19,20
p27-32|20|0.46878|0|24|2,3,5,9,10,12,13,14,19
p27-32|20|0.54335|0|25|2,4,5,8,9,10,16,17,18,19
p27-32|20|0.58503|0|26|2,4,5,6,7,10,11,13,15,16,17,20
p27-32|20|0.40895|0|27|1,5,7,8,10,11,12,13,14,15,17,18,19
p27-32|20|0.41979|0|28|1,6,7,8,9,13,14,16,18,19
p27-32|20|0.41968|0|29|2,4,6,7,12,14,15,19,20
p27-32|20|0.44885|0|30|2,3,7,8,9,10,11,12,13,15,16,17,20
p27-32|20|0.47073|0|31|1,5,10,11,12,17,18,19
p27-32|20|0.45865|0|32|1,4,5,6,7,8,9,10,11,12,13,15,16,17,18,20
p33-39|20|0.23943|0|1|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
p33-39|20|0.26337|0|2|1,2,4,7,8,9,12,13,14,16,18,19,20
p33-39|20|0.27238|0|3|1,2,7,8,9,10,11,12,13,14,15,16,17,19,20
p33-39|20|0.28015|0|4|1,6,9,10,11,15,16,17,18,19
p33-39|20|0.30160|0|5|1,2,5,6,9,10,11,12,13,14,15,16,20
p33-39|20|0.28184|0|6|1,2,3,6,7,8,10,13,15,16,18,19
p33-39|20|0.31654|0|7|1,2,3,4,6,14,16,17,18,20
p33-39|20|0.31213|0|8|2,3,7,8,9,10,11,12,13,14,16,18,19,20
p33-39|20|0.31851|0|9|2,3,4,5,7,10,11,13,15,18,20
p33-39|20|0.32007|0|10|2,3,4,11,12,13,14,15,16,20
p33-39|20|0.34334|0|11|2,3,4,6,7,10,14,17,18
p33-39|20|0.30133|0|12|1,6,9,10,11,15,16,17,18,19
p33-39|20|0.34984|0|13|3,5,7,10,11,12,13,14,16,19
p33-39|20|0.32549|0|14|1,2,10,11,12,14,16,18
p33-39|20|0.37553|0|15|1,2,12,13,14,15,16,20
p33-39|20|0.37436|0|16|1,4,7,8,9,10,19
p33-39|20|0.37764|0|17|5,6,7,8,9,10,15,16
p33-39|20|0.36670|0|18|2,4,10,12,13,15,16,18,19,20
p33-39|20|0.39561|0|19|3,4,5,10,14,15,16,17,18
p33-39|20|0.36650|0|20|1,7,10,11,12,13,14,17,18
p33-39|20|0.34817|0|21|1,2,3,10,14,15,16,18,20
p33-39|20|0.41002|0|22|2,3,4,6,7,10,14,17,18
p33-39|20|0.39568|0|23|1,2,3,5,7,8,10,11,12,13,14,15,16,18,19,20
p33-39|20|0.40072|0|24|1,7,8,9,10,11,12,15,18,19,20
p33-39|20|0.42175|0|25|1,2,3,4,6,7,8,9,10,11,15,16,20
p33-39|20|0.38000|0|26|1,2,3,5,8,10,11,12,13,14,16,19
p33-39|20|0.38292|0|27|1,2,3,5,6,8,11,13,15,17,18,19
p33-39|20|0.35688|0|28|1,3,4,5,6,10,12,13,14,16,17,19,20
p33-39|20|0.48541|0|29|1,2,4,5,7,8,9,11,12,14,15,16,17,18
p33-39|20|0.41363|0|30|1,3,4,5,9,18,19,20
p33-39|20|0.37195|0|31|4,5,6,7,8,9,10,11,15,17,19
p33-39|20|0.38191|0|32|3,6,8,9,20
p40-53|20|0.25030|0|1|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
p40-53|20|0.30662|0|2|1,3,4,5,6,7,9,12,13,14,15,16,19,20
p40-53|20|0.35231|0|3|1,2,3,4,6,7,8,9,10,12,14,15,16,17,18,19,20
p40-53|20|0.35839|0|4|1,3,5,8,9,12,14,16,19,20
p40-53|20|0.41841|0|5|1,2,3,4,5,6,7,8,9,10,11,12,13,15,16,17,18,19
p40-53|20|0.39087|0|6|3,6,7,8,13,14,15,18,20
p40-53|20|0.40694|0|7|1,5,7,8,12,13,14,16,17,19,20
p40-53|20|0.40694|0|7|1,5,6,8,12,13,14,16,17,19,20
p40-53|20|0.39933|0|8|1,2,3,7,9,11,14,15,19
p40-53|20|0.39933|0|8|1,2,3,6,9,11,14,15,19
p40-53|20|0.40459|0|9|1,2,4,7,8,14,15,16,17,18,20
p40-53|20|0.53511|0|10|1,2,3,4,5,6,7,8,9,10,11,12,13,15,16,17,18,19
p40-53|20|0.43825|0|11|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
p40-53|20|0.50765|0|12|1,3,5,6,8,13,14,15,19,20
p40-53|20|0.46940|0|13|2,5,6,7,9,14,18,20
p40-53|20|0.44457|0|14|4,7,10,12,13,18,20
p40-53|20|0.44457|0|14|4,6,10,12,13,18,20
p40-53|20|0.51019|0|15|1,2,3,4,7,8,9,10,11,14,17,18,19,20
p40-53|20|0.47035|0|16|1,2,3,7,9,11,13,14
p40-53|20|0.47035|0|16|1,2,3,6,9,11,13,14
p40-53|20|0.43369|0|17|2,8,9,11,15,16,20
p40-53|20|0.51316|0|18|1,3,4,5,6,7,9,12,18,20
p40-53|20|0.40358|0|19|1,3,4,6,7,8,9,10,11,13,17,19,20
p40-53|20|0.59027|0|20|2,3,4,5,6,7,9,10,11,12,13,14,15,16,18,19,20
p40-53|20|0.59027|0|20|2,3,4,5,6,7,8,10,11,12,13,14,15,16,18,19,20
p40-53|20|0.50720|0|21|1,3,12,13,15,16,17,19
p40-53|20|0.44699|0|22|1,2,9,16,17,18
p40-53|20|0.50242|0|23|2,3,4,10,14,17,18,20
p40-53|20|0.47388|0|24|3,5,7,8,13,14,15,19,20
p40-53|20|0.50969|0|25|1,2,6,8,9,14,15,18
p40-53|20|0.49479|0|26|2,3,5,9,12,14,15,20
p40-53|20|0.49479|0|26|2,3,5,8,12,14,15,20
p40-53|20|0.53946|0|27|1,2,4,5,6,7,8,9,12,14,16,19,20
p40-53|20|0.46367|0|28|1,12,13,18,20
p40-53|20|0.43287|0|29|1,2,3,4,6,7,12,14,15,16,18
p40-53|20|0.47522|0|30|1,3,4,7,8,9,10,11,14,16,17,18,20
p40-53|20|0.47522|0|30|1,3,4,6,8,9,10,11,14,16,17,18,20
p40-53|20|0.43589|0|31|3,4,11,15,16,17,18,19,20
p40-53|20|0.44119|0|32|1,4,7,8,9,11,15
p40-53|20|0.44119|0|32|1,4,6,8,9,11,15
p54-55|6|0.23699|0|1|1,2,3,4,5,6
p54-55|6|0.26377|0|2|1,2,4,5,6
p54-55|6|0.29913|0|3|1,3,5
p54-55|6|0.32510|0|4|1,2,4
p54-55|6|0.28694|0|5|4,5
p54-55|6|0.32504|0|6|1,3,6
p54-55|6|0.28695|0|7|1
p54-55|6|0.47630|0|8|1,2,4
p54-55|6|0.27813|0|9|1,3,5
p54-55|6|0.31556|0|10|4,5,6
p54-55|6|0.28537|0|11|5
p54-55|6|0.35471|0|12|1,4,5
p54-55|6|0.32774|0|13|3
p54-55|6|0.31135|0|14|
p54-55|6|0.30200|0|15|
p54-55|6|0.48538|0|16|1,2,4
p54-55|6|0.32733|0|17|1,2,3,4,5,6
p54-55|6|0.37584|0|18|1,3,5
p54-55|6|0.30792|0|19|1,2,3,5
p54-55|6|0.26505|0|20|1,2
p54-55|6|0.38050|0|21|2,3,4,6
p54-55|6|0.33000|0|22|1,2,4
p54-55|6|0.30972|0|23|2,6
p54-55|6|0.41172|0|24|1,2,4
p54-55|6|0.26863|0|25|
p54-55|6|0.26644|0|26|2,4
p54-55|6|0.20513|0|27|3,4
p54-55|6|0.21547|0|28|2,4,5
p54-55|6|0.28147|0|29|3
p54-55|6|0.20851|0|30|4,5,6
p54-55|6|0.17805|0|31|2,6
p54-55|6|0.29944|0|32|1,2,4,6
0_warning|1|0.91683|0|1|
0_warning|1|0.88915|0|2|
0_warning|1|0.64569|0|3|1
0_warning|1|0.91317|0|4|
0_warning|1|0.78369|0|5|1
0_warning|1|0.54033|0|6|1
0_warning|1|0.77589|0|7|
0_warning|1|0.71344|0|8|
0_warning|1|0.50977|0|9|1
0_warning|1|0.63189|0|10|1
0_warning|1|0.43942|0|11|
0_warning|1|0.57421|0|12|1
0_warning|1|0.23932|0|13|
0_warning|1|0.48864|0|14|
0_warning|1|0.15630|0|15|1
0_warning|1|0.17815|0|16|1
0_warning|1|0.40441|0|17|
0_warning|1|0.05498|0|18|1
0_warning|1|-0.22961|0|19|
0_warning|1|0.21832|0|20|
0_warning|1|0.07354|0|21|1
0_warning|1|-0.17944|0|22|
0_warning|1|0.26243|0|23|1
0_warning|1|-0.04112|0|24|1
0_warning|1|-0.01138|0|25|1
0_warning|1|-0.04436|0|26|1
0_warning|1|-0.20499|0|27|1
0_warning|1|0.07125|0|28|1
0_warning|1|-0.30520|0|29|
0_warning|1|-0.14877|0|30|
0_warning|1|-0.01330|0|31|1
0_warning|1|-0.18755|0|32|1
0_welcome|20|0.46393|0|1|1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
0_welcome|20|0.63556|0|2|4,5,6,7,11,12,14,15,16,19,20
0_welcome|20|0.63556|0|2|4,5,6,7,10,12,14,15,16,19,20
0_welcome|20|0.63556|0|2|3,5,6,7,11,12,14,15,16,19,20
0_welcome|20|0.63556|0|2|3,5,6,7,10,12,14,15,16,19,20
0_welcome|20|0.57441|0|3|1,2,6,10,11,12,14,15,17,18,19
0_welcome|20|0.85740|0|4|1,4,5,6,7,9,12,14,19,20
0_welcome|20|0.85740|0|4|1,3,5,6,7,9,12,14,19,20
0_welcome|20|0.57946|0|5|1,2,4,7,12,15,16
0_welcome|20|0.57946|0|5|1,2,3,7,12,15,16
0_welcome|20|0.72041|0|6|4,7,10,11,14,15,16,17,18,19,20
0_welcome|20|0.72041|0|6|3,7,10,11,14,15,16,17,18,19,20
0_welcome|20|0.62000|0|7|4,5,6,9,10,11,13,15
0_welcome|20|0.62000|0|7|3,5,6,9,10,11,13,15
0_welcome|20|0.90182|0|8|4,5,6,7,9,12,14,18,20
0_welcome|20|0.90182|0|8|3,5,6,7,9,12,14,18,20
0_welcome|20|0.64445|0|9|2,6,7,8,9,10,11,12,13,14,17,18,19
0_welcome|20|0.63282|0|10|1,2,3,4,5,6,8,9,10,11,12,14,15,16,19,20
0_welcome|20|0.61887|0|11|1,2,4,5,6,16,17,18,20
0_welcome|20|0.61887|0|11|1,2,3,5,6,16,17,18,20
0_welcome|20|0.72771|0|12|4,5,6,7,9,11,14,17,18,19
0_welcome|20|0.72771|0|12|4,5,6,7,9,10,14,17,18,19
0_welcome|20|0.72771|0|12|3,5,6,7,9,11,14,17,18,19
0_welcome|20|0.72771|0|12|3,5,6,7,9,10,14,17,18,19
0_welcome|20|0.55250|0|13|1,4,5,6,8,11,13,18,19
0_welcome|20|0.55250|0|13|1,4,5,6,8,10,13,18,19
0_welcome|20|0.55250|0|13|1,3,5,6,8,11,13,18,19
0_welcome|20|0.55250|0|13|1,3,5,6,8,10,13,18,19
0_welcome|20|0.70223|0|14|4,5,6,8,10,11,14,15,16,17,18,19,20
0_welcome|20|0.70223|0|14|3,5,6,8,10,11,14,15,16,17,18,19,20
0_welcome|20|0.64755|0|15|1,2,3,4,5,8,14,16,17,18,20
0_welcome|20|0.74770|0|16|1,2,4,5,6,7,11,12,14,18,20
0_welcome|20|0.74770|0|16|1,2,4,5,6,7,10,12,14,18,20
0_welcome|20|0.74770|0|16|1,2,3,5,6,7,11,12,14,18,20
0_welcome|20|0.74770|0|16|1,2,3,5,6,7,10,12,14,18,20
0_welcome|20|0.71620|0|17|1,4,5,10,11,13,15,18,19,20
0_welcome|20|0.71620|0|17|1,3,5,10,11,13,15,18,19,20
0_welcome|20|0.65777|0|18|2,6,7,8,9,10,11,12,13,14,17,18,19,20
0_welcome|20|0.65953|0|19|1,6,12,19,20
0_welcome|20|0.63560|0|20|1,3,4,7,8,9,14,17,20
0_welcome|20|0.62656|0|21|6,7,8,9,10,11,12,13,15
0_welcome|20|0.61130|0|22|1,3,4,5,6,11,12,14,20
0_welcome|20|0.61130|0|22|1,3,4,5,6,10,12,14,20
0_welcome|20|0.58736|0|23|1,2,6,7,8,10,11,12,13,15
0_welcome|20|0.65231|0|24|1,2,5,6,7,8,12,13
0_welcome|20|0.59580|0|25|8,13,14,17
0_welcome|20|0.57306|0|26|1,2,4,5,6,7,9,10,11,12,13,17,18,19,20
0_welcome|20|0.57306|0|26|1,2,3,5,6,7,9,10,11,12,13,17,18,19,20
0_welcome|20|0.62962|0|27|1,2,6,10,11,12,13,15,17,18,19
0_welcome|20|0.60485|0|28|1,2,5,6,8,9,10,11,13,14,15,16,18
0_welcome|20|0.58436|0|29|1,2,4,8,9,10,11,12,13,16,20
0_welcome|20|0.58436|0|29|1,2,3,8,9,10,11,12,13,16,20
0_welcome|20|0.61447|0|30|1,2,3,4,14,17,18,19,20
0_welcome|20|0.52003|0|31|1,6,8,9
0_welcome|20|0.50423|0|32|1,2,4,5,7,8,9,11,14,15,16,17,18,19,20
0_welcome|20|0.50423|0|32|1,2,4,5,7,8,9,10,14,15,16,17,18,19,20
0_welcome|20|0.50423|0|32|1,2,3,5,7,8,9,11,14,15,16,17,18,19,20
0_welcome|20|0.50423|0|32|1,2,3,5,7,8,9,10,14,15,16,17,18,19,20
0_wisdom|5|0.82591|0|1|1,2,3,4,5
0_wisdom|5|0.85947|0|2|1,2,3,4,5
0_wisdom|5|0.87825|0|3|3,4,5
0_wisdom|5|0.87825|0|3|2,4,5
0_wisdom|5|0.91175|0|4|4,5
0_wisdom|5|0.82674|0|5|1,3,4
0_wisdom|5|0.82674|0|5|1,2,4
0_wisdom|5|0.83130|0|6|1,2,3,4
0_wisdom|5|0.77328|0|7|1,3,4
0_wisdom|5|0.77328|0|7|1,2,4
0_wisdom|5|0.76718|0|8|4
0_wisdom|5|0.70171|0|9|1,4,5
0_wisdom|5|0.60641|0|10|1,4,5
0_wisdom|5|0.49974|0|11|1,3,4,5
0_wisdom|5|0.49974|0|11|1,2,4,5
0_wisdom|5|0.71552|0|12|1,2,3,4
0_wisdom|5|0.55621|0|13|1,2,3
0_wisdom|5|0.49888|0|14|4,5
0_wisdom|5|0.24044|0|15|
0_wisdom|5|0.24443|0|16|1,2,3
0_wisdom|5|0.27879|0|17|1,2,3,5
0_wisdom|5|0.28649|0|18|
0_wisdom|5|0.15378|0|19|4
0_wisdom|5|0.27801|0|20|4,5
0_wisdom|5|0.09641|0|21|2,3,4,5
0_wisdom|5|0.34639|0|22|2,3,4
0_wisdom|5|-0.06256|0|23|2,3,4,5
0_wisdom|5|0.36527|0|24|
0_wisdom|5|0.05457|0|25|1,5
0_wisdom|5|0.05823|0|26|3,5
0_wisdom|5|0.05823|0|26|2,5
0_wisdom|5|-0.05569|0|27|1,2,3
0_wisdom|5|-0.04680|0|28|2,3
0_wisdom|5|-0.30551|0|29|1,2,3,4
0_wisdom|5|-0.47187|0|30|5
0_wisdom|5|-0.40838|0|31|3
0_wisdom|5|-0.40838|0|31|2
0_wisdom|5|-0.77259|0|32|1,3
0_wisdom|5|-0.77259|0|32|1,2
0_koan_1|20|0.82292|0|1|
0_koan_1|20|0.84586|0|2|3,20
0_koan_1|20|0.87063|0|3|6,12,13,16,17
0_koan_1|20|0.88349|0|4|3,9,10,20
0_koan_1|20|0.91487|0|5|2,4,8,15,19
0_koan_1|20|0.89052|0|6|4,9,10,11,12,13,17,19
0_koan_1|20|0.91207|0|7|1,3,6,7,9,11,15,18
0_koan_1|20|0.92195|0|8|1,3,7,8,16,17,18,19,20
0_koan_1|20|0.90983|0|9|6,7,9,10,11,13,15,16,20
0_koan_1|20|0.95502|0|10|1,3,9,13,16
0_koan_1|20|0.91699|0|11|1,3,4,6,7,8,9,11,12,13,14,16,17,18,19,20
0_koan_1|20|0.88792|0|12|3,4,6,7,12,13,16,17,20
0_koan_1|20|0.90801|0|13|2,3,6,7,8,12,13,14,15,16,17,18,20
0_koan_1|20|0.89652|0|14|1,3,4,7,13,14
0_koan_1|20|0.92555|0|15|2,5,6,7,11,16,17
0_koan_1|20|0.89011|0|16|3,4,6,11,16
0_koan_1|20|0.88106|0|17|6,9,11,12,13,14,17
0_koan_1|20|0.89307|0|18|1,2,3,7,8,9,11,12,15,17,19
0_koan_1|20|0.86701|0|19|1,4,5,7,8,11,12,13,14,15,16,18,19
0_koan_1|20|0.88425|0|20|2,3,8,10,13,14,16,18,19,20
0_koan_1|20|0.85963|0|21|3,6,9,10,12,13,16,18,19
0_koan_1|20|0.86382|0|22|1,4,5,7,8,10,11,13,20
0_koan_1|20|0.84770|0|23|4,5,7,8,11,12,13,14,15,16,17,18
0_koan_1|20|0.83569|0|24|2,3,4,5,6,8,11,15,17,19
0_koan_1|20|0.83097|0|25|1,5,6,7,8,9,10,11,12,14,15,17,18,19,20
0_koan_1|20|0.81605|0|26|3,6,10,11,12,14,15,16,17,18,19,20
0_koan_1|20|0.82362|0|27|2,3,4,5,6,11,14,16,18,19,20
0_koan_1|20|0.76188|0|28|1,2,5,8,13,14
0_koan_1|20|0.80543|0|29|1,3,5,6,8,10,16,17
0_koan_1|20|0.80823|0|30|1,2,4,7,8,12,13,15,18
0_koan_1|20|0.75602|0|31|3,8,9,10,14,15,17,18,19,20
0_koan_1|20|0.78839|0|32|1,2,3,7,8,11,19
0_loss_of_divinity|8|0.99844|0|1|
0_loss_of_divinity|8|0.99758|0|2|3,4
0_loss_of_divinity|8|0.99548|0|3|1,4,7
0_loss_of_divinity|8|0.98466|0|4|2,6,7
0_loss_of_divinity|8|0.97123|0|5|1,2,3,4,5,7
0_loss_of_divinity|8|0.95364|0|6|1,6,7,8
0_loss_of_divinity|8|0.95033|0|7|1,2
0_loss_of_divinity|8|0.93672|0|8|4
0_loss_of_divinity|8|0.89207|0|9|3,4,8
0_loss_of_divinity|8|0.89564|0|10|1,2,3,4,6,7,8
0_loss_of_divinity|8|0.90274|0|11|1,2,3,5,6,7
0_loss_of_divinity|8|0.87356|0|12|1,2,6,7
0_loss_of_divinity|8|0.85706|0|13|1,2,5,6,7,8
0_loss_of_divinity|8|0.83737|0|14|3,4
0_loss_of_divinity|8|0.84633|0|15|1,4,8
0_loss_of_divinity|8|0.83144|0|16|2,3,4,6,7
0_loss_of_divinity|8|0.82408|0|17|1,3
0_loss_of_divinity|8|0.78440|0|18|2,4,7,8
0_loss_of_divinity|8|0.82927|0|19|1,2,3,5,6,7,8
0_loss_of_divinity|8|0.84965|0|20|1,3,4,6
0_loss_of_divinity|8|0.80478|0|21|1,5,6,7,8
0_loss_of_divinity|8|0.81473|0|22|2,4,7,8
0_loss_of_divinity|8|0.72799|0|23|4,8
0_loss_of_divinity|8|0.75176|0|24|1,2,3,4,5,8
0_loss_of_divinity|8|0.77322|0|25|1,3,4,6
0_loss_of_divinity|8|0.72813|0|26|2,5,6,7,8
0_loss_of_divinity|8|0.72284|0|27|1,2,3,4,5,8
0_loss_of_divinity|8|0.69291|0|28|3,7,8
0_loss_of_divinity|8|0.69115|0|29|1,5,7
0_loss_of_divinity|8|0.69457|0|30|1,4
0_loss_of_divinity|8|0.69779|0|31|3
0_loss_of_divinity|8|0.67699|0|32|4,5
jpg107-167|5|0.38712|0|1|1,2,3,4,5
jpg107-167|5|0.38314|0|2|1,2,3,4,5
jpg107-167|5|0.42154|0|3|1,4,5
jpg107-167|5|0.36994|0|4|1,2,3
jpg107-167|5|0.42017|0|5|1,2,3,4
jpg107-167|5|0.41453|0|6|1,4,5
jpg107-167|5|0.42005|0|7|2,4,5
jpg107-167|5|0.41039|0|8|1,2,3
jpg107-167|5|0.48602|0|9|1,4,5
jpg107-167|5|0.41828|0|10|1,3,4,5
jpg107-167|5|0.40501|0|11|1,3,4,5
jpg107-167|5|0.30480|0|12|1,3
jpg107-167|5|0.74200|0|13|2,4
jpg107-167|5|0.35611|0|14|1,5
jpg107-167|5|0.31099|0|15|1,4,5
jpg107-167|5|0.32266|0|16|1,2
jpg107-167|5|0.38528|0|17|1,2,3,4
jpg107-167|5|0.38127|0|18|1,2,5
jpg107-167|5|0.34112|0|19|3
jpg107-167|5|0.45235|0|20|1,4
jpg107-167|5|0.41041|0|21|1,4,5
jpg107-167|5|0.35028|0|22|2,3,4
jpg107-167|5|0.25515|0|23|1,4,5
jpg107-167|5|0.32212|0|24|1,3
jpg107-167|5|0.19144|0|25|1,5
jpg107-167|5|0.57273|0|26|3,4
jpg107-167|5|0.31905|0|27|2,3,5
jpg107-167|5|0.16390|0|28|1,3,5
jpg107-167|5|0.28642|0|29|4,5
jpg107-167|5|0.32226|0|30|1,2,4,5
jpg107-167|5|0.18126|0|31|1,2,5
jpg107-167|5|0.13815|0|32|3,5
jpg229|2|0.96275|0|1|1,2
jpg229|2|0.87772|0|2|
jpg229|2|0.66433|0|3|
jpg229|2|0.67796|0|4|
jpg229|2|0.79821|0|5|1,2
jpg229|2|0.39461|0|6|1,2
jpg229|2|0.80939|0|7|2
jpg229|2|0.80939|0|7|1
jpg229|2|0.20909|0|8|2
jpg229|2|0.20909|0|8|1
jpg229|2|0.17573|0|9|
jpg229|2|0.47465|0|10|
jpg229|2|0.23380|0|11|1,2
jpg229|2|-0.08032|0|12|
jpg229|2|0.01706|0|13|
jpg229|2|-0.01536|0|14|2
jpg229|2|-0.01536|0|14|1
jpg229|2|-0.08491|0|15|1,2
jpg229|2|-0.38903|0|16|
jpg229|2|-0.63911|0|17|
jpg229|2|-0.55790|0|18|2
jpg229|2|-0.55790|0|18|1
jpg229|2|-0.67101|0|19|1,2
jpg229|2|-0.98167|0|20|
jpg229|2|-0.86491|0|21|
jpg229|2|-1.12440|0|22|
jpg229|2|-1.37521|0|23|1,2
jpg229|2|-1.45731|0|24|1,2
jpg229|2|-0.97944|0|25|1,2
jpg229|2|-1.10796|0|26|2
jpg229|2|-1.10796|0|26|1
jpg229|2|-1.36985|0|27|
jpg229|2|-2.34944|0|28|2
jpg229|2|-2.34944|0|28|1
jpg229|2|-1.70641|0|29|
jpg229|2|-0.97766|0|30|1,2
jpg229|2|-1.16848|0|31|
jpg229|2|-1.16848|0|31|2
jpg229|2|-1.16848|0|31|1
jpg229|2|-1.72983|0|32|
p56_an_end|5|0.19910|0|1|1,2,3,4,5
p56_an_end|5|0.41107|0|2|1,4,5
p56_an_end|5|0.42629|0|3|1,2,3
p56_an_end|5|0.45827|0|4|1,4,5
p56_an_end|5|0.44886|0|5|1
p56_an_end|5|0.41252|0|6|3,4,5
p56_an_end|5|0.38129|0|7|1,3,4,5
p56_an_end|5|0.38129|0|7|1,2,4,5
p56_an_end|5|0.43208|0|8|1
p56_an_end|5|0.24734|0|9|2,3,4
p56_an_end|5|0.32505|0|10|1,3
p56_an_end|5|0.18514|0|11|1,2,4
p56_an_end|5|0.18364|0|12|
p56_an_end|5|0.39616|0|13|2,3,4
p56_an_end|5|-0.10476|0|14|1
p56_an_end|5|-0.25696|0|15|1
p56_an_end|5|-0.28871|0|16|1,2,5
p56_an_end|5|-0.54520|0|17|2,3,4
p56_an_end|5|-0.59386|0|18|2,3,5
p56_an_end|5|-0.87452|0|19|1,4,5
p56_an_end|5|-0.80518|0|20|4
p56_an_end|5|-0.83492|0|21|3
p56_an_end|5|-0.83492|0|21|2
p56_an_end|5|-0.83492|0|21|1
p56_an_end|5|-0.83492|0|21|1,4
p56_an_end|5|-0.83492|0|21|1,3
p56_an_end|5|-0.83492|0|21|1,2
p56_an_end|5|-0.94904|0|22|1,5
p56_an_end|5|-0.94904|0|22|1,3,5
p56_an_end|5|-0.94904|0|22|1,3,4
p56_an_end|5|-0.94904|0|22|1,2,5
p56_an_end|5|-0.94904|0|22|1,2,3
p56_an_end|5|-0.94904|0|22|1,2,3,5
p56_an_end|5|-0.82960|0|23|2,3,4,5
p56_an_end|5|-0.82960|0|23|1,3,4,5
p56_an_end|5|-0.82960|0|23|1,2,4,5
p56_an_end|5|-0.82960|0|23|1,2,3
p56_an_end|5|-0.77369|0|24|4,5
p56_an_end|5|-0.77369|0|24|3,5
p56_an_end|5|-0.77369|0|24|2,5
p56_an_end|5|-0.77369|0|24|2,3,4,5
p56_an_end|5|-0.77369|0|24|1,5
p56_an_end|5|-0.77369|0|24|1,3,4,5
p56_an_end|5|-0.77369|0|24|1,2,4,5
p56_an_end|5|-0.77369|0|25|4,5
p56_an_end|5|-1.00904|0|26|1,2
p56_an_end|5|-0.77369|0|27|3,4
p56_an_end|5|-0.77369|0|27|1,2
p56_an_end|5|-0.99223|0|28|
p56_an_end|5|-0.99223|0|28|5
p56_an_end|5|-0.77369|0|29|1,2,3
p56_an_end|5|-0.97766|0|30|2,3,4,5
p56_an_end|5|-0.77369|0|31|1,4
p56_an_end|5|-0.77369|0|31|1,4,5
p56_an_end|5|-0.77369|0|31|1,3
p56_an_end|5|-0.77369|0|31|1,3,5
p56_an_end|5|-0.77369|0|31|1,3,4
p56_an_end|5|-0.77369|0|31|1,2
p56_an_end|5|-0.77369|0|31|1,2,5
p56_an_end|5|-0.77369|0|31|1,2,4
p56_an_end|5|-0.77369|0|31|1,2,4,5
p56_an_end|5|-0.77369|0|31|1,2,3
p56_an_end|5|-0.77369|0|31|1,2,3,5
p56_an_end|5|-0.96491|0|32|
p56_an_end|5|-0.96491|0|32|5
p56_an_end|5|-0.96491|0|32|4
p56_an_end|5|-0.96491|0|32|3
p56_an_end|5|-0.96491|0|32|2
p56_an_end|5|-0.96491|0|32|2,5
p57_parable|3|0.95510|0|1|
p57_parable|3|0.80339|0|2|1,2
p57_parable|3|0.84246|0|3|1,2,3
p57_parable|3|0.87582|0|4|1,3
p57_parable|3|0.77458|0|5|1,2
p57_parable|3|0.63893|0|6|1,2
p57_parable|3|0.61164|0|7|1,3
p57_parable|3|0.35592|0|8|1,3
p57_parable|3|0.50414|0|9|3
p57_parable|3|0.53219|0|10|1,3
p57_parable|3|0.34024|0|11|1,2,3
p57_parable|3|0.07647|0|12|2,3
p57_parable|3|-0.04204|0|13|1,3
p57_parable|3|0.17759|0|14|1,2
p57_parable|3|-0.06591|0|15|
p57_parable|3|-0.18728|0|16|1
p57_parable|3|-0.37358|0|17|2,3
p57_parable|3|-0.37856|0|18|1,2,3
p57_parable|3|-0.43296|0|19|1,3
p57_parable|3|-0.61140|0|20|2,3
p57_parable|3|-0.68037|0|21|1
p57_parable|3|-0.83174|0|22|3
p57_parable|3|-1.22098|0|23|1
p57_parable|3|-0.93443|0|24|1,2,3
p57_parable|3|-0.97944|0|25|
p57_parable|3|-1.44224|0|26|1
p57_parable|3|-1.23847|0|27|2,3
p57_parable|3|-0.86554|0|28|1,2
p57_parable|3|-1.32874|0|29|
p57_parable|3|-1.51421|0|30|3
p57_parable|3|-1.56327|0|31|1,3
p57_parable|3|-1.34737|0|32|1,2,3

View File

@@ -0,0 +1,124 @@
p0-2|20|0.55114|0|14|2,4,5,6,8,12,13,14,16,17,20
p0-2|20|0.55691|0|14|1,3,5,6,8,12,13,14,16,17,20
p0-2|20|0.55181|0|14|1,3,4,6,8,12,13,14,16,17,20
p27-32|20|0.56088|0|13|5,6,10,11,13,15
p27-32|20|0.55851|0|13|5,6,10,11,13,14,15,16,17
p27-32|20|0.55248|0|13|3,5,10,11,13,14,15,16,17,18,19,20
p27-32|20|0.55371|0|13|3,5,6,11,12,13,15
p27-32|20|0.57557|0|13|3,5,6,10,11,13,15
p27-32|20|0.55940|0|13|3,5,6,10,11,13,15,16,17,18
p27-32|20|0.55128|0|13|3,5,6,10,11,13,15,16,17,18,19,20
p27-32|20|0.55641|0|13|3,5,6,9,11,14,15,16,17,18
p27-32|20|0.55188|0|13|3,5,6,9,11,13,15,16,17,18
p27-32|20|0.56118|0|13|3,5,6,9,10,14,15,16,17,18
p27-32|20|0.55940|0|13|3,5,6,8,9,13,15
p27-32|20|0.55188|0|13|3,4,10,11,13,14,15,16,18
p27-32|20|0.56688|0|13|3,4,10,11,13,14,15,16,17
p27-32|20|0.56118|0|13|3,4,10,11,13,14,15,16,17,18,19,20
p27-32|20|0.55581|0|13|3,4,10,11,12,14,15,16,17
p27-32|20|0.55728|0|13|3,4,10,11,12,14,15,16,17,18,19,20
p27-32|20|0.55101|0|13|3,4,10,11,12,13,15,16,17
p27-32|20|0.57197|0|13|3,4,6,11,12,13,15
p27-32|20|0.55158|0|13|3,4,6,11,12,13,14
p27-32|20|0.56240|0|13|3,4,6,10,12,13,15
p27-32|20|0.55011|0|13|3,4,6,10,12,13,15,17,18
p27-32|20|0.55011|0|13|3,4,6,10,12,13,15,16,18
p27-32|20|0.55880|0|13|3,4,6,10,12,13,15,16,17
p27-32|20|0.55013|0|13|3,4,6,10,12,13,15,16,17,19,20
p27-32|20|0.55191|0|13|3,4,6,10,12,13,14
p27-32|20|0.56028|0|13|3,4,6,10,11,13,15
p27-32|20|0.55731|0|13|3,4,5,11,12,13,14,17,18
p27-32|20|0.55191|0|13|3,4,5,11,12,13,14,16,17
p27-32|20|0.55818|0|13|3,4,5,11,12,13,14,15,16,19
p27-32|20|0.55733|0|13|3,4,5,10,12,13,14,17,18
p27-32|20|0.55523|0|13|2,5,8,10,14,16,17
p27-32|20|0.55371|0|13|2,5,8,10,12,13,15,16,17,19
p27-32|20|0.55068|0|13|2,5,7,10,12,14,15,16,17,19
p27-32|20|0.57290|0|13|2,5,7,10,12,13,15,16,17,19
p27-32|20|0.56060|0|13|2,5,6,11,12,14,15,16,17,19
p27-32|20|0.56390|0|13|2,5,6,11,12,13,15
p27-32|20|0.57919|0|13|2,5,6,11,12,13,15,16,17,19
p27-32|20|0.55491|0|13|2,5,6,10,12,14,15
p27-32|20|0.57047|0|13|2,5,6,10,12,14,15,17,18,19
p27-32|20|0.57047|0|13|2,5,6,10,12,14,15,16,18,19
p27-32|20|0.57919|0|13|2,5,6,10,12,14,15,16,17,19
p27-32|20|0.55011|0|13|2,5,6,10,12,13,18
p27-32|20|0.56243|0|13|2,5,6,10,12,13,15
p27-32|20|0.55521|0|13|2,5,6,10,12,13,15,17,18,20
p27-32|20|0.55910|0|13|2,5,6,10,12,13,15,17,18,19,20
p27-32|20|0.55521|0|13|2,5,6,10,12,13,15,16,18,20
p27-32|20|0.55910|0|13|2,5,6,10,12,13,15,16,18,19,20
p27-32|20|0.57802|0|13|2,5,6,10,12,13,15,16,17,19
p27-32|20|0.55940|0|13|2,5,6,10,12,13,15,16,17,19,20
p27-32|20|0.56183|0|13|2,5,6,10,11,14,15,16,17,19
p27-32|20|0.55703|0|13|2,5,6,10,11,14,15,16,17,18
p27-32|20|0.55701|0|13|2,5,6,10,11,13,15
p27-32|20|0.56663|0|13|2,5,6,10,11,13,15,16,17,19
p27-32|20|0.56663|0|13|2,5,6,10,11,13,15,16,17,18
p27-32|20|0.58162|0|13|2,4,8,10,14,16,17
p27-32|20|0.55401|0|13|2,4,8,10,13,16,17
p27-32|20|0.55851|0|13|2,4,7,10,12,13,15,16,17,19
p27-32|20|0.56900|0|13|2,4,6,11,12,14,15,16,17,19
p27-32|20|0.57227|0|13|2,4,6,11,12,13,15
p27-32|20|0.55431|0|13|2,4,6,11,12,13,15,17,18,19
p27-32|20|0.55431|0|13|2,4,6,11,12,13,15,16,18,19
p27-32|20|0.57742|0|13|2,4,6,11,12,13,15,16,17,19
p27-32|20|0.55401|0|13|2,4,6,11,12,13,15,16,17,18
p27-32|20|0.55101|0|13|2,4,6,10,12,16,17
p27-32|20|0.56750|0|13|2,4,6,10,12,14,15
p27-32|20|0.55910|0|13|2,4,6,10,12,14,15,17,18,19
p27-32|20|0.55910|0|13|2,4,6,10,12,14,15,16,18,19
p27-32|20|0.58104|0|13|2,4,6,10,12,14,15,16,17,19
p27-32|20|0.55311|0|13|2,4,6,10,12,13,18
p27-32|20|0.58102|0|13|2,4,6,10,12,13,15
p27-32|20|0.55878|0|13|2,4,6,10,12,13,15,17,18
p27-32|20|0.57202|0|13|2,4,6,10,12,13,15,17,18,20
p27-32|20|0.57829|0|13|2,4,6,10,12,13,15,17,18,19
p27-32|20|0.55251|0|13|2,4,6,10,12,13,15,17,18,19,20
p27-32|20|0.55878|0|13|2,4,6,10,12,13,15,16,18
p27-32|20|0.57202|0|13|2,4,6,10,12,13,15,16,18,20
p27-32|20|0.57829|0|13|2,4,6,10,12,13,15,16,18,19
p27-32|20|0.55251|0|13|2,4,6,10,12,13,15,16,18,19,20
p27-32|20|0.55251|0|13|2,4,6,10,12,13,15,16,17
p27-32|20|0.57145|0|13|2,4,6,10,12,13,15,16,17,19
p27-32|20|0.57260|0|13|2,4,6,10,12,13,15,16,17,19,20
p27-32|20|0.55226|0|13|2,4,6,10,12,13,15,16,17,18
p27-32|20|0.57502|0|13|2,4,6,10,12,13,14
p27-32|20|0.56030|0|13|2,4,6,10,12,13,14,17,18,19
p27-32|20|0.55551|0|13|2,4,6,10,12,13,14,16,18,19
p27-32|20|0.55041|0|13|2,4,6,9,12,13,17
p27-32|20|0.55970|0|13|2,4,6,9,12,13,15
p27-32|20|0.55641|0|13|2,4,6,8,12,13,15
p27-32|20|0.55461|0|13|2,4,5,10,12,13,15
p27-32|20|0.55821|0|13|2,4,5,10,12,13,14
p27-32|20|0.56723|0|13|2,3,8,10,14,16,17
p27-32|20|0.55196|0|13|2,3,6,10,12,14,15,16,17,19
p27-32|20|0.55253|0|13|1,5,8,10,14,16,17
p27-32|20|0.56962|0|13|1,4,8,10,14,16,17
p27-32|20|0.55551|0|13|1,4,8,10,13,16,17
p27-32|20|0.56393|0|13|1,3,8,10,14,16,17
p27-32|20|0.55880|0|13|1,3,8,10,13,16,17
p27-32|20|0.55553|0|13|1,3,8,9,13,16,19
p27-32|20|0.55013|0|13|1,3,8,9,13,16,18
p27-32|20|0.55133|0|13|1,3,8,9,13,16,17
p27-32|20|0.55433|0|13|1,3,8,9,13,15,18
p27-32|20|0.56540|0|13|1,3,5,6,9,10,14,15,16,17,18
p27-32|20|0.55076|0|13|1,3,5,6,8,9,13,15,16,17,18
p27-32|20|0.55701|0|13|1,2,5,6,10,11,14,15,16,17,19
p27-32|20|0.56123|0|13|1,2,5,6,10,11,14,15,16,17,18
p27-32|20|0.55191|0|13|1,2,5,6,10,11,13,15,16,17,19
p27-32|20|0.55671|0|13|1,2,5,6,10,11,13,15,16,17,18
p27-32|20|0.55221|0|13|1,2,3,5,6,10,11,14,15,16,17,18
p27-32|20|0.57647|0|13|1,2,3,5,6,10,11,13,15,16,17,18
p27-32|20|0.56329|0|13|1,2,3,4,5,6,8,9,13,15,16,17,18,19,20
p27-32|20|0.57076|0|26|2,4,5,6,7,10,11,13,15,16,17
p27-32|20|0.56179|0|26|2,4,5,6,7,9,11,13,15,16,17
p27-32|20|0.55084|0|26|2,3,5,6,7,10,11,13,15,16,17,20
p27-32|20|0.55084|0|26|2,3,4,6,7,10,11,13,15,16,17,20
p27-32|20|0.55847|0|26|1,4,5,6,7,10,11,13,15,18,19,20
p27-32|20|0.56013|0|26|1,4,5,6,7,10,11,13,15,16,17,20
p27-32|20|0.55051|0|26|1,2,4,5,7,11,12,13
p40-53|20|0.55588|0|20|2,3,4,5,6,7,8,9,11,12,13,14,15,16,18,19,20
p40-53|20|0.58751|0|20|1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,18,19,20
p40-53|20|0.58751|0|20|1,2,3,4,5,6,7,8,10,11,12,13,14,15,16,18,19,20
p40-53|20|0.55312|0|20|1,2,3,4,5,6,7,8,9,11,12,13,14,15,16,18,19,20

File diff suppressed because it is too large Load Diff

1091
InterruptDB/index_high.html Normal file

File diff suppressed because it is too large Load Diff

195
InterruptDB/index_norm.html Normal file
View File

@@ -0,0 +1,195 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0,maximum-scale=1.0" />
<title>InterruptDB Frequency Analysis, IoC</title>
<style type="text/css">
body {
max-width: 700px;
font-family: sans-serif;
margin: 80px auto;
padding: 20px;
}
h2,h3,h4 { padding-top: 5ex; }
h3 b { font-size: 2em; }
nav {
position: fixed;
z-index: 2;
background: #222;
left: 0; right: 0; top: 0;
width: 100%;
text-align: center;
line-height: 2em;
}
nav a { padding: .5em .25em; color: #FFF; text-decoration: none; }
dt { font-weight: lighter; margin: .5em 0 }
dd span { display: block; color: #33F; }
table { width: 100%; }
td { text-align: center; font-size: 0.9em; }
h3 + table { margin-top: -4em; }
tr.rotate>th>div { width: 0px; height: 9em; word-break: keep-all; }
tr.rotate>th {
transform-origin: 0 100%;
transform: translateX(50%) translateX(9em) translateX(-1ex) rotate(-90deg);
padding-left: .5em;
}
.small { font-size: 0.9em; }
.m0, .m1, .m2, .m3, .m4, .m5 { color: #000; }
.m6, .m7, .m8, .m9, .m10, .m11, .m12, .m13, .m14, .m15 { color: #FFF; }
.m0 { background: #ffffff; } .m1 { background: #e5e5ff; } .m2 { background: #ccccff; }
.m3 { background: #b2b2ff; } .m4 { background: #9999ff; } .m5 { background: #7f7fff; }
.m6 { background: #6666ff; } .m7 { background: #4c4cff; } .m8 { background: #3232ff; }
.m9 { background: #1919ff; } .m10 { background: #0000ff; }
.m11 { background: #0000e5; } .m12 { background: #0000cc; } .m13 { background: #0000b2; }
.m14 { background: #000099; } .m15 { background: #000033; }
</style>
<script type="text/javascript">
var idx = -1;
document.addEventListener("keydown", keyDownHandler, false);
function keyDownHandler(e) {
if (e.key == "Right" || e.key == "ArrowRight") {
idx = Math.min(idx + 1, 28);
} else if (e.key == "Left" || e.key == "ArrowLeft") {
idx = Math.max(idx - 1, 0);
} else {
return;
}
location.replace('#tb-i' + idx);
}
</script>
</head>
<body>
<nav class="small">
<a href="#top">Top</a>
<a href="#reliability">Reliability</a>
<a href="#tb-i0"></a>
</nav>
<h1 id="top">IoC Analysis on Interrupts</h1>
<h2>What is this?</h2>
<p>
This database consolidates the best, aka. highest Index of Coincidence (IoC) scores, for any given interrupt considering all possible interrupt constellations. We look at the first 20 interrupts only, and try all combinations for these. But instead of looking at the whole chapter we only look at the text upto interrupt no. 21. This way we can test all the possibilities and, in case we have the right key length, find the key length with the highest probability. Since we tried all combinations for this shorter text, the complete text will be fully decrypted.
</p>
<p>
Example:
</p>
<ul>
<li>Input: ᚹᚪᚱᚾ ᚣᚩᚢ ᛁᚠ ᚣᚩᚢ ᛞᚩᚾ ᛏ ᛏᛖᛚᛚ ᛗᛖ</li>
<li>Interrupt: ᚩ</li>
<li>Interrupt-limit: 2 <small>(with a limit of 3, the full string would be considered)</small></li>
<li>IoC analysis on: ᚹᚪᚱᚾ ᚣᚩᚢ ᛁᚠ ᚣᚩᚢ ᛞ</li>
</ul>
<p>
Is it enough information though? Mostly. The three lowest examples have 349, 364, and 376 runes respectively. Meaning that, in the worst case, the frequency analysis will look at only 349 runes. For a key length of 25 it will leave only 14 runes per group. That is not very much but the best we can get. You could increase the interrupt count to 21 or 22 which would make it better but the execution time doubles<sup>1</sup> with each increment.
</p>
<p>
<small><sup>1</sup> testing 20 interrupts takes approx. 38 hours (pages 055 with all interrupt runes). Or 30 seconds for a single test.</small>
</p>
<h3 id="assumptions">Assumptions</h3>
<dl>
<dt id="a1">“Normal” english text</dt>
<dd>
IoC is based on the assumption that we know the underlying text (english) and that the text follows a normal character distribution. If the text was prepared to be extra hard to decrypt, one could have removed all letter e to make IoC pretty much useless (there are a few 100+ pages books that do exactly that).
<span>⤳ Well, let us hope we have normal texts.</span>
</dd>
<dt id="a2">Mono- and polyalphabetic substitution</dt>
<dd>
Each encrypted rune has a 1-to-1 mapping to its decrypted counterpart relative to its group. For polyalphabetic ciphers the groups are determined by cycling through different substitution alphabets. The number of groups is from now on described as key length.
<br>
It is completely irrelevant whether the encryption algorithm uses a Ceaser shift (variant), Atbash, Vigenere, or an Affine substition, as long as it is monoalphabetic (in its group), the IoC will stay the same.
<span>⤳ The results do not apply to polyphonic or polygraphic ciphers.</span>
</dd>
<dt id="a3">Single rune keys</dt>
<dd>
If a polyalphabetic cipher is used, we assume the decryption is based on this rune alone. E.g., it does not look at the neighboring rune, nor words, nor its position in the text. Further, the decryption takes only one rune as input.
<span>⤳ We can not detect bi-gram or tri-gram substitions or totient streams.</span>
</dd>
<dt id="a4">Key length</dt>
<dd>
We only consider key lengths of up to 32 runes. Longer keys will split the text too much, leaving too little data per group to analyze IoC. Even 32 is probably too high in most cases. You can see that in the results that the IoC values for longer key lengths have a tendency to be higher. Keep in mind that a key length of 30 on a text with just 300 runes will be a mere 10 runes per key group.
<br>
That said, there is still a reason for why we go up to 32 runes. Shorter keys will have, so to say, resonance frequencies. For example, a key length of 8 will have a similar IoCs for key lengths of 16 and 24 as it is just a multiple of 8.
<span>⤳ Dont focus too much on high IoC values at the upper key length limit unless it is a multiple of a shorter one.</span>
</dd>
<dt id="a5">Whitespace</dt>
<dd>
IoC does not care about whitespace, at least not in this analysis. Both, training data and LP paged were stripped of any whitespace before calculating the IoC. This means, if the given whitespace should be bogus, the IoC value would still be higher compared to other key lengths.
<span>⤳ Whitespace does not affect the results.</span>
</dd>
<dt id="a6">One cipher per chapter</dt>
<dd>
So far we assumed that each chapter (grouped by its page artwork) has exactly one cipher. Thus, each IoC is calculated based on the entire chapter rather than per page. This gives more data for frequency analysis but will fail if the chapter should have more than one cipher (or change midway).
<span>⤳ Will not detect if a chapter has multiple ciphers (e.g., one per page, sub-chapter, or line)</span>
</dd>
<dt id="a7">Order of decryption</dt>
<dd>
We assum the decryption starts at the beginning of a page. Even though this should not matter for IoC, since a mere revert would not change the frequency, it matters for the interrupt positions. Since we only look at the first X runes, the IoC of a reversed stream may be different. Further, the interrupt positions will not help you if you need to start from the back.
<span>⤳ Reverse order does not change IoC, hence this results are also applicable.</span>
</dd>
</dl>
<h3 id="reliability">Reliability</h3>
<p>
The following table shows how many runes were considered while analyzing the IoC. Low value, low confidence. The darker the color is, the higher the chances are the results are accurate. Everything below <strong>384</strong> is far from ideal (16 runes per key group for a key length of 24). Everything above <strong>812</strong> is considered reliable (29 runes per key group for a key length of 28). Hence, values less than 384 have a white background and values above 812 have a dark blue one.
</p>
<table><tr class="rotate"><th></th><th><div>p0-2</div></th><th><div>p3-7</div></th><th><div>p8-14</div></th><th><div>p15-22</div></th><th><div>p23-26</div></th><th><div>p27-32</div></th><th><div>p33-39</div></th><th><div>p40-53</div></th><th><div>p54-55</div></th><th><div>0_warning</div></th><th><div>0_welcome</div></th><th><div>0_wisdom</div></th><th><div>0_koan_1</div></th><th><div>0_loss_of_divinity</div></th><th><div>jpg107-167</div></th><th><div>jpg229</div></th><th><div>p56_an_end</div></th><th><div>p57_parable</div></th></tr>
<tr><th></th><td class="m2">419</td><td class="m9">641</td><td class="m7">594</td><td class="m4">484</td><td class="m6">537</td><td class="m2">416</td><td class="m15">815</td><td class="m3">472</td><td class="m0">308</td><td class="m0">184</td><td class="m3">465</td><td class="m0">157</td><td class="m9">652</td><td class="m13">755</td><td class="m0">319</td><td class="m0">89</td><td class="m0">85</td><td class="m0">95</td></tr>
<tr class="small"><th>Total</th><td>729</td><td>1145</td><td>1729</td><td>1903</td><td>1021</td><td>1433</td><td>1680</td><td>3008</td><td>308</td><td>184</td><td>515</td><td>157</td><td>780</td><td>755</td><td>319</td><td>89</td><td>85</td><td>95</td></tr>
</table>
<h2>IoC per interrupt</h2>
<p>
Lets look at the first result. Assuming the interrupt rune is ᚠ, we get the following table. Notice that the column in p56_an_end has a few dark values, even though the used cipher is a totient function (which will not be detected as of assumption <a href="#assumptions">#2</a>). If you look back at the <a href="#reliability">previous table</a>, you will see that the whole chapter only has 85 runes. Even for a key length of 6 the runes per group is only 14 runes. It is just too little data to perform IoC and so it will contain false positives.
</p>
<p>
Next, if you look at the 0_welcome column you will see peaks at key lengths 8, 16, and 24. The solution to this page was a 8-length vigenere key. This is a very typical pattern for such ciphers. Note, the last peak at 30 is due to the long key length. 465 / 30 is just 15.5 runes per group. So, IoC has more freedom to “optimize” the key and thus you should stop looking too much into higher value key lengths. Everything above 24 is not that reliable anymore.
</p>
<p>
<small>P.S.: you can use the left and right keys to navigate between the interrupts. Or the navigation at the top.</small>
</p>
<h3 id="tb-i0">Interrupt 0: <b></b></h3><table><tr class="rotate"><th></th><th><div>p0-2</div></th><th><div>p3-7</div></th><th><div>p8-14</div></th><th><div>p15-22</div></th><th><div>p23-26</div></th><th><div>p27-32</div></th><th><div>p33-39</div></th><th><div>p40-53</div></th><th><div>p54-55</div></th><th><div>0_warning</div></th><th><div>0_welcome</div></th><th><div>0_wisdom</div></th><th><div>0_koan_1</div></th><th><div>0_loss_of_divinity</div></th><th><div>jpg107-167</div></th><th><div>jpg229</div></th><th><div>p56_an_end</div></th><th><div>p57_parable</div></th></tr>
<tr><th>1</th><td class="m0">0.25</td><td class="m0">0.26</td><td class="m0">0.25</td><td class="m0">0.26</td><td class="m0">0.24</td><td class="m0">0.25</td><td class="m0">0.24</td><td class="m0">0.25</td><td class="m0">0.24</td><td class="m13">0.92</td><td class="m2">0.46</td><td class="m11">0.83</td><td class="m11">0.82</td><td class="m15">1.00</td><td class="m0">0.39</td><td class="m14">0.96</td><td class="m0">0.20</td><td class="m14">0.96</td></tr>
<tr><th>2</th><td class="m0">0.32</td><td class="m0">0.30</td><td class="m0">0.30</td><td class="m0">0.31</td><td class="m0">0.28</td><td class="m0">0.32</td><td class="m0">0.26</td><td class="m0">0.31</td><td class="m0">0.26</td><td class="m12">0.89</td><td class="m6">0.64</td><td class="m12">0.86</td><td class="m11">0.85</td><td class="m15">1.00</td><td class="m0">0.38</td><td class="m12">0.88</td><td class="m1">0.41</td><td class="m10">0.80</td></tr>
<tr><th>3</th><td class="m0">0.37</td><td class="m0">0.35</td><td class="m0">0.30</td><td class="m0">0.34</td><td class="m0">0.30</td><td class="m0">0.34</td><td class="m0">0.27</td><td class="m0">0.35</td><td class="m0">0.30</td><td class="m6">0.65</td><td class="m5">0.57</td><td class="m12">0.88</td><td class="m12">0.87</td><td class="m15">1.00</td><td class="m1">0.42</td><td class="m7">0.66</td><td class="m1">0.43</td><td class="m11">0.84</td></tr>
<tr><th>4</th><td class="m0">0.36</td><td class="m0">0.32</td><td class="m0">0.33</td><td class="m0">0.35</td><td class="m0">0.31</td><td class="m0">0.36</td><td class="m0">0.28</td><td class="m0">0.36</td><td class="m0">0.33</td><td class="m13">0.91</td><td class="m12">0.86</td><td class="m13">0.91</td><td class="m12">0.88</td><td class="m15">0.98</td><td class="m0">0.37</td><td class="m7">0.68</td><td class="m2">0.46</td><td class="m12">0.88</td></tr>
<tr><th>5</th><td class="m0">0.39</td><td class="m0">0.35</td><td class="m0">0.35</td><td class="m1">0.40</td><td class="m0">0.32</td><td class="m0">0.34</td><td class="m0">0.30</td><td class="m1">0.42</td><td class="m0">0.29</td><td class="m10">0.78</td><td class="m5">0.58</td><td class="m11">0.83</td><td class="m13">0.91</td><td class="m14">0.97</td><td class="m1">0.42</td><td class="m10">0.80</td><td class="m2">0.45</td><td class="m10">0.77</td></tr>
<tr><th>6</th><td class="m0">0.39</td><td class="m0">0.35</td><td class="m0">0.35</td><td class="m1">0.41</td><td class="m0">0.33</td><td class="m0">0.40</td><td class="m0">0.28</td><td class="m0">0.39</td><td class="m0">0.33</td><td class="m4">0.54</td><td class="m8">0.72</td><td class="m11">0.83</td><td class="m12">0.89</td><td class="m14">0.95</td><td class="m1">0.41</td><td class="m0">0.39</td><td class="m1">0.41</td><td class="m6">0.64</td></tr>
<tr><th>7</th><td class="m3">0.49</td><td class="m0">0.35</td><td class="m0">0.38</td><td class="m0">0.39</td><td class="m0">0.35</td><td class="m0">0.36</td><td class="m0">0.32</td><td class="m1">0.41</td><td class="m0">0.29</td><td class="m10">0.78</td><td class="m6">0.62</td><td class="m10">0.77</td><td class="m13">0.91</td><td class="m14">0.95</td><td class="m1">0.42</td><td class="m10">0.81</td><td class="m0">0.38</td><td class="m6">0.61</td></tr>
<tr><th>8</th><td class="m0">0.39</td><td class="m0">0.37</td><td class="m0">0.36</td><td class="m1">0.43</td><td class="m0">0.35</td><td class="m0">0.36</td><td class="m0">0.31</td><td class="m0">0.40</td><td class="m2">0.48</td><td class="m8">0.71</td><td class="m13">0.90</td><td class="m9">0.77</td><td class="m13">0.92</td><td class="m13">0.94</td><td class="m1">0.41</td><td class="m0">0.21</td><td class="m1">0.43</td><td class="m0">0.36</td></tr>
<tr><th>9</th><td class="m2">0.47</td><td class="m1">0.43</td><td class="m0">0.33</td><td class="m0">0.35</td><td class="m0">0.38</td><td class="m2">0.44</td><td class="m0">0.32</td><td class="m1">0.40</td><td class="m0">0.28</td><td class="m3">0.51</td><td class="m6">0.64</td><td class="m8">0.70</td><td class="m13">0.91</td><td class="m12">0.89</td><td class="m3">0.49</td><td class="m0">0.18</td><td class="m0">0.25</td><td class="m3">0.50</td></tr>
<tr><th>10</th><td class="m2">0.44</td><td class="m0">0.38</td><td class="m0">0.39</td><td class="m2">0.45</td><td class="m0">0.38</td><td class="m0">0.38</td><td class="m0">0.32</td><td class="m4">0.54</td><td class="m0">0.32</td><td class="m6">0.63</td><td class="m6">0.63</td><td class="m5">0.61</td><td class="m14">0.96</td><td class="m12">0.90</td><td class="m1">0.42</td><td class="m2">0.47</td><td class="m0">0.33</td><td class="m4">0.53</td></tr>
<tr><th>11</th><td class="m3">0.52</td><td class="m0">0.39</td><td class="m1">0.43</td><td class="m1">0.43</td><td class="m0">0.37</td><td class="m1">0.41</td><td class="m0">0.34</td><td class="m1">0.44</td><td class="m0">0.29</td><td class="m1">0.44</td><td class="m6">0.62</td><td class="m3">0.50</td><td class="m13">0.92</td><td class="m13">0.90</td><td class="m1">0.41</td><td class="m0">0.23</td><td class="m0">0.19</td><td class="m0">0.34</td></tr>
<tr><th>12</th><td class="m3">0.52</td><td class="m2">0.44</td><td class="m0">0.39</td><td class="m3">0.52</td><td class="m1">0.40</td><td class="m2">0.47</td><td class="m0">0.30</td><td class="m3">0.51</td><td class="m0">0.35</td><td class="m5">0.57</td><td class="m8">0.73</td><td class="m8">0.72</td><td class="m12">0.89</td><td class="m12">0.87</td><td class="m0">0.30</td><td class="m0"></td><td class="m0">0.18</td><td class="m0">0.08</td></tr>
<tr><th>13</th><td class="m2">0.45</td><td class="m1">0.43</td><td class="m0">0.39</td><td class="m2">0.48</td><td class="m1">0.41</td><td class="m5">0.58</td><td class="m0">0.35</td><td class="m2">0.47</td><td class="m0">0.33</td><td class="m0">0.24</td><td class="m4">0.55</td><td class="m4">0.56</td><td class="m13">0.91</td><td class="m12">0.86</td><td class="m9">0.74</td><td class="m0">0.02</td><td class="m0">0.40</td><td class="m0"></td></tr>
<tr><th>14</th><td class="m5">0.57</td><td class="m0">0.38</td><td class="m2">0.44</td><td class="m1">0.42</td><td class="m3">0.50</td><td class="m2">0.47</td><td class="m0">0.33</td><td class="m2">0.44</td><td class="m0">0.31</td><td class="m3">0.49</td><td class="m8">0.70</td><td class="m3">0.50</td><td class="m12">0.90</td><td class="m11">0.84</td><td class="m0">0.36</td><td class="m0"></td><td class="m0"></td><td class="m0">0.18</td></tr>
<tr><th>15</th><td class="m3">0.50</td><td class="m2">0.45</td><td class="m0">0.39</td><td class="m1">0.43</td><td class="m2">0.46</td><td class="m3">0.51</td><td class="m0">0.38</td><td class="m3">0.51</td><td class="m0">0.30</td><td class="m0">0.16</td><td class="m6">0.65</td><td class="m0">0.24</td><td class="m13">0.93</td><td class="m11">0.85</td><td class="m0">0.31</td><td class="m0"></td><td class="m0"></td><td class="m0"></td></tr>
<tr><th>16</th><td class="m2">0.44</td><td class="m2">0.47</td><td class="m0">0.40</td><td class="m2">0.45</td><td class="m2">0.45</td><td class="m2">0.46</td><td class="m0">0.37</td><td class="m2">0.47</td><td class="m3">0.49</td><td class="m0">0.18</td><td class="m9">0.75</td><td class="m0">0.24</td><td class="m12">0.89</td><td class="m11">0.83</td><td class="m0">0.32</td><td class="m0"></td><td class="m0"></td><td class="m0"></td></tr>
<tr><th>17</th><td class="m4">0.56</td><td class="m1">0.42</td><td class="m3">0.49</td><td class="m2">0.46</td><td class="m3">0.48</td><td class="m2">0.47</td><td class="m0">0.38</td><td class="m1">0.43</td><td class="m0">0.33</td><td class="m1">0.40</td><td class="m8">0.72</td><td class="m0">0.28</td><td class="m12">0.88</td><td class="m11">0.82</td><td class="m0">0.39</td><td class="m0"></td><td class="m0"></td><td class="m0"></td></tr>
<tr><th>18</th><td class="m3">0.50</td><td class="m2">0.45</td><td class="m2">0.45</td><td class="m1">0.42</td><td class="m1">0.42</td><td class="m4">0.54</td><td class="m0">0.37</td><td class="m3">0.51</td><td class="m0">0.38</td><td class="m0">0.05</td><td class="m7">0.66</td><td class="m0">0.29</td><td class="m12">0.89</td><td class="m10">0.78</td><td class="m0">0.38</td><td class="m0"></td><td class="m0"></td><td class="m0"></td></tr>
<tr><th>19</th><td class="m3">0.49</td><td class="m0">0.38</td><td class="m0">0.39</td><td class="m2">0.48</td><td class="m3">0.51</td><td class="m3">0.50</td><td class="m0">0.40</td><td class="m1">0.40</td><td class="m0">0.31</td><td class="m0"></td><td class="m7">0.66</td><td class="m0">0.15</td><td class="m12">0.87</td><td class="m11">0.83</td><td class="m0">0.34</td><td class="m0"></td><td class="m0"></td><td class="m0"></td></tr>
<tr><th>20</th><td class="m3">0.49</td><td class="m2">0.46</td><td class="m2">0.44</td><td class="m2">0.46</td><td class="m2">0.45</td><td class="m2">0.45</td><td class="m0">0.37</td><td class="m5">0.59</td><td class="m0">0.27</td><td class="m0">0.22</td><td class="m6">0.64</td><td class="m0">0.28</td><td class="m12">0.88</td><td class="m11">0.85</td><td class="m2">0.45</td><td class="m0"></td><td class="m0"></td><td class="m0"></td></tr>
<tr><th>21</th><td class="m4">0.56</td><td class="m0">0.39</td><td class="m1">0.42</td><td class="m2">0.45</td><td class="m2">0.44</td><td class="m3">0.49</td><td class="m0">0.35</td><td class="m3">0.51</td><td class="m0">0.38</td><td class="m0">0.07</td><td class="m6">0.63</td><td class="m0">0.10</td><td class="m12">0.86</td><td class="m10">0.80</td><td class="m1">0.41</td><td class="m0"></td><td class="m0"></td><td class="m0"></td></tr>
<tr><th>22</th><td class="m3">0.51</td><td class="m2">0.47</td><td class="m4">0.53</td><td class="m1">0.43</td><td class="m1">0.40</td><td class="m2">0.48</td><td class="m1">0.41</td><td class="m2">0.45</td><td class="m0">0.33</td><td class="m0"></td><td class="m6">0.61</td><td class="m0">0.35</td><td class="m12">0.86</td><td class="m11">0.81</td><td class="m0">0.35</td><td class="m0"></td><td class="m0"></td><td class="m0"></td></tr>
<tr><th>23</th><td class="m3">0.52</td><td class="m2">0.45</td><td class="m2">0.48</td><td class="m1">0.43</td><td class="m1">0.43</td><td class="m3">0.50</td><td class="m0">0.40</td><td class="m3">0.50</td><td class="m0">0.31</td><td class="m0">0.26</td><td class="m5">0.59</td><td class="m0"></td><td class="m11">0.85</td><td class="m8">0.73</td><td class="m0">0.26</td><td class="m0"></td><td class="m0"></td><td class="m0"></td></tr>
<tr><th>24</th><td class="m3">0.48</td><td class="m3">0.49</td><td class="m2">0.45</td><td class="m3">0.49</td><td class="m2">0.45</td><td class="m2">0.47</td><td class="m1">0.40</td><td class="m2">0.47</td><td class="m1">0.41</td><td class="m0"></td><td class="m7">0.65</td><td class="m0">0.37</td><td class="m11">0.84</td><td class="m9">0.75</td><td class="m0">0.32</td><td class="m0"></td><td class="m0"></td><td class="m0"></td></tr>
<tr><th>25</th><td class="m2">0.47</td><td class="m3">0.49</td><td class="m2">0.45</td><td class="m2">0.48</td><td class="m2">0.44</td><td class="m4">0.54</td><td class="m1">0.42</td><td class="m3">0.51</td><td class="m0">0.27</td><td class="m0"></td><td class="m5">0.60</td><td class="m0">0.05</td><td class="m11">0.83</td><td class="m10">0.77</td><td class="m0">0.19</td><td class="m0"></td><td class="m0"></td><td class="m0"></td></tr>
<tr><th>26</th><td class="m1">0.41</td><td class="m3">0.52</td><td class="m1">0.44</td><td class="m2">0.45</td><td class="m3">0.51</td><td class="m5">0.59</td><td class="m0">0.38</td><td class="m3">0.49</td><td class="m0">0.27</td><td class="m0"></td><td class="m5">0.57</td><td class="m0">0.06</td><td class="m11">0.82</td><td class="m8">0.73</td><td class="m5">0.57</td><td class="m0"></td><td class="m0"></td><td class="m0"></td></tr>
<tr><th>27</th><td class="m2">0.45</td><td class="m3">0.49</td><td class="m2">0.45</td><td class="m1">0.40</td><td class="m1">0.43</td><td class="m1">0.41</td><td class="m0">0.38</td><td class="m4">0.54</td><td class="m0">0.21</td><td class="m0"></td><td class="m6">0.63</td><td class="m0"></td><td class="m11">0.82</td><td class="m8">0.72</td><td class="m0">0.32</td><td class="m0"></td><td class="m0"></td><td class="m0"></td></tr>
<tr><th>28</th><td class="m2">0.47</td><td class="m1">0.42</td><td class="m1">0.43</td><td class="m1">0.43</td><td class="m2">0.45</td><td class="m1">0.42</td><td class="m0">0.36</td><td class="m2">0.46</td><td class="m0">0.22</td><td class="m0">0.07</td><td class="m5">0.60</td><td class="m0"></td><td class="m9">0.76</td><td class="m8">0.69</td><td class="m0">0.16</td><td class="m0"></td><td class="m0"></td><td class="m0"></td></tr>
<tr><th>29</th><td class="m2">0.46</td><td class="m1">0.41</td><td class="m2">0.47</td><td class="m1">0.41</td><td class="m2">0.45</td><td class="m1">0.42</td><td class="m3">0.49</td><td class="m1">0.43</td><td class="m0">0.28</td><td class="m0"></td><td class="m5">0.58</td><td class="m0"></td><td class="m10">0.81</td><td class="m8">0.69</td><td class="m0">0.29</td><td class="m0"></td><td class="m0"></td><td class="m0"></td><tr><th>30</th><td class="m2">0.45</td><td class="m3">0.50</td><td class="m2">0.44</td><td class="m1">0.42</td><td class="m1">0.44</td><td class="m2">0.45</td><td class="m1">0.41</td><td class="m2">0.48</td><td class="m0">0.21</td><td class="m0"></td><td class="m6">0.61</td><td class="m0"></td><td class="m10">0.81</td><td class="m8">0.69</td><td class="m0">0.32</td><td class="m0"></td><td class="m0"></td><td class="m0"></td><tr><th>31</th><td class="m0">0.39</td><td class="m1">0.44</td><td class="m2">0.46</td><td class="m0">0.40</td><td class="m3">0.50</td><td class="m2">0.47</td><td class="m0">0.37</td><td class="m1">0.44</td><td class="m0">0.18</td><td class="m0"></td><td class="m3">0.52</td><td class="m0"></td><td class="m9">0.76</td><td class="m8">0.70</td><td class="m0">0.18</td><td class="m0"></td><td class="m0"></td><td class="m0"></td><tr><th>32</th><td class="m1">0.41</td><td class="m2">0.48</td><td class="m3">0.51</td><td class="m1">0.41</td><td class="m2">0.47</td><td class="m2">0.46</td><td class="m0">0.38</td><td class="m1">0.44</td><td class="m0">0.30</td><td class="m0"></td><td class="m3">0.50</td><td class="m0"></td><td class="m10">0.79</td><td class="m7">0.68</td><td class="m0">0.14</td><td class="m0"></td><td class="m0"></td><td class="m0"></td><tr class="small"><th>best</th><td>14</td><td>26</td><td>22</td><td>12</td><td>26</td><td>26</td><td>29</td><td>20</td><td>16</td><td>1</td><td>8</td><td>4</td><td>10</td><td>1</td><td>13</td><td>1</td><td>4</td><td>1</td></tr>
</table>
<h2>Whats next?</h2>
<p>
Things to try:
</p>
<ul>
<li>Use different IoC metrics. E.g., remove e from alphabet and recalculate coincidence.</li>
<li>Split text into two (alternating) parts and test each part separately on different key lengths.</li>
<li>Not sure if it makes sense to analyze bigrams and trigrams in this case but feel free to try.</li>
</ul>
</body>
</html>

View File

@@ -7,7 +7,6 @@ from InterruptDB import InterruptDB
RUNES = 'ᚠᚢᚦᚩᚱᚳᚷᚹᚻᚾᛁᛄᛇᛈᛉᛋᛏᛒᛖᛗᛚᛝᛟᛞᚪᚫᚣᛡᛠ'
INVERT = False
IOC_MIN_SCORE = 1.3
KEY_MAX_SCORE = 0.05
AFF_MAX_SCORE = 0.04
IRP_F_ONLY = False
@@ -45,9 +44,10 @@ def break_cipher(fname, candidates, solver, key_fn):
key_score, key = key_fn(testcase).guess(kl, fn_similarity)
if key_score > key_max_score:
continue
print(f' key_score: {key_score:.4f}, {key}')
prio = (1 - key_score) * max(0, score)
print(f' key_score: {prio:.4f}, {key}')
print(' skip:', skips)
txtname = f'{key_fn.__name__}.{key_score:.4f}_{fname}_{kl}.{irp}'
txtname = f'{fname}_{prio:.4f}.{key_fn.__name__}.{irp}_{kl}'
if INVERT:
txtname += '.inv'
while txtname in session_files:
@@ -55,7 +55,8 @@ def break_cipher(fname, candidates, solver, key_fn):
session_files.append(txtname)
outfile = f'out/{txtname}.txt'
with open(outfile, 'w') as f:
f.write(f'{irp}, {kl}, {score:.4f}, {key}, {skips}\n')
f.write(
f'{irp}, {kl}, {score:.4f}, {key_score:.4f}, {key}, {skips}\n')
slvr.output.file_output = outfile
slvr.INTERRUPT = RUNES[irp]
slvr.INTERRUPT_POS = skips
@@ -66,7 +67,9 @@ def break_cipher(fname, candidates, solver, key_fn):
#########################################
# main
#########################################
db = InterruptDB.load() # 'db_secondary'
db = InterruptDB.load('db_norm')
# IOC_MIN_SCORE = 1.4 # for db_high
IOC_MIN_SCORE = 0.55 # for db_norm
for fname in [
'p0-2', # ???