Điểm:6

Thanh ghi thay đổi phản hồi dựa trên đa số

lá cờ br

Các thanh ghi dịch chuyển phản hồi tuyến tính (LFSR's) hoạt động bằng cách lấy một chuỗi bit có độ dài cố định $b\in\{0,1\}^n$, cũng như cố định các "nhấn" (vị trí bit) và áp dụng XOR cho các vòi, tạo ra một bit đầu ra, bit này được thêm vào tại $b$ sau khi dịch chuyển nó.

Bây giờ XOR là một hàm tuyến tính.Một chức năng phi tuyến tính tự nhiên có thể được sử dụng trên tập hợp các vòi cố định là một loại "phiếu đa số", hoạt động như sau: nếu phần lớn các vòi là $0$, sau đó chúng tôi xuất $1$, và ngược lại. (Đối với điều này, tốt nhất là có số lần nhấn là số lẻ.)

Có thể tìm thấy một triển khai đơn giản của thanh ghi thay đổi phản hồi dựa trên đa số đây.

Tất nhiên, áp dụng đi áp dụng lại thủ tục "phiếu đa số" này, điều này cuối cùng sẽ trở nên định kỳ.

Câu hỏi. Với độ dài bit cố định $n$, giới hạn dưới của độ dài tối đa của khoảng thời gian có thể đạt được bằng cách chọn chuỗi bắt đầu phù hợp $b\in \{0,1\}^n$ và một bộ vòi phù hợp?

Ngoài ra, tôi không thể tìm hiểu xem liệu khái niệm này đã được nghiên cứu ở đâu và chưa.

John Deters avatar
lá cờ cn
Mặc dù không phải là câu trả lời cho câu hỏi của bạn, nhưng các máy tính lớn CDC cổ đại có hướng dẫn "Đếm dân số", CXi Xk, hướng dẫn này sẽ xuất số bit 1 được đặt trong thanh ghi Xk thành thanh ghi Xi. Còn được gọi là "popcount" hoặc "chỉ dẫn NSA", việc sử dụng thực tế ban đầu cho toán tử này được lý thuyết hóa là phân tích mật mã, cho thấy điều này có thể đã được nghiên cứu hoặc biết đến vào những năm 1960 và 70. Xem https://vaibhavsagar.com/blog/2019/09/08/popcount/#:~:text=Most%20CPU%20architectures%20in%20use%20today%20have%20an,%2800100110%29%20is%203% 20and%20popcount%20%2801100000%29%20is%202. để biết thêm thông tin.
Dominic van der Zypen avatar
lá cờ br
Điều đó thực sự thú vị - cảm ơn @JohnDeters vì nhận xét này! Ngoài ra, tôi sử dụng một chức năng trong [việc triển khai của tôi trên GitHub](https://github.com/dominiczypen/Majority_Feedback_Shift_Register/blob/main/mfsr.c) thực sự được gọi là popcount(). Có lẽ sử dụng popcount được tích hợp trong CPU sẽ nhanh hơn nhiều
qwr avatar
lá cờ jp
qwr
x86 cũng có hướng dẫn đếm số lượng người truy cập https://www.felixcloutier.com/x86/popcnt
b degnan avatar
lá cờ ca
btw, trong phần cứng thực tế, phần lớn các mạch chiếm rất nhiều dung lượng. Sự đơn giản mà bạn thấy trong C là mức cổng không tồn tại.
Điểm:2
lá cờ ng

Tôi đang đọc câu hỏi như yêu cầu $b(n)$, lớn nhất có thể, sao cho chúng tôi có thể hiển thị các điểm nhấn riêng biệt (theo số lẻ) và $n$trạng thái -bit, dẫn đến một chuỗi định kỳ có chu kỳ (ngắn nhất) ít nhất $b(n)$ các bước.

Tôi có một công trình với $b(n)=2n-2$$n\ge3$. Các vòi là ba bit tiếp theo sẽ thoát khỏi MVFSR. Trạng thái là tất cả các số không, ngoại trừ bit tiếp theo sẽ thoát khỏi MVFSR. Đây là một minh họa với $n=8$: thời gian trôi qua từ trái sang phải, MVSFR dịch chuyển xuống, bit tiếp theo đi lên trên, ba lần nhấn được đánh dấu bằng *.

   0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0
   0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0
   0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0
   0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0
   0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0
*  0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0
*  0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1
*  1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1

Nếu chúng tôi cho phép một lần nhấn, chúng tôi có thể $b(n)=2n$.

tôi hy vọng rằng $b(n)$ có thể được cải thiện (tăng lên), có lẽ trở thành cấp số nhân, nhưng nó đã hơn $1$ của câu trả lời này, và $2$ của bình luận này.

Dominic van der Zypen avatar
lá cờ br
Cảm ơn rất nhiều về câu trả lời của bạn -> thật tuyệt vời khi thấy $b(n)$ tăng lên theo cấp số nhân ngay cả với một số lượng nhỏ các lần nhấn được đặt khéo léo, có thể chỉ $3$ lần nhấn?
Điểm:2
lá cờ ru

Tôi sẽ ngần ngại yêu cầu giới hạn dưới tốt hơn 1.

Chúng tôi lưu ý rằng đối với thanh ghi thay đổi phản hồi đa số phiếu bầu (sau đây gọi là MVFSR) nếu có $2k+1$ vòi và nếu tại bất kỳ thời điểm nào, việc điền vào sổ đăng ký có nhiều nhất $k$ số không (tương ứng nhiều nhất $k$ những cái) thì thanh ghi sau đó sẽ lấp đầy những cái (tương ứng với số 0) và đạt chu kỳ 1.

Tương tự như vậy, người ta cảm thấy rằng có rất nhiều chủ nghĩa thực chất trong MVFSR đó với các lần lấp đầy thưa thớt với nhiều số không có khả năng tạo ra phản hồi bằng không và các lần lấp đầy dày đặc với nhiều số không có khả năng tạo ra một phản hồi. Về mặt kinh nghiệm, điều này sẽ đẩy mật độ lấp đầy ra khỏi 1/2 và hướng tới sự suy biến ở trên.

Có thể tạo MVFSR với các vòi được đặt theo cấp số cộng suy biến thành xen kẽ của các thanh ghi nhỏ hơn và do đó đạt được các chu kỳ ổn định có độ dài bằng với số lượng thanh ghi nhỏ hơn, nhưng điều này không phải là một ý tưởng hay.

Người ta cũng có thể lưu ý rằng bản đồ từ điền vào đến điền cho MVFSR có nhiều bản đồ hai đối một đặt giới hạn trên kém cho độ dài chu kỳ cuối cùng. Nói chung điền vào đâu $k+1$ của người đầu tiên $2k$ vòi bằng không hoặc một (nghĩa là không có chính xác $k$ số không và $k$ cái đầu tiên $2k$ các vị trí nhấn) là các lần lấp đầy trong đó bit nhấn cũ nhất không liên quan đến phản hồi và vì vậy chúng tôi tạo hai đối một.

poncho avatar
lá cờ my
Trên thực tế, bit tiếp theo được luân chuyển vào là nghịch đảo của phần lớn các lần nhấn - do đó, tôi không tin rằng độ dài chu kỳ bằng 1 là có thể (vì một chuỗi các bit được dịch chuyển giống hệt nhau cuối cùng sẽ trở thành đa số và do đó, dịch chuyển trong bit ngược lại). Tất nhiên, độ dài chu kỳ là 2 là hoàn toàn có thể xảy ra, trừ khi bạn cẩn thận với vị trí vòi...
Dominic van der Zypen avatar
lá cờ br
Đúng - và xin lỗi nếu câu hỏi có thể hơi sai lệch... Tôi muốn hỏi một người có thể đạt được khoảng thời gian bao lâu bằng cách khéo léo đặt các vòi và giá trị ban đầu của $b$
Điểm:2
lá cờ ph

Tôi đã viết một số mã để chỉ cấu hình chạm mạnh và bắt đầu các giá trị cho kích thước thanh ghi nhỏ. Vì vậy, tôi có một số giá trị, thay vì kết quả phân tích.Tất nhiên, kết quả có điều kiện là không có bất kỳ lỗi nào trong mã (https://github.com/bmm6o/MVFSR).

đối với chiều rộng 4, chiều dài chu kỳ tối đa là 8
đối với chiều rộng 5, chiều dài chu kỳ tối đa là 10
đối với chiều rộng 6, chiều dài chu kỳ tối đa là 12
đối với chiều rộng 7, chiều dài chu kỳ tối đa là 14
đối với chiều rộng 8, chiều dài chu kỳ tối đa là 48
đối với chiều rộng 9, chiều dài chu kỳ tối đa là 48
đối với chiều rộng 10, chiều dài chu kỳ tối đa là 80
đối với chiều rộng 11, chiều dài chu kỳ tối đa là 108
đối với chiều rộng 12, chiều dài chu kỳ tối đa là 140
đối với chiều rộng 13, chiều dài chu kỳ tối đa là 270
đối với chiều rộng 14, chiều dài chu kỳ tối đa là 270
đối với chiều rộng 15, chiều dài chu kỳ tối đa là 270
đối với chiều rộng 16, chiều dài chu kỳ tối đa là 480
đối với chiều rộng 17, chiều dài chu kỳ tối đa là 752
đối với chiều rộng 18, chiều dài chu kỳ tối đa là 1520

Có thể rủi ro khi khái quát hóa từ các giá trị nhỏ, nhưng nó dường như tăng gấp đôi khi chiều rộng tăng thêm 2. Trình tự này không có trong OEIS.

Bạn có thể đã nhận ra điều này, nhưng MVFSR của bạn phát triển theo cách mà hầu hết các trạng thái đều có chính xác 2 hình ảnh trước. Tôi không chắc cách sử dụng điều đó để ước tính xác suất phân phối độ dài chu kỳ, nhưng có vẻ như nó sẽ hữu ích.

Đối với hầu hết các mục đích mật mã, việc đặt giới hạn dưới cho độ dài chu kỳ tối đa không phải là câu hỏi quan trọng nhất. Điều quan trọng hơn nhiều là độ dài tối thiểu, hoặc ít nhất là một cách để mô tả và tránh các chu kỳ ngắn. Theo cách đó, có một vấn đề nghiêm trọng với MVFSR. Theo lựa chọn vòi tối ưu, có các chu kỳ độ dài chỉ $2n$.

kodlu avatar
lá cờ sa
bạn nói rằng bạn muốn giới hạn độ dài chu kỳ tối thiểu nhưng đầu ra của bạn lại ghi "độ dài chu kỳ tối đa"
lá cờ ph
Chính xác. Tôi không chắc OP đang hỏi đúng câu hỏi, nhưng cho đến nay tôi đang trả lời câu hỏi đã được hỏi. Tôi cũng có kế hoạch để có được các câu trả lời khác.
poncho avatar
lá cờ my
Tôi đã thực hiện một tìm kiếm hoàn toàn độc lập về độ dài chu kỳ tối đa (tôi thậm chí còn chưa xem mã của bạn) và nhận được kết quả tương tự - mã của bạn có vẻ đúng
lá cờ ph
Cảm ơn, @poncho. Tôi đoán tôi thực sự ngạc nhiên rằng nó không đơn điệu.
poncho avatar
lá cờ my
Không quá ngạc nhiên; có những thứ đơn giản hơn (chẳng hạn như 'thứ tự tối đa của một hoán vị trên k đối tượng') cũng không hoàn toàn đơn điệu ...
poncho avatar
lá cờ my
Ngoài ra, tôi đã tìm kiếm theo hướng khác "đối với bất kỳ chiều rộng nào và bất kỳ tập hợp số lẻ vòi nào, độ dài chu kỳ tối thiểu là bao nhiêu"; cho chiều rộng

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.