Created
January 11, 2022 14:35
-
-
Save mrdrozdov/713bdb87b0c76959e52d40d3ac7a1954 to your computer and use it in GitHub Desktop.
peano demo
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import random | |
def Merge(x, y): | |
return ''.join([a for t in zip(x, y) for a in t]) | |
def Peano(x, y): | |
interim = ''.join(Merge(format(x, '08b'), format(y, '08b'))) | |
return int(interim, base=2) | |
def generate(n=100, ln=30): | |
for _ in range(n): | |
x = 'a' * random.randint(0, ln) | |
y = 'b' * random.randint(0, ln) | |
yield x, y | |
data = sorted([item for item in generate()], key=lambda x: Peano(len(x[0]), len(x[1]))) | |
for x, y in data: | |
print(len(x) + len(y), len(x), len(y), x, y) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ python peano.py | |
5 3 2 aaa bb | |
6 4 2 aaaa bb | |
7 5 2 aaaaa bb | |
10 5 5 aaaaa bbbbb | |
12 5 7 aaaaa bbbbbbb | |
12 7 5 aaaaaaa bbbbb | |
11 3 8 aaa bbbbbbbb | |
13 2 11 aa bbbbbbbbbbb | |
16 1 15 a bbbbbbbbbbbbbbb | |
15 2 13 aa bbbbbbbbbbbbb | |
16 2 14 aa bbbbbbbbbbbbbb | |
17 3 14 aaa bbbbbbbbbbbbbb | |
13 4 9 aaaa bbbbbbbbb | |
14 6 8 aaaaaa bbbbbbbb | |
18 6 12 aaaaaa bbbbbbbbbbbb | |
11 8 3 aaaaaaaa bbb | |
11 9 2 aaaaaaaaa bb | |
11 11 0 aaaaaaaaaaa | |
12 10 2 aaaaaaaaaa bb | |
15 11 4 aaaaaaaaaaa bbbb | |
16 11 5 aaaaaaaaaaa bbbbb | |
20 14 6 aaaaaaaaaaaaaa bbbbbb | |
23 11 12 aaaaaaaaaaa bbbbbbbbbbbb | |
20 12 8 aaaaaaaaaaaa bbbbbbbb | |
21 13 8 aaaaaaaaaaaaa bbbbbbbb | |
24 14 10 aaaaaaaaaaaaaa bbbbbbbbbb | |
25 12 13 aaaaaaaaaaaa bbbbbbbbbbbbb | |
27 13 14 aaaaaaaaaaaaa bbbbbbbbbbbbbb | |
27 15 12 aaaaaaaaaaaaaaa bbbbbbbbbbbb | |
24 3 21 aaa bbbbbbbbbbbbbbbbbbbbb | |
24 3 21 aaa bbbbbbbbbbbbbbbbbbbbb | |
25 3 22 aaa bbbbbbbbbbbbbbbbbbbbbb | |
23 4 19 aaaa bbbbbbbbbbbbbbbbbbb | |
25 6 19 aaaaaa bbbbbbbbbbbbbbbbbbb | |
28 7 21 aaaaaaa bbbbbbbbbbbbbbbbbbbbb | |
27 0 27 bbbbbbbbbbbbbbbbbbbbbbbbbbb | |
28 2 26 aa bbbbbbbbbbbbbbbbbbbbbbbbbb | |
34 6 28 aaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbb | |
35 7 28 aaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbb | |
36 6 30 aaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb | |
36 6 30 aaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb | |
26 9 17 aaaaaaaaa bbbbbbbbbbbbbbbbb | |
29 9 20 aaaaaaaaa bbbbbbbbbbbbbbbbbbbb | |
31 8 23 aaaaaaaa bbbbbbbbbbbbbbbbbbbbbbb | |
33 11 22 aaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbb | |
31 13 18 aaaaaaaaaaaaa bbbbbbbbbbbbbbbbbb | |
33 15 18 aaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbb | |
38 13 25 aaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbb | |
41 15 26 aaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbb | |
40 12 28 aaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbb | |
17 16 1 aaaaaaaaaaaaaaaa b | |
17 17 0 aaaaaaaaaaaaaaaaa | |
19 17 2 aaaaaaaaaaaaaaaaa bb | |
22 19 3 aaaaaaaaaaaaaaaaaaa bbb | |
21 17 4 aaaaaaaaaaaaaaaaa bbbb | |
23 20 3 aaaaaaaaaaaaaaaaaaaa bbb | |
27 22 5 aaaaaaaaaaaaaaaaaaaaaa bbbbb | |
28 22 6 aaaaaaaaaaaaaaaaaaaaaa bbbbbb | |
24 16 8 aaaaaaaaaaaaaaaa bbbbbbbb | |
31 18 13 aaaaaaaaaaaaaaaaaa bbbbbbbbbbbbb | |
34 19 15 aaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbb | |
31 21 10 aaaaaaaaaaaaaaaaaaaaa bbbbbbbbbb | |
32 21 11 aaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbb | |
37 22 15 aaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbb | |
28 27 1 aaaaaaaaaaaaaaaaaaaaaaaaaaa b | |
28 26 2 aaaaaaaaaaaaaaaaaaaaaaaaaa bb | |
32 25 7 aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbb | |
32 27 5 aaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbb | |
29 28 1 aaaaaaaaaaaaaaaaaaaaaaaaaaaa b | |
30 28 2 aaaaaaaaaaaaaaaaaaaaaaaaaaaa bb | |
34 29 5 aaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbb | |
33 24 9 aaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbb | |
35 24 11 aaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbb | |
35 24 11 aaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbb | |
38 27 11 aaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbb | |
38 24 14 aaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbb | |
41 27 14 aaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbb | |
39 28 11 aaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbb | |
39 30 9 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbb | |
45 30 15 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbb | |
33 17 16 aaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbb | |
35 18 17 aaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbb | |
37 16 21 aaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbb | |
37 17 20 aaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbb | |
40 17 23 aaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbb | |
41 22 19 aaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbb | |
40 16 24 aaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbb | |
47 18 29 aaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbb | |
49 23 26 aaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbb | |
41 25 16 aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbb | |
43 24 19 aaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbb | |
44 25 19 aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbb | |
47 27 20 aaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbb | |
48 26 22 aaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbb | |
48 29 19 aaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbb | |
48 28 20 aaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbb | |
50 30 20 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbb | |
54 27 27 aaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbb | |
55 25 30 aaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb | |
55 26 29 aaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbb |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment