summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cyganie.py91
-rw-r--r--movements.json485
2 files changed, 576 insertions, 0 deletions
diff --git a/cyganie.py b/cyganie.py
new file mode 100644
index 0000000..7d4a4f5
--- /dev/null
+++ b/cyganie.py
@@ -0,0 +1,91 @@
+#!/usr/bin/env python
+# coding=utf-8
+
+import json, random, sys
+from operator import add
+from collections import Counter
+
+movements = json.load(open('movements.json'))
+
+movement = movements[sys.argv[1]]
+
+gypsy_limit = int(sys.argv[2]) if len(sys.argv) > 2 else 7
+gypsy_dist = [1]*gypsy_limit + [0]*(movement['tables']*4-gypsy_limit)
+
+samples = int(sys.argv[3]) if len(sys.argv) > 3 else 50
+
+gypsy_transformation = {'00': '00',
+ '01': '10',
+ '10': '01',
+ '11': '11',
+ '02': '20',
+ '20': '02',
+ '12': '21',
+ '21': '12',
+ '22': '22'}
+poverty_probability = {'00': 0.0,
+ '01': 0.0,
+ '10': 0.0,
+ '11': 0.5,
+ '02': 0.0,
+ '20': 0.0,
+ '12': 1.0,
+ '21': 1.0,
+ '22': 1.0}
+
+def position_to_index(position):
+ letter = position[-1]
+ position = filter(lambda x: x.isdigit(), position)
+ return (int(position) - 1) * 2 + (0 if letter == 'N' else 1)
+
+cumulative_poverties = [0] * movement['tables']
+cumulative_pairs_histogram = []
+
+for s in range(samples):
+ print >> sys.stderr, 'Iteration #' + str(s)
+ cumulative_pairs = [0] * (movement['tables'] * 2)
+ positions = map(lambda no: no-1, movement['positions'])
+ rotation = map(position_to_index, movement['movement'])
+ poverties = [0] * movement['tables']
+
+ random.shuffle(gypsy_dist)
+ pairs = map(sum, zip(gypsy_dist[0::2], gypsy_dist[1::2]))
+
+ for round in range(movement['rounds']+1):
+ gypsy_pairs = map(lambda pair: pairs[pair], positions)
+ tables = map(lambda pair: ''.join(map(lambda p: str(p), pair)), zip(gypsy_pairs[0::2], gypsy_pairs[1::2]))
+ poverties = map(lambda t: int(random.random() < poverty_probability[t]), tables)
+ if round > 0:
+ cumulative_poverties = map(add, cumulative_poverties, poverties)
+ print >> sys.stderr, 'round ' + str(round)
+ print >> sys.stderr, ' '.join(tables)
+ if round > 0:
+ print >> sys.stderr, ' '.join([' *' if p else ' ' for p in poverties])
+ tables = map(lambda t: gypsy_transformation[t], tables)
+ print >> sys.stderr, ' '.join(tables)
+ table_gypsies = map(int, ''.join(tables))
+ for index, gypsies in enumerate(table_gypsies):
+ pairs[positions[index]] = gypsies
+ if round > 0:
+ cumulative_pairs = map(add, cumulative_pairs, pairs)
+ if round > 0:
+ new_positions = [-1] * len(positions)
+ for index, position in enumerate(rotation):
+ new_positions[position] = positions[rotation[index-1 % len(rotation)]]
+ for index, position in enumerate(new_positions):
+ if position == -1:
+ new_positions[index] = positions[index]
+ positions = new_positions
+ cumulative_pairs_histogram += cumulative_pairs
+ print >> sys.stderr, '---'
+
+print 'Bieda na stole:'
+poverties_sum = sum(cumulative_poverties)
+for table, pov in enumerate(cumulative_poverties):
+ print '{:>3d} ({:>5d})'.format(table+1, pov), '#' * (100 * pov / poverties_sum)
+
+print 'Liczba par wg cyganorund w turnieju:'
+pairs_sum = sum(cumulative_pairs_histogram)
+cumulative_pairs_histogram = Counter(cumulative_pairs_histogram)
+for key in sorted(cumulative_pairs_histogram.keys()):
+ print '{:>3d} ({:>5d})'.format(key, cumulative_pairs_histogram[key]), '#' * (100 * cumulative_pairs_histogram[key] / pairs_sum)
diff --git a/movements.json b/movements.json
new file mode 100644
index 0000000..d9c4966
--- /dev/null
+++ b/movements.json
@@ -0,0 +1,485 @@
+{
+ "4-7": {
+ "tables": 4,
+ "rounds": 7,
+ "sets": [1, 2, 3, 0, 4, 0, 0],
+ "movement": ["3E", "4E", "2N", "2E", "4N", "3N", "1E"],
+ "positions": [8, 1, 5, 4, 2, 7, 3, 6]
+ },
+ "5-7": {
+ "tables": 5,
+ "rounds": 7,
+ "sets": [1, 2, 3, 4, 5, 0, 0],
+ "movement": ["4E", "2N", "3E", "5N", "2E", "4N", "1E"],
+ "positions": [10, 1, 6, 3, 9, 5, 2, 7, 4, 8]
+ },
+ "6-8": {
+ "tables": 6,
+ "rounds": 8,
+ "sets": [1, 2, 3, 4, 5, 6, 0, 0],
+ "movement": ["6E", "3N", "5E", "2N", "5N", "6N", "4E", "1E"],
+ "positions": [12, 1, 5, 11, 7, 10, 9, 2, 4, 6, 3, 8]
+ },
+ "5-9": {
+ "tables": 5,
+ "rounds": 9,
+ "sets": [1, 2, 3, 4, 5, 0, 0, 0, 0],
+ "movement": ["4E", "4N", "1E", "5N", "2E", "5E", "1N", "2N", "3E"],
+ "positions": [3, 7, 2, 5, 10, 1, 8, 9, 6, 4]
+ },
+ "6-9": {
+ "tables": 6,
+ "rounds": 9,
+ "sets": [1, 2, 3, 4, 5, 6, 0, 0, 0],
+ "movement": ["2N", "2E", "4N", "1E", "3E", "5E", "3N", "1N", "6E"],
+ "positions": [2, 6, 9, 8, 3, 5, 7, 12, 11, 4, 10, 1]
+ },
+ "7-9": {
+ "tables": 7,
+ "rounds": 9,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 0, 0],
+ "movement": ["4N", "2N", "5N", "3N", "6E", "3E", "5E", "7E", "1E"],
+ "positions": [14, 1, 8, 13, 6, 4, 9, 12, 7, 3, 11, 5, 10, 2]
+ },
+ "6-10": {
+ "tables": 6,
+ "rounds": 10,
+ "sets": [1, 0, 2, 0, 0, 3, 4, 5, 6, 0],
+ "movement": ["5N", "5E", "2E", "6E", "2N", "3N", "4N", "6N", "3E", "1E"],
+ "positions": [12, 1, 6, 8, 5, 2, 4, 11, 10, 9, 3, 7]
+ },
+ "7-10": {
+ "tables": 7,
+ "rounds": 10,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 0, 0, 0],
+ "movement": ["7N", "5E", "2N", "2E", "4N", "6N", "3N", "6E", "4E", "1E"],
+ "positions": [14, 1, 8, 7, 4, 13, 6, 2, 12, 9, 5, 3, 10, 11]
+ },
+ "8-10": {
+ "tables": 8,
+ "rounds": 10,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 0, 0],
+ "movement": ["8N", "6E", "2N", "3E", "5E", "6N", "7N", "8E", "4N", "1E"],
+ "positions": [16, 1, 8, 15, 14, 7, 2, 13, 12, 6, 5, 9, 4, 11, 10, 3]
+ },
+ "6-11": {
+ "tables": 6,
+ "rounds": 11,
+ "sets": [1, 0, 2, 0, 0, 0, 3, 4, 5, 0, 6],
+ "movement": ["2E", "5N", "3E", "5E", "6E", "2N", "3N", "6N", "4E", "4N", "1E"],
+ "positions": [12, 1, 6, 11, 5, 9, 2, 3, 10, 8, 4, 7]
+ },
+ "7-11": {
+ "tables": 7,
+ "rounds": 11,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 0, 0, 0, 0],
+ "movement": ["6N", "3E", "3N", "7N", "4N", "2E", "7E", "2N", "4E", "5N", "1E"],
+ "positions": [14, 1, 4, 6, 9, 10, 7, 3, 2, 13, 11, 12, 8, 5]
+ },
+ "8-11": {
+ "tables": 8,
+ "rounds": 11,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0],
+ "movement": ["3E", "4N", "5N", "5E", "6E", "8E", "6N", "2N", "7E", "8N", "1E"],
+ "positions": [16, 1, 4, 15, 14, 11, 10, 13, 9, 8, 5, 7, 12, 3, 2, 6]
+ },
+ "9-11": {
+ "tables": 9,
+ "rounds": 11,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0],
+ "movement": ["3N", "4N", "5N", "6E", "6N", "7E", "2E", "8N", "9E", "4E", "1E"],
+ "positions": [18, 1, 17, 5, 11, 16, 10, 2, 9, 15, 7, 8, 14, 6, 4, 13, 12, 3]
+ },
+ "7-12": {
+ "tables": 7,
+ "rounds": 12,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 0, 0, 0, 0, 0],
+ "movement": ["4N", "5E", "5N", "2N", "6E", "3N", "7N", "2E", "3E", "6N", "4E", "1E"],
+ "positions": [14, 1, 9, 5, 7, 4, 12, 2, 10, 11, 3, 8, 6, 13]
+ },
+ "8-12": {
+ "tables": 8,
+ "rounds": 12,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0],
+ "movement": ["7N", "2E", "6N", "3N", "5E", "8E", "4E", "4N", "8N", "5N", "7E", "1E"],
+ "positions": [16, 1, 15, 11, 9, 14, 5, 6, 3, 8, 10, 13, 12, 2, 4, 7]
+ },
+ "9-12": {
+ "tables": 9,
+ "rounds": 12,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0],
+ "movement": ["2N", "7E", "4E", "8N", "3E", "5N", "3N", "8E", "9E", "4N", "6N", "1E"],
+ "positions": [18, 1, 12, 17, 6, 8, 3, 10, 7, 16, 2, 15, 14, 11, 9, 5, 13, 4]
+ },
+ "10-12": {
+ "tables": 10,
+ "rounds": 12,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 0],
+ "movement": ["5N", "10N", "2E", "3E", "6N", "3N", "8E", "2N", "7E", "4N", "9E", "1E"],
+ "positions": [20, 1, 5, 10, 7, 9, 3, 19, 12, 18, 8, 17, 16, 4, 15, 6, 14, 2, 11, 13]
+ },
+ "7-13": {
+ "tables": 7,
+ "rounds": 13,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 0, 0, 0, 0, 0, 0],
+ "movement": ["5E", "1E", "6E", "3E", "3N", "5N", "6N", "7N", "1N", "2E", "7E", "2N", "4E"],
+ "positions": [5, 12, 2, 4, 9, 10, 14, 1, 8, 13, 7, 11, 6, 3]
+ },
+ "8-13": {
+ "tables": 8,
+ "rounds": 13,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0],
+ "movement": ["3N", "6E", "3E", "5E", "5N", "7E", "4N", "8E", "6N", "2E", "7N", "8N", "1E"],
+ "positions": [16, 1, 15, 4, 13, 11, 7, 14, 9, 10, 5, 12, 3, 8, 2, 6]
+ },
+ "9-13": {
+ "tables": 9,
+ "rounds": 13,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0],
+ "movement": ["5E", "2N", "8E", "4E", "5N", "3N", "6E", "7E", "3E", "8N", "9N", "4N", "1E"],
+ "positions": [18, 1, 12, 17, 8, 5, 2, 10, 9, 13, 16, 7, 15, 6, 4, 11, 3, 14]
+ },
+ "10-13": {
+ "tables": 10,
+ "rounds": 13,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 0, 0],
+ "movement": ["4N", "6E", "8N", "9N", "10N", "3N", "5N", "2N", "8E", "10E", "5E", "7E", "1E"],
+ "positions": [20, 1, 6, 19, 8, 18, 13, 17, 7, 3, 16, 12, 15, 2, 11, 5, 10, 14, 9, 4]
+ },
+ "11-13": {
+ "tables": 11,
+ "rounds": 13,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 0],
+ "movement": ["6N", "11N", "8E", "2E", "3N", "4E", "5N", "7N", "9E", "7E", "5E", "10N", "1E"],
+ "positions": [22, 1, 21, 10, 9, 20, 19, 8, 7, 3, 13, 18, 6, 4, 17, 11, 16, 5, 2, 15, 12, 14]
+ },
+ "8-14": {
+ "tables": 8,
+ "rounds": 14,
+ "sets": [1, 2, 3, 4, 5, 0, 6, 7, 8, 0, 0, 0, 0, 0],
+ "movement": ["3N", "4E", "5N", "6N", "5E", "3E", "8N", "4N", "7N", "8E", "2E", "2N", "7E", "1E"],
+ "positions": [16, 1, 3, 4, 14, 9, 7, 13, 12, 10, 11, 15, 6, 2, 8, 5]
+ },
+ "9-14": {
+ "tables": 9,
+ "rounds": 14,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0],
+ "movement": ["6E", "4E", "7E", "8E", "3N", "5E", "2N", "9N", "5N", "3E", "7N", "4N", "6N", "1E"],
+ "positions": [18, 1, 8, 17, 10, 5, 3, 13, 6, 9, 2, 14, 4, 12, 16, 11, 7, 15]
+ },
+ "10-14": {
+ "tables": 10,
+ "rounds": 14,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 0, 0, 0],
+ "movement": ["9N", "4N", "6N", "10E", "2N", "7N", "5E", "3E", "10N", "8N", "6E", "4E", "9E", "1E"],
+ "positions": [20, 1, 10, 19, 18, 7, 13, 3, 17, 8, 12, 4, 9, 16, 5, 15, 14, 2, 6, 11]
+ },
+ "11-14": {
+ "tables": 11,
+ "rounds": 14,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0],
+ "movement": ["2N", "6E", "10N", "10E", "4E", "5N", "3E", "8N", "11E", "2E", "7N", "9N", "6N", "1E"],
+ "positions": [22, 1, 14, 5, 21, 8, 20, 10, 9, 19, 2, 13, 4, 18, 7, 17, 3, 16, 12, 11, 15, 6]
+ },
+ "12-14": {
+ "tables": 12,
+ "rounds": 14,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0],
+ "movement": ["12N", "9E", "9N", "3N", "4E", "2N", "7N", "10E", "11E", "6N", "8E", "5E", "11N", "1E"],
+ "positions": [24, 1, 9, 23, 11, 22, 21, 10, 20, 3, 5, 19, 8, 18, 17, 4, 12, 13, 16, 7, 2, 6, 14, 15]
+ },
+ "8-15": {
+ "tables": 8,
+ "rounds": 15,
+ "sets": [1, 2, 3, 4, 5, 6, 0, 7, 8, 0, 0, 0, 0, 0, 0],
+ "movement": ["6N", "2N", "7N", "5E", "3N", "4N", "5N", "8N", "8E", "4E", "2E", "3E", "7E", "6E", "1E"],
+ "positions": [16, 1, 14, 5, 11, 4, 10, 6, 9, 12, 15, 2, 13, 3, 8, 7]
+ },
+ "9-15": {
+ "tables": 9,
+ "rounds": 15,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0],
+ "movement": ["4N", "9E", "7N", "2N", "3E", "3N", "5E", "6E", "8N", "5N", "2E", "7E", "9N", "4E", "1E"],
+ "positions": [18, 1, 12, 5, 10, 11, 15, 2, 6, 9, 17, 8, 13, 4, 7, 16, 3, 14]
+ },
+ "10-15": {
+ "tables": 10,
+ "rounds": 15,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 0, 0, 0, 0],
+ "movement": ["3E", "8N", "6E", "2N", "3N", "6N", "4N", "5N", "5E", "7N", "9N", "10E", "2E", "4E", "1E"],
+ "positions": [20, 1, 12, 3, 11, 15, 9, 2, 8, 7, 10, 13, 6, 19, 14, 18, 5, 17, 16, 4]
+ },
+ "11-15": {
+ "tables": 11,
+ "rounds": 15,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 0],
+ "movement": ["9E", "10N", "4N", "2N", "6E", "3E", "7N", "5E", "11N", "8N", "8E", "11E", "2E", "3N", "1E"],
+ "positions": [22, 1, 12, 3, 2, 10, 13, 21, 20, 8, 19, 11, 9, 18, 6, 5, 17, 15, 14, 16, 7, 4]
+ },
+ "12-15": {
+ "tables": 12,
+ "rounds": 15,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0],
+ "movement": ["9N", "10N", "3E", "3N", "4E", "2N", "7E", "5E", "11E", "7N", "8N", "6E", "2E", "12N", "1E"],
+ "positions": [24, 1, 10, 3, 12, 13, 23, 11, 22, 8, 21, 4, 6, 9, 5, 20, 15, 19, 14, 18, 17, 7, 2, 16]
+ },
+ "13-15": {
+ "tables": 13,
+ "rounds": 15,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0],
+ "movement": ["6N", "12N", "8E", "9E", "7N", "3E", "13N", "2E", "10E", "11N", "4E", "11E", "5N", "3N", "1E"],
+ "positions": [26, 1, 25, 8, 2, 10, 24, 5, 3, 23, 15, 22, 11, 21, 20, 13, 19, 12, 18, 7, 6, 4, 14, 17, 9, 16]
+ },
+ "9-16": {
+ "tables": 9,
+ "rounds": 16,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0],
+ "movement": ["8N", "6N", "3E", "6E", "8E", "1E", "7N", "4E", "2E", "5N", "9E", "9N", "5E", "2N", "4N", "1N"],
+ "positions": [1, 11, 3, 8, 18, 14, 2, 9, 7, 4, 15, 13, 10, 17, 16, 12, 5, 6]
+ },
+ "10-16": {
+ "tables": 10,
+ "rounds": 16,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 0, 0, 0, 0, 0],
+ "movement": ["10E", "7E", "3N", "8E", "2E", "8N", "3E", "7N", "4N", "10N", "5N", "9E", "6N", "4E", "9N", "1E"],
+ "positions": [20, 1, 19, 12, 14, 10, 8, 3, 6, 18, 4, 17, 9, 15, 11, 13, 2, 5, 7, 16]
+ },
+ "11-16": {
+ "tables": 11,
+ "rounds": 16,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 0, 0],
+ "movement": ["2E", "7N", "4E", "2N", "10N", "6N", "9E", "3E", "5E", "3N", "9N", "6E", "8N", "10E", "11N", "1E"],
+ "positions": [22, 1, 13, 16, 7, 9, 21, 14, 20, 8, 11, 5, 15, 19, 4, 18, 6, 10, 12, 3, 2, 17]
+ },
+ "12-16": {
+ "tables": 12,
+ "rounds": 16,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0],
+ "movement": ["10E", "8N", "10N", "5N", "7E", "2E", "8E", "12N", "7N", "9N", "3E", "11E", "9E", "4N", "6N", "1E"],
+ "positions": [24, 1, 23, 11, 22, 6, 3, 21, 13, 20, 2, 19, 8, 12, 15, 10, 7, 4, 14, 16, 18, 5, 9, 17]
+ },
+ "13-16": {
+ "tables": 13,
+ "rounds": 16,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 0],
+ "movement": ["6N", "10N", "13E", "7E", "3N", "9N", "7N", "2E", "4E", "12N", "8N", "6E", "8E", "11N", "5E", "1E"],
+ "positions": [26, 1, 25, 9, 12, 24, 23, 8, 22, 2, 16, 5, 10, 13, 6, 4, 11, 21, 15, 20, 3, 19, 7, 18, 17, 14]
+ },
+ "14-16": {
+ "tables": 14,
+ "rounds": 16,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 0],
+ "movement": ["9N", "12N", "3N", "5E", "8N", "2N", "14N", "3E", "7E", "10E", "4E", "11N", "6E", "4N", "13E", "1E"],
+ "positions": [28, 1, 11, 27, 14, 9, 3, 6, 26, 13, 25, 4, 24, 8, 12, 23, 16, 22, 21, 7, 5, 20, 15, 19, 18, 2, 10, 17]
+ },
+ "9-17": {
+ "tables": 9,
+ "rounds": 17,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0],
+ "movement": ["6E", "2N", "5E", "9N", "4E", "4N", "9E", "5N", "2E", "6N", "1E", "3E", "7N", "8E", "7E", "3N", "1N"],
+ "positions": [1, 7, 16, 9, 2, 6, 12, 13, 10, 15, 8, 17, 5, 3, 18, 4, 14, 11]
+ },
+ "10-17": {
+ "tables": 10,
+ "rounds": 17,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0, 0, 0, 0, 0, 0, 0],
+ "movement": ["10E", "5N", "2E", "8E", "3E", "4E", "2N", "7N", "5E", "3N", "9E", "4N", "6N", "9N", "6E", "1E", "1N"],
+ "positions": [1, 2, 11, 15, 8, 13, 6, 12, 16, 9, 5, 3, 10, 20, 19, 14, 4, 7, 18, 17]
+ },
+ "11-17": {
+ "tables": 11,
+ "rounds": 17,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 0, 0, 0],
+ "movement": ["4N", "2E", "10E", "7N", "9E", "2N", "3E", "9N", "3N", "5E", "5N", "8E", "6N", "10N", "11N", "7E", "1E"],
+ "positions": [22, 1, 12, 16, 9, 11, 17, 21, 7, 8, 5, 20, 14, 2, 19, 6, 10, 13, 4, 15, 3, 18]
+ },
+ "12-17": {
+ "tables": 12,
+ "rounds": 17,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0],
+ "movement": ["7N", "8E", "4E", "11E", "12N", "3N", "9N", "4N", "2N", "3E", "10E", "2E", "10N", "5N", "5E", "6E", "1E"],
+ "positions": [24, 1, 9, 6, 12, 8, 10, 15, 4, 3, 23, 2, 17, 22, 21, 16, 11, 20, 5, 7, 19, 14, 13, 18]
+ },
+ "13-17": {
+ "tables": 13,
+ "rounds": 17,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, 0],
+ "movement": ["4E", "11E", "12N", "7N", "3E", "6N", "13N", "2E", "5N", "6E", "8E", "5E", "8N", "9E", "9N", "10N", "1E"],
+ "positions": [26, 1, 25, 10, 24, 13, 23, 17, 9, 6, 12, 8, 14, 22, 5, 7, 3, 4, 2, 21, 20, 16, 15, 19, 11, 18]
+ },
+ "14-17": {
+ "tables": 14,
+ "rounds": 17,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 0, 0],
+ "movement": ["5N", "3N", "5E", "6N", "6E", "7E", "8N", "9E", "11N", "4E", "10E", "12N", "13E", "2N", "14N", "3E", "1E"],
+ "positions": [28, 1, 4, 27, 16, 2, 26, 8, 17, 15, 14, 13, 25, 12, 11, 24, 23, 10, 22, 7, 9, 21, 6, 20, 19, 5, 3, 18]
+ },
+ "15-17": {
+ "tables": 15,
+ "rounds": 17,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0, 0],
+ "movement": ["6N", "4N", "13N", "15E", "10N", "5E", "7E", "2N", "12E", "3N", "11E", "8E", "13E", "3E", "14N", "9N", "1E"],
+ "positions": [30, 1, 10, 29, 8, 4, 16, 28, 27, 12, 17, 26, 25, 11, 24, 6, 2, 23, 13, 22, 21, 7, 20, 9, 15, 5, 3, 19, 18, 14]
+ },
+ "10-18": {
+ "tables": 10,
+ "rounds": 18,
+ "sets": [1, 2, 3, 4, 0, 5, 6, 7, 8, 9, 10, 0, 0, 0, 0, 0, 0, 0],
+ "movement": ["4E", "6N", "3E", "5N", "7E", "9N", "7N", "5E", "3N", "1E", "10N", "8E", "6E", "10E", "2N", "2E", "8N", "1N"],
+ "positions": [1, 9, 4, 3, 10, 16, 20, 18, 15, 11, 17, 6, 12, 14, 2, 7, 13, 19, 8, 5]
+ },
+ "11-18": {
+ "tables": 11,
+ "rounds": 18,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 0, 0, 0, 0],
+ "movement": ["10N", "8E", "5N", "2N", "7N", "3E", "11N", "6E", "4N", "6N", "11E", "3N", "7E", "9E", "2E", "5E", "8N", "1E"],
+ "positions": [22, 1, 15, 4, 7, 13, 10, 21, 16, 3, 9, 11, 14, 6, 2, 17, 20, 5, 18, 19, 12, 8]
+ },
+ "12-18": {
+ "tables": 12,
+ "rounds": 18,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0],
+ "movement": ["6E", "9N", "5E", "12N", "10E", "8E", "11N", "2E", "4N", "2N", "11E", "8N", "10N", "3N", "12E", "5N", "7E", "1E"],
+ "positions": [24, 1, 9, 11, 5, 23, 10, 22, 3, 16, 21, 18, 20, 2, 7, 13, 17, 19, 6, 14, 12, 8, 15, 4]
+ },
+ "13-18": {
+ "tables": 13,
+ "rounds": 18,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, 0, 0],
+ "movement": ["2E", "5N", "13E", "7E", "4E", "6N", "8E", "6E", "4N", "7N", "13N", "10N", "5E", "9N", "11N", "12E", "3N", "1E"],
+ "positions": [26, 1, 25, 18, 2, 24, 10, 14, 17, 6, 13, 11, 9, 15, 23, 12, 5, 22, 7, 21, 4, 20, 19, 3, 8, 16]
+ },
+ "14-18": {
+ "tables": 14,
+ "rounds": 18,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 0, 0, 0],
+ "movement": ["14E", "5N", "7E", "2E", "4E", "8N", "10N", "8E", "4N", "2N", "7N", "11N", "9E", "12E", "6N", "13E", "3N", "1E"],
+ "positions": [28, 1, 9, 15, 2, 27, 10, 14, 17, 26, 4, 25, 8, 16, 13, 11, 24, 6, 12, 23, 7, 22, 21, 5, 20, 3, 19, 18]
+ },
+ "15-18": {
+ "tables": 15,
+ "rounds": 18,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0, 0, 0],
+ "movement": ["15E", "5E", "7N", "14E", "4E", "6N", "8N", "6E", "4N", "14N", "11E", "9E", "10N", "12E", "2N", "13N", "3N", "1E"],
+ "positions": [30, 1, 4, 29, 2, 28, 10, 14, 27, 17, 13, 11, 16, 26, 12, 25, 24, 7, 6, 23, 22, 8, 21, 5, 3, 20, 9, 15, 19, 18]
+ },
+ "16-18": {
+ "tables": 16,
+ "rounds": 18,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 0, 0],
+ "movement": ["16E", "14N", "15N", "2E", "6E", "3N", "5E", "7N", "5N", "3E", "9E", "13N", "10N", "8N", "11E", "12N", "4E", "1E"],
+ "positions": [32, 1, 31, 15, 13, 9, 30, 2, 10, 12, 29, 14, 11, 28, 5, 27, 26, 8, 6, 25, 24, 4, 3, 23, 7, 22, 17, 21, 16, 20, 19, 18]
+ },
+ "10-19": {
+ "tables": 10,
+ "rounds": 19,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 0, 8, 9, 10, 0, 0, 0, 0, 0, 0, 0, 0],
+ "movement": ["7N", "4E", "4N", "10E", "6N", "3N", "8N", "5N", "9E", "2E", "9N", "5E", "1E", "8E", "3E", "6E", "7E", "10N", "1N"],
+ "positions": [1, 7, 20, 10, 14, 5, 17, 18, 12, 8, 15, 4, 19, 3, 13, 6, 9, 11, 2, 16]
+ },
+ "11-19": {
+ "tables": 11,
+ "rounds": 19,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, 0, 0, 0, 0, 0, 0, 0],
+ "movement": ["7N", "10E", "1E", "6N", "4N", "11N", "11E", "6E", "2E", "9E", "4E", "1N", "8E", "2N", "5E", "8N", "9N", "7E", "3N"],
+ "positions": [8, 17, 6, 11, 1, 22, 15, 9, 21, 5, 16, 12, 19, 2, 4, 7, 3, 10, 20, 18, 14, 13]
+ },
+ "12-19": {
+ "tables": 12,
+ "rounds": 19,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0],
+ "movement": ["2N", "9N", "3E", "6N", "9E", "10N", "8N", "4N", "8E", "11N", "2E", "7N", "5E", "12E", "12N", "7E", "11E", "6E", "1E"],
+ "positions": [24, 1, 19, 9, 23, 17, 12, 22, 21, 7, 16, 2, 8, 4, 13, 11, 18, 15, 14, 20, 10, 3, 5, 6]
+ },
+ "13-19": {
+ "tables": 13,
+ "rounds": 19,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 0, 0, 0, 0],
+ "movement": ["2E", "6E", "4N", "13E", "10E", "10N", "4E", "5N", "9N", "2N", "3E", "11N", "8E", "5E", "13N", "8N", "12E", "7N", "1E"],
+ "positions": [26, 1, 10, 19, 25, 9, 17, 13, 12, 6, 24, 18, 2, 23, 4, 7, 11, 22, 14, 15, 8, 21, 20, 3, 5, 16]
+ },
+ "14-19": {
+ "tables": 14,
+ "rounds": 19,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 0, 0, 0, 0],
+ "movement": ["6E", "14N", "11E", "11N", "5N", "6N", "10N", "3E", "4E", "12E", "7N", "13N", "14E", "9E", "13E", "8N", "2N", "3N", "1E"],
+ "positions": [28, 1, 3, 27, 2, 12, 26, 11, 15, 25, 14, 19, 9, 24, 4, 23, 22, 6, 13, 21, 16, 17, 20, 10, 8, 5, 18, 7]
+ },
+ "15-19": {
+ "tables": 15,
+ "rounds": 19,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0, 0, 0, 0],
+ "movement": ["6E", "15E", "11N", "11E", "5E", "10N", "5N", "3E", "4N", "12N", "7E", "13E", "14N", "9E", "13N", "8N", "2E", "3N", "1E"],
+ "positions": [30, 1, 29, 3, 2, 12, 11, 28, 13, 15, 27, 19, 26, 9, 4, 25, 24, 6, 14, 23, 17, 16, 10, 22, 5, 8, 7, 21, 20, 18]
+ },
+ "16-19": {
+ "tables": 16,
+ "rounds": 19,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 0, 0, 0],
+ "movement": ["6E", "15E", "11E", "8E", "5N", "10N", "14E", "3E", "4E", "12N", "7E", "13N", "14N", "9N", "13E", "8N", "2N", "16N", "1E"],
+ "positions": [32, 1, 3, 31, 30, 12, 29, 11, 15, 28, 27, 19, 26, 9, 4, 16, 6, 25, 14, 24, 23, 17, 10, 22, 8, 5, 7, 13, 21, 18, 2, 20]
+ },
+ "17-19": {
+ "tables": 17,
+ "rounds": 19,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 0, 0],
+ "movement": ["6E", "15E", "11E", "17E", "5N", "10N", "5E", "3E", "4E", "12N", "7E", "13N", "14N", "9N", "13E", "8N", "2N", "16N", "1E"],
+ "positions": [34, 1, 3, 33, 32, 12, 31, 11, 15, 13, 30, 19, 29, 9, 4, 28, 6, 27, 14, 26, 25, 17, 10, 24, 8, 5, 7, 23, 22, 18, 2, 21, 20, 16]
+ },
+ "11-21": {
+ "tables": 11,
+ "rounds": 21,
+ "sets": [1, 2, 3, 0, 0, 0, 0, 0, 4, 0, 0, 5, 0, 0, 6, 0, 7, 8, 9, 10, 11],
+ "movement": ["9N", "11N", "4E", "10E", "5E", "6N", "8E", "2N", "7E", "3N", "3E", "7N", "2E", "8N", "6E", "5N", "10N", "4N", "11E", "9E", "1E"],
+ "positions": [22, 1, 14, 9, 12, 11, 4, 19, 6, 17, 16, 7, 10, 13, 8, 15, 21, 2, 5, 18, 20, 3]
+ },
+ "12-23": {
+ "tables": 12,
+ "rounds": 23,
+ "sets": [1, 0, 0, 0, 0, 2, 0, 3, 0, 0, 4, 5, 0, 0, 6, 7, 0, 8, 0, 9, 10, 11, 12],
+ "movement": ["5E", "12E", "4E", "11E", "6N", "10E", "7N", "9E", "3E", "2N", "8N", "8E", "2E", "3N", "9N", "7E", "10N", "6E", "11N", "4N", "12N", "5N", "1E"],
+ "positions": [24, 1, 14, 11, 10, 15, 4, 21, 2, 23, 19, 6, 17, 8, 13, 12, 9, 16, 7, 18, 5, 20, 3, 22]
+ },
+ "13-K": {
+ "rounds": 14,
+ "tables": 13,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0],
+ "positions": [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],
+ "movement": ["1E", "2E", "3E", "4E", "5E", "6E", "7E", "7N", "8E", "9E", "10E", "11E", "12E", "13E"]
+ },
+ "5-M": {
+ "rounds": 5,
+ "tables": 5,
+ "sets": [1, 2, 3, 4, 5],
+ "positions": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
+ "movement": ["1E", "2E", "3E", "4E", "5E"]
+ },
+ "7-M": {
+ "rounds": 7,
+ "tables": 7,
+ "sets": [1, 2, 3, 4, 5, 6, 7],
+ "positions": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
+ "movement": ["1E", "2E", "3E", "4E", "5E", "6E", "7E"]
+ },
+ "9-M": {
+ "rounds": 9,
+ "tables": 9,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9],
+ "positions": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18],
+ "movement": ["1E", "2E", "3E", "4E", "5E", "6E", "7E", "8E", "9E"]
+ },
+ "11-M": {
+ "rounds": 11,
+ "tables": 11,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
+ "positions": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22],
+ "movement": ["1E", "2E", "3E", "4E", "5E", "6E", "7E", "8E", "9E", "10E", "11E"]
+ },
+ "13-M": {
+ "rounds": 13,
+ "tables": 13,
+ "sets": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
+ "positions": [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],
+ "movement": ["1E", "2E", "3E", "4E", "5E", "6E", "7E", "8E", "9E", "10E", "11E", "12E", "13E"]
+ }
+}