Điểm:1

Chương trình dự đoán đầu ra 5 bit từ mô-đun ngẫu nhiên mersenne Twister từ python

lá cờ cn

Có chương trình dự đoán mô-đun ngẫu nhiên mersenne twister trong python cho đầu ra số nguyên 5 bit, miễn là có sẵn 3994 đầu ra liên tiếp không? Mô-đun ngẫu nhiên không được chọn nên tôi đoán, nó sẽ sử dụng thời gian hệ thống làm giá trị hạt giống vì không có hàm os.random nào được sử dụng! và nó chỉ được gieo một lần (giả định). Yêu cầu của tôi có hợp lệ không! và nó có thực sự dự đoán được không? xin vui lòng tha thứ cho tôi nếu tôi sai, tôi chỉ là người mới bắt đầu.

fgrieu avatar
lá cờ ng
Ít nhất, 3994Ã5 bit mang lại cho bạn nhiều bit hơn một chút so với trạng thái của MersenneTwister tiêu chuẩn, do đó tôi thấy không có khả năng về mặt lý thuyết thông tin. Yêu cầu đề xuất về một chương trình hiện có (chẳng hạn như trong github hoặc thứ gì đó) là lạc đề, nhưng thảo luận về những kỹ thuật mà người ta sẽ sử dụng có vẻ ổn đối với tôi, mặc dù MersenneTwister không nhằm mục đích sử dụng trong các ứng dụng mật mã. Nếu câu hỏi đưa ra định nghĩa chính thức về biến thể của MersenneTwister được nhắm mục tiêu, bao gồm cả cách thu được đầu ra 5 bit, điều đó sẽ hữu ích.
Mohammed Siddique avatar
lá cờ cn
@fgrieu giả sử đó là một biến thể 32 bit và nếu 3994 đầu ra là không quan trọng mặc dù tôi đã đề cập liên tiếp trong câu hỏi của mình. nếu có một số đầu ra bị thiếu và chúng tôi không biết liệu chúng có thực sự bị thiếu hay không nhưng chúng tôi có 3994, thì liệu hạt giống có thể bị phạt không?
Mohammed Siddique avatar
lá cờ cn
@fgrieu cũng vậy, tôi quên đề cập đến điều này trong câu hỏi... vì 3993.6*5 là 19968 nên tôi không thể viết chương trình cho các giá trị float, vậy việc đề cập n là 3994 có gây ra lỗi trong bộ dự đoán không?
fgrieu avatar
lá cờ ng
Các đầu ra không liên tiếp sẽ khiến vấn đề trở nên khó khăn hơn, nhưng tôi không hiểu tại sao điều đó lại khiến nó không thể thực hiện được, trừ khi các đầu ra được định vị một cách có chủ ý để khiến nhiệm vụ trở nên bất khả thi (chẳng hạn như $2^{20000}-2^{63}$ từ riêng biệt). Một lần nữa, để giải quyết vấn đề đó, chúng ta cần biết cách trích xuất đầu ra 5 bit từ đầu ra của Mersenne Twister và mô hình của Mersenne Twister cụ thể được sử dụng. Kỹ thuật đảo ngược Python khá lạc đề. Sử dụng phao để đếm mọi thứ hiếm khi là một ý tưởng hay, hãy quên điều đó đi. Nếu bạn đã thử điều gì đó, có lẽ hãy giải thích điều gì (trong câu hỏi).
Mohammed Siddique avatar
lá cờ cn
các đầu ra 5 bit được trích xuất từ ​​​​mersenne twister bằng hàm python randint(0, 31) và nó không sử dụng systemrandom, giá trị hạt giống chỉ được bắt đầu một lần. Chương trình tôi đã cố gắng đảo ngược kỹ sư chưa hoàn thành. Xin lỗi, tôi không biết kỹ thuật đảo ngược, con trăn không có chủ đề, tôi chưa quen với điều này @fgrieu

Đă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.