2009-07-17 32 views
10

Marvin Minsky hỏi tôi những câu dưới đây trong thi vấn đáp của tôi:bitstring Shortest có sự lặp lại vô hạn là khác nhau sau khi đảo ngược

Như một con kiến ​​đi nó in một số nhị phân (ví dụ, 101) mỗi khi phải mất một bước. Độ dài tối thiểu, bằng chữ số, số nhị phân có thể là gì để có thể biết được hướng mà con kiến ​​đang di chuyển mà không nhìn vào đầu hoặc cuối của chuỗi? Con kiến ​​cho bạn biết số nhị phân.

Ví dụ: Số nhị phân của kiến ​​là 101 và, do đó, kiến ​​để lại một đường nhỏ như sau: 101101101101101101101. Lưu ý rằng không có cách nào để biết con kiến ​​đang di chuyển. Do đó, con số cụ thể này không hoạt động (nhưng có thể có một số nhị phân gồm 3 chữ số).

Ví dụ: Số nhị phân của kiến ​​là 011 và, do đó, kiến ​​để lại một đường nhỏ trông giống như sau: 011011011011011011. Một lần nữa, không có cách nào để cho biết con kiến ​​đang di chuyển mà không nhìn vào đầu của chuỗi .

Câu trả lời cho câu hỏi này là gì? Lưu ý rằng câu trả lời không thể chỉ là một ví dụ về một số nhị phân hoạt động. Câu trả lời cần bao gồm một bằng chứng rằng không có số nhị phân nào có độ dài nhỏ hơn n-1 sẽ làm việc trong đó n là độ dài của số nhị phân ví dụ hoạt động. Một bằng chứng bằng cách liệt kê đầy đủ là ok, nhưng khó chịu. :)

+4

Bạn có yêu cầu một bằng chứng toán học khắt khe hay chỉ đơn giản là việc bỏ tên? – gbn

+0

Tại sao đường nhỏ đầu tiên không "101101101101101"? –

+0

Đã bỏ phiếu để đóng là "không liên quan đến lập trình". Bạn có thể muốn thử một diễn đàn toán cho các câu hỏi như thế này –

Trả lời

6

cách tiếp cận khác sẽ được khởi hành từ số nhị phân. Đặt lại câu hỏi là "Mẫu có thể ngắn nhất là hướng nào nếu được phép sử dụng bất kỳ số lượng ký hiệu duy nhất nào?"

Câu trả lời ở đây là 3 (ví dụ A; B; C hoặC#; &; @) vì 2 không hoạt động. Vì vậy, khi bạn có một mô hình như ABC là trở nên rõ ràng trong đó hướng kiến ​​là đi bộ.

Hoặc ... CABCABCABCABCAB ... (từ trái sang phải) Hoặc ... CBACBACBACBACBA ... (từ phải sang trái)

Bây giờ, có bao nhiêu chữ số nhị phân sao chúng ta cần phải viết một mô hình 3 biểu tượng trong Ternary (base-3)?

Hai chữ số nhị phân cho phép bạn viết một Đệ tứ duy nhất (base-4) chữ số, đó là cơ sở đầu tiên cao hơn hoặc bằng 3.

Do đó: (2 chữ số mỗi ký hiệu) nhân với (3 ký hiệu) = 6 Chữ số nhị phân.

+0

+1, Rất trực quan. –

+1

Trong khi điều này nhận được câu trả lời đúng, tôi không chắc đó là âm thanh. Đầu tiên, với 2 bit bạn đang lãng phí biểu tượng thứ tư có thể, do đó, nó có thể là "" rằng mô hình tổng thể có thể được biểu diễn trong ít hơn 2 * numSymbols bit. Thứ hai, sự đảo ngược bit và bit một chút có nghĩa là ngắt mã hai bit đơn giản: ví dụ: nếu A = 00, B = 01, C = 10, thì ABC… là 000110… không có thuộc tính mong muốn. A = 00, B = 10, C = 11 là một trường hợp cụ thể mà không có vấn đề này, nhưng bạn đã không cho thấy rằng điều này làm việc nói chung. –

+0

Câu trả lời thực tế là AB AB AB. – Joshua

2

ChssPly76 có câu trả lời đúng (IMHO) trong các nhận xét ở trên.

6 chữ số, ví dụ 100110.

Các vấn đề liên quan