Lý lịch
Vâng, vật lý bitcoin là một điều thực sự . Ý tưởng là xây dựng một lý thuyết vật lý mới chỉ sử dụng các chuỗi bit phát triển theo quy tắc xác suất ... hoặc một cái gì đó. Mặc dù đọc một vài bài báo về nó, tôi vẫn khá bối rối. Tuy nhiên, vũ trụ bitcoin tạo ra một golf golf nhỏ đẹp.
Chương trình vũ trụ
Vật lý bitcoin diễn ra trong một vũ trụ được gọi là chương trình . Ở mỗi bước tiến hóa của vũ trụ, có một danh sách hữu hạn L
các bitstr có độ dài nào đó k
, bắt đầu với danh sách hai yếu tố [10,11]
trong đó k = 2
. Một dấu thời gian được xử lý như sau (trong mã giả giống như Python).
A := random element of L
B := random element of L
if A == B:
for each C in L:
append a random bit to C
else:
append the bitwise XOR of A and B to L
Tất cả các lựa chọn ngẫu nhiên là thống nhất ngẫu nhiên và độc lập với nhau.
Thí dụ
Một ví dụ tiến hóa của 4 bước có thể trông giống như sau. Bắt đầu với danh sách ban đầu L
:
10
11
Chúng tôi chọn ngẫu nhiên A := 10
và B := 10
, là cùng một hàng, có nghĩa là chúng tôi cần mở rộng mỗi chuỗi L
bằng một bit ngẫu nhiên:
101
110
Tiếp theo, chúng tôi chọn A := 101
và B := 110
, vì chúng không bằng nhau, chúng tôi thêm XOR của chúng vào L
:
101
110
011
Sau đó, chúng tôi chọn A := 011
và B := 110
, và một lần nữa thêm XOR của họ:
101
110
011
101
Cuối cùng, chúng tôi chọn A := 101
(hàng cuối cùng) và B := 101
(hàng đầu tiên) bằng nhau, vì vậy chúng tôi mở rộng với các bit ngẫu nhiên:
1010
1100
0111
1010
Nhiệm vụ
Nhiệm vụ của bạn là lấy một số nguyên không âm t
làm đầu vào, mô phỏng vũ trụ chương trình cho các dấu thời t
gian và trả về hoặc in danh sách kết quả L
. Lưu ý rằng t = 0
kết quả trong danh sách ban đầu [10,11]
. Bạn có thể xuất ra L
dưới dạng danh sách các số nguyên, danh sách danh sách các giá trị boolean hoặc danh sách các chuỗi; nếu đầu ra chuyển sang STDOUT, bạn cũng có thể in bitstrings một dòng trên một số định dạng hợp lý. Thứ tự của bitstrings là đáng kể; đặc biệt, danh sách ban đầu không thể [11,10]
, [01,11]
hoặc bất cứ điều gì tương tự. Cả hai chức năng và chương trình đầy đủ đều được chấp nhận, các sơ hở tiêu chuẩn không được phép và số byte thấp nhất sẽ thắng.