Trình tạo số ngẫu nhiên thực sự: Turing tính toán?


39

Tôi đang tìm kiếm một câu trả lời dứt khoát về việc liệu việc tạo ra các số "thực sự ngẫu nhiên" có phải là tính toán hay không. Tôi không biết làm thế nào để diễn đạt chính xác điều này. Câu hỏi StackExchange này về "các thuật toán hiệu quả để tạo số ngẫu nhiên" gần như trả lời câu hỏi của tôi. Charles Stewart nói trong câu trả lời của mình, "nó [ngẫu nhiên Martin-Löf] không thể được tạo ra bởi một cỗ máy." Ross Snider nói, "bất kỳ quy trình xác định nào (như Turing / Đăng ký máy) không thể tạo ra các số ngẫu nhiên 'triết học' hoặc 'đúng'." Có một khái niệm rõ ràng và được chấp nhận về những gì tạo thành một trình tạo số thực sự ngẫu nhiên? Và nếu vậy, có biết rằng nó không thể được tính toán bằng Máy Turing không?

Có lẽ chỉ cho tôi các tài liệu có liên quan sẽ đủ. Cảm ơn vì bất kì sự giúp đỡ nào của bạn!

Chỉnh sửa. Cảm ơn Ian và Aaron cho câu trả lời am hiểu! Tôi tương đối không được học ở khu vực này, và tôi rất biết ơn sự giúp đỡ. Nếu tôi có thể mở rộng câu hỏi một chút trong phần phụ lục này: Có phải trường hợp TM có quyền truy cập vào một nguồn ngẫu nhiên thuần túy (một lời sấm truyền?), Có thể tính toán một chức năng mà một TM cổ điển không thể?


1
Nó giúp nếu bạn xem xét định nghĩa của "thực sự ngẫu nhiên" đầu tiên.
MS Dousti

Câu trả lời:


52

Tôi sẽ tham gia cuộc thảo luận khá muộn, nhưng tôi sẽ cố gắng giải quyết một số câu hỏi đã được hỏi trước đó.

Đầu tiên, theo quan sát của Aaron Sterling, điều quan trọng trước tiên là quyết định ý nghĩa của chúng ta bằng những con số "thực sự ngẫu nhiên", và đặc biệt nếu chúng ta đang xem xét mọi thứ từ góc độ tính toán phức tạp hoặc tính toán.

Tuy nhiên, để tôi tranh luận rằng trong lý thuyết phức tạp, mọi người chủ yếu quan tâm đến giả ngẫu nhiên và máy phát điện giả , tức là các chức năng từ chuỗi đến chuỗi sao cho phân phối chuỗi đầu ra không thể được phân biệt với phân phối đồng đều bởi một quy trình hiệu quả (trong đó một số ý nghĩa của hiệu quả có thể được xem xét, ví dụ: mạch đa thời gian tính toán, mạch kích thước đa thức, v.v.). Đây là một lĩnh vực nghiên cứu rất hay và rất tích cực, nhưng tôi nghĩ hầu hết mọi người sẽ đồng ý rằng các đối tượng mà nó nghiên cứu không thực sự ngẫu nhiên, điều đó đủ để họ chỉ nhìn ngẫu nhiên (do đó thuật ngữ "giả").

Trong lý thuyết tính toán, một sự đồng thuận đã xuất hiện một khái niệm tốt về "tính ngẫu nhiên thực sự", và đó thực sự là khái niệm về tính ngẫu nhiên của Martin-Löf (những người khác đã được đề xuất và rất thú vị để nghiên cứu nhưng không trần trụi các tính chất tốt đẹp ngẫu nhiên Martin-Löf có). Để đơn giản hóa các vấn đề, chúng tôi sẽ xem xét tính ngẫu nhiên cho các chuỗi nhị phân vô hạn (các đối tượng khác như hàm từ chuỗi đến chuỗi có thể dễ dàng được mã hóa bằng chuỗi đó).

Chuỗi nhị phân vô hạn là ngẫu nhiên Martin-Löf nếu không có quá trình tính toán (ngay cả khi chúng tôi cho phép quá trình này có thể tính toán được trong thời gian theo cấp số nhân ba hoặc cao hơn) có thể phát hiện lỗ hổng ngẫu nhiên.α

(1) Ý nghĩa của "lỗ hổng ngẫu nhiên" là gì? Phần đó là đơn giản: nó là một tập hợp các biện pháp 0, tức là một tài sản mà hầu hết các trình tự không có (ở đây chúng ta nói về Lebesgue đo tức là biện pháp mà mỗi bit có khả năng là 0 độc lập với tất cả các khác bit). Một ví dụ về lỗ hổng như vậy là "có một phần ba số không và 2/3 số không có triệu chứng", vi phạm luật số lượng lớn. Một ví dụ khác là "với mỗi n, các bit 2n đầu tiên của được phân phối hoàn hảo (có nhiều số 0)". Trong trường hợp này, luật số lượng lớn được bão hòa, nhưng không phải là định lý giới hạn trung tâm. Vân vân.1/20k w k , 0 w k , 1 U k w k , i 2 - k G = k U k 0 αα
(2) Làm thế nào để kiểm tra quá trình tính toán mà một chuỗi không thuộc về một bộ số đo cụ thể 0? Nói cách khác, những bộ số đo 0 nào có thể được mô tả một cách tính toán? Đây chính xác là những gì Martin-Löf kiểm tra. Thử nghiệm Martin-Löf là một quy trình có thể tính toán được, với k đầu vào, có thể tính toán được (nghĩa là thông qua máy Turing có đầu vào ) tạo ra một chuỗi các chuỗi , , ... sao cho tập hợp của các chuỗi vô hạn bắt đầu bởi một trong những có số đo tối đa là (nếu bạn thích cấu trúc liên kết, hãy lưu ý rằng đây là một tập hợp mở trong cấu trúc liên kết sản phẩm cho tập hợp chuỗi nhị phân vô hạn). Sau đó, bộkwk,0wk,1Ukwk,i2kG=kUkcó số đo và được gọi là nullset Martin-Löf . Bây giờ chúng ta có thể định nghĩa tính ngẫu nhiên của Martin-Löf bằng cách nói rằng một chuỗi nhị phân vô hạn là ngẫu nhiên Martin-Löf nếu nó không thuộc về bất kỳ nullset Martin-Löf nào . 0α

Định nghĩa này có vẻ kỹ thuật nhưng nó được chấp nhận rộng rãi là đúng vì nhiều lý do:

  • nó đủ hiệu quả, nghĩa là định nghĩa của nó liên quan đến các quá trình tính toán
  • nó đủ mạnh: bất kỳ thuộc tính "gần như chắc chắn" nào bạn có thể tìm thấy trong sách giáo khoa lý thuyết xác suất (luật số lượng lớn, luật logarit lặp, v.v.) có thể được kiểm tra bằng phép thử Martin-Löf (mặc dù điều này đôi khi khó chứng minh)
  • nó đã được đề xuất một cách độc lập bởi một số người sử dụng các định nghĩa khác nhau (đặc biệt là định nghĩa Levin-Chaitin sử dụng độ phức tạp Kolmogorov); và thực tế là tất cả chúng đều dẫn đến cùng một khái niệm là một gợi ý rằng đó phải là khái niệm đúng (hơi giống khái niệm hàm tính toán, có thể được định nghĩa thông qua máy Turing, hàm đệ quy, lambda-compus, v.v.)
  • lý thuyết toán học đằng sau nó là rất tốt đẹp! xem ba cuốn sách xuất sắc Giới thiệu về Độ phức tạp và ứng dụng của Kolmogorov (Li và Vitanyi), Tính ngẫu nhiên và độ phức tạp của thuật toán (Downey và Hirschfeldt) Tính toán và tính ngẫu nhiên (Nies).

Một chuỗi ngẫu nhiên Martin-Löf trông như thế nào? Vâng, lấy một đồng tiền hoàn toàn cân bằng và bắt đầu lật nó. Ở mỗi lần lật, viết 0 cho đầu và 1 cho đuôi. Tiếp tục cho đến khi hết thời gian. Đó là những gì một chuỗi Martin-Löf trông giống như :-)

Bây giờ trở lại câu hỏi ban đầu: có cách tính toán nào để tạo chuỗi ngẫu nhiên Martin-Löf không? Theo trực giác, câu trả lời là KHÔNG , bởi vì nếu chúng ta có thể sử dụng quy trình tính toán để tạo chuỗi , thì chúng ta chắc chắn có thể sử dụng quy trình tính toán để mô tả singleton { }, vì vậy không phải là ngẫu nhiên. Chính thức điều này được thực hiện như sau. Giả sử một chuỗi có thể tính toán được. Hãy xem xét thử nghiệm Martin-Löf sau đây: với tất cả , chỉ cần xuất tiền tố của có độ dài và không có gì khác. Điều này có số đo nhiều nhất (trên thực tế, chính xác)α α α k một k α k 2 - k U k αααααkakαk2kvà giao điểm của các tập hợp như trong định nghĩa là chính xác { }. QED !!Ukα

Trong thực tế, một chuỗi ngẫu nhiên Martin-Löf so sánh được theo nghĩa mạnh hơn nhiều: nếu một phép tính orory nào đó với oracle (chính nó là một chuỗi nhị phân vô hạn) có thể tính toán , sau đó cho tất cả các bit , của là cần thiết để tính bit đầu tiên của (trên thực tế đây là một đặc điểm của tính ngẫu nhiên của Martin-Löf, điều không may hiếm khi được nêu trong tài liệu).β α n n - O ( 1 ) β n ααβαnnO(1)βnα


Ok, bây giờ là phần "chỉnh sửa" trong câu hỏi của Joseph: Có phải trường hợp một TM có quyền truy cập vào một nguồn ngẫu nhiên thuần túy (một lời sấm truyền?), Có thể tính toán một chức năng mà một TM cổ điển không thể?

Từ góc độ tính toán, câu trả lời là "có và không". Nếu bạn được cấp quyền truy cập vào một nguồn ngẫu nhiên như một nhà tiên tri (trong đó đầu ra được trình bày dưới dạng một chuỗi nhị phân vô hạn), với xác suất 1, bạn sẽ nhận được một lời sấm ngẫu nhiên Martin-Löf, và như chúng ta đã thấy trước đó Martin-Löf có nghĩa là không có thể tính toán được, vì vậy nó đủ để xuất ra lời tiên tri! Hoặc nếu bạn muốn một hàm , bạn có thể xem xét hàm mà với tất cả cho bạn biết có bao nhiêu số 0 trong số bit đầu tiên của nhà tiên tri của bạn. Nếu nhà tiên tri là Martin-Löf ngẫu nhiên, chức năng này sẽ không thể tính toán được. f n nf:NNfnn

Nhưng tất nhiên bạn có thể lập luận rằng đây là gian lận: thực sự, đối với một nhà tiên tri khác, chúng ta có thể có một chức năng khác, do đó có một vấn đề không thể tái tạo. Do đó, một cách khác để hiểu câu hỏi của bạn là như sau: có một hàm không thể tính toán được, nhưng có thể được "tính toán với xác suất dương", theo nghĩa là có một máy Turing có quyền truy cập vào một nhà tiên tri ngẫu nhiên, với xác suất dương (vượt qua lời sấm), tính . Câu trả lời là không, do một định lý về Sacks có bằng chứng khá đơn giản. Trên thực tế, điều này chủ yếu đã được Robin Kothari trả lời: nếu xác suất TM chính xác lớn hơn 1/2, thì người ta có thể tìm tất cả ở tất cả các tính toán tiên tri có thể có với đầu vàof n n f ε > 0 σffnnvà tìm kết quả đầu ra nhận được "phiếu bầu đa số", tức là được tạo ra bởi một tập hợp các phép đo hơn 1/2 (điều này có thể được thực hiện một cách hiệu quả). Đối số thậm chí còn mở rộng đến xác suất nhỏ hơn: giả sử TM xuất ra với xác suất . Theo định lý mật độ của Lebesgue, tồn tại một chuỗi hữu hạn sao cho nếu chúng ta sửa các bit đầu tiên của nhà tiên tri thành chính xác σ , và sau đó lấy các bit khác một cách ngẫu nhiên, thì chúng ta tính f với xác suất ít nhất là 0,99. Bằng cách lấy một ví dụ σ , chúng ta có thể áp dụng đối số trên một lần nữa.fϵ>0σσfσ


8
Thật là một câu trả lời đẹp.
Suresh Venkat

1
Tôi rất đánh giá cao sự rõ ràng của câu trả lời chi tiết của bạn về câu hỏi rối này (với tôi!). Cảm ơn!
Joseph O'Rourke

12

Có lẽ (có lẽ) một sự khác biệt được thực hiện giữa "Turing tính toán" và "tính toán hiệu quả" để trả lời câu hỏi của bạn. Nếu người ta định nghĩa "quá trình ngẫu nhiên" là "một quá trình không thể dự đoán được, bất kể chúng ta có tài nguyên nào" và người ta định nghĩa "quy trình xác định" là "quy trình có thể dự đoán được, được cung cấp đầu vào và truy cập vào (có thể rất nhiều) tài nguyên, "Sau đó, không có chức năng tính toán Turing nào có thể ngẫu nhiên, bởi vì nếu chúng ta biết máy Turing và mô phỏng nó, chúng ta luôn có thể dự đoán kết quả của" thí nghiệm "tiếp theo của quy trình.

Trong khung này, một thử nghiệm Martin-Lof có thể được coi là một quá trình xác định và định nghĩa của một chuỗi ngẫu nhiên chính xác là một chuỗi mà hành vi của nó không được dự đoán bởi bất kỳ quá trình tính toán / xác định / kiểm tra Turing nào của Martin-Lof.

Tuy nhiên, điều này đặt ra câu hỏi: "Một chuỗi ngẫu nhiên có thể tính toán hiệu quả, trong cuộc sống thực không?" Trên thực tế, có một ngành công nghiệp ở đây. Có những đĩa CD được xuất bản với hàng tỷ bit ngẫu nhiên (?) Được sử dụng để thực hiện mô phỏng máy tính của các hệ thống vật lý, v.v. Những CD này đảm bảo rằng chuỗi bit của chúng vượt qua một loạt các bài kiểm tra Martin-Lof. Cuốn sách The Drunkard's Walk: How Randomness Rules our Lives đưa ra lời giải thích pop-sci về vấn đề này, một cách chi tiết hơn.

Điểm không liên quan: Tôi thích cột của bạn. :-)


11

Theo trực giác, "ngẫu nhiên" có nghĩa là "không thể đoán trước" và bất kỳ chuỗi nào được tạo bởi máy Turing đều có thể dự đoán được bằng cách chạy máy, vì vậy máy Turing không thể tạo ra các số "thực sự ngẫu nhiên". Có một số định nghĩa chính thức về các chuỗi ngẫu nhiên (tính ngẫu nhiên chỉ thực sự có ý nghĩa khi độ dài của chuỗi đi đến vô cùng), tất cả đều cơ bản là tương đương. Có lẽ điều tự nhiên nhất trong số này là tính ngẫu nhiên của Martin-Lof, có nghĩa là một chuỗi vượt qua tất cả các thử nghiệm thống kê có thể tính toán được cho tính ngẫu nhiên, và ngẫu nhiên Chaitin có nghĩa là tất cả các chuỗi ban đầu đều không thể nén được (cụ thể hơn, có độ phức tạp Kolmogorov cao). Trong cả hai định nghĩa này, việc tạo ra các chuỗi ngẫu nhiên và nhận ra chúng là không thể. Xem cuốn sách "Thông tin và ngẫu nhiên:


Liên kết để đặt sách tại đây: amazon.com/ từ
Suresh Venkat

Cảm ơn, Ian & Suresh, tôi đang lấy cuốn sách đó từ thư viện của chúng tôi!
Joseph O'Rourke

Một cuốn sách tuyệt vời khác là "Tính toán và tính ngẫu nhiên" của Nies.
Diego de Estrada

11

Tất cả những ai xem xét các phương pháp số học sản xuất các chữ số ngẫu nhiên, tất nhiên, trong tình trạng tội lỗi. Vì, như đã được chỉ ra nhiều lần, không có thứ gọi là số ngẫu nhiên - chỉ có các phương pháp để tạo ra số ngẫu nhiên, và tất nhiên một quy trình số học nghiêm ngặt không phải là một phương pháp như vậy. - John von Neumann


Hà! Trích dẫn tuyệt vời, Jeff! Và với một điểm đáng kể.
Joseph O'Rourke

7

Có vẻ như không ai trả lời phụ lục của bạn, vì vậy tôi sẽ chụp nó:

Nếu tôi có thể mở rộng câu hỏi một chút trong phần phụ lục này: Có phải trường hợp một TM có quyền truy cập vào một nguồn ngẫu nhiên thuần túy (một lời sấm truyền?), Có thể tính toán một chức năng mà một TM cổ điển không thể?

Tôi sẽ cố gắng làm cho câu hỏi chính xác hơn, và sau đó trả lời nó. (Phiên bản của tôi có thể không phải là những gì bạn có trong đầu, vì vậy hãy cho tôi biết nếu không.)

Chúng tôi có một TM xác định với quyền truy cập vào một trình tạo số ngẫu nhiên. TM này bây giờ tính toán một số chức năng (một chức năng thực tế, tức là bản đồ xác định từ không gian đầu vào sang không gian đầu ra) bằng cách sử dụng trình tạo số ngẫu nhiên theo một cách nào đó.

Vì vậy, TM có quyền truy cập vào tính ngẫu nhiên có được phép gây ra lỗi không? Nếu không, DTM phải đưa ra câu trả lời chính xác cho dù nó được cung cấp bit ngẫu nhiên nào. Trong trường hợp này, các bit ngẫu nhiên là không cần thiết, vì bạn chỉ cần lấy chuỗi ngẫu nhiên là 00000 ...

fi(x,r)đụtôir


Tôi thấy điều này sâu sắc: "Nếu không, thì DTM phải đưa ra câu trả lời chính xác cho dù nó được cung cấp bit ngẫu nhiên nào." Cảm ơn!
Joseph O'Rourke

Thật ra tôi không hiểu điều này. Bạn dường như đang đề xuất rằng P = ZPP hoặc một thuật toán ngẫu nhiên không có lỗi (ví dụ thuật toán las Vegas) phải có tính xác định?
Suresh Venkat

Bằng một DTM có quyền truy cập orory quyết định một ngôn ngữ, tôi cho rằng DTM tạm dừng sau một khoảng thời gian hữu hạn. Trong trường hợp này, chúng ta có thể thoát khỏi lời sấm truyền. Đối với lỗi không, chúng tôi chỉ cần thay thế nó bằng 0000 ... và cho bất kỳ mục đích nào khác, người ta có thể dùng vũ lực trên tất cả các chuỗi ngẫu nhiên có độ dài hữu hạn. (Tôi chắc chắn ai đó có thể cho rằng các thuật toán Las Vegas không thực sự là thuật toán vì chúng không nhất thiết phải chấm dứt.)
Robin Kothari

5

Về "câu hỏi chỉnh sửa" của bạn: nó tạo ra sự khác biệt lớn nếu bạn hỏi về khả năng tính toán hoặc độ phức tạp. Nếu có giới hạn phức tạp trên TM, thì bạn có được cái gọi là mô hình nhà tiên tri ngẫu nhiên . Nếu TM có thể sử dụng các tài nguyên lớn nhưng hữu hạn tùy ý, thì bạn đang ở trong thế giới của sự ngẫu nhiên tương đối : có các hệ thống phân cấp ngẫu nhiên của các nhà tiên tri, giống như có các mức độ Turing. (Điểm phụ: một trong những bài phê bình nổi tiếng (trong) của Koblitz và Menze là về việc sử dụng mô hình nhà tiên tri ngẫu nhiên, vì vậy câu hỏi meta của bạn đang chạm vào các cuộc tranh luận học thuật gần đây.)


Chỉ cần làm rõ mặc dù: Joe có muốn một lời tiên tri ngẫu nhiên (về cơ bản là hàm băm ngẫu nhiên) hay chỉ đơn thuần là một nguồn ngẫu nhiên? Đây không phải là điều tương tự, phải không?
Suresh Venkat

Cảm ơn, Aaron, việc đề cập đến hệ thống phân cấp oracle ngẫu nhiên là hữu ích.
Joseph O'Rourke

@Suresh: Ý tôi là một nguồn ngẫu nhiên.
Joseph O'Rourke

Cả hai bạn có thể đi trước tôi ở đây, nhưng tôi đã cố gắng nói rằng tính ngẫu nhiên cần được xác định liên quan đến "khung tham chiếu", tức là các tài nguyên có sẵn để đưa ra dự đoán. Một "nguồn ngẫu nhiên" có thể là ngẫu nhiên đối với máy Turing, nhưng không liên quan đến Halting Oracle. Tôi đồng ý với câu trả lời của Robin Kothari; quan điểm của tôi chỉ là "một nguồn ngẫu nhiên thuần túy" dường như không tồn tại theo các định nghĩa hiện tại, bởi vì chúng ta luôn có thể chéo với nó và có được một cái gì đó ngẫu nhiên.
Aaron Sterling

5

Tôi vẫn đang cố gắng để hiểu câu hỏi đã sửa đổi của bạn, đặc biệt là những giới hạn bạn đặt trên TM. Vì vậy, trong khi câu trả lời này có thể không đạt được chính xác những gì bạn muốn, có thể nó sẽ giúp thu hẹp mọi thứ một chút.

Chúng tôi biết rằng có một kết quả bất khả thi vô điều kiện để xấp xỉ với một yếu tố phụ, khối lượng của một cơ thể lồi xác định (đây là kết quả cũ của Bárány và Füredi ). Ngược lại, chúng ta có thể lấy FPRAS cho vấn đề này bằng cách lấy mẫu. Đây có phải là một ví dụ về sự tách biệt mà bạn đang tìm kiếm?


Kết quả này là cho các thuật toán thời gian đa thức, phải không? Tôi đã giải thích câu hỏi của OP là một về lý thuyết tính toán, không phải là lý thuyết phức tạp. Ý tôi là tôi đã giải thích nó có nghĩa là "Tập hợp các vấn đề được giải quyết bằng nguồn ngẫu nhiên DTM + lớn hơn những vấn đề được giải quyết bởi DTM?"
Robin Kothari

điều này là khả thi. Do đó, nỗ lực của tôi để xác thịt nó chi tiết hơn. Ở cấp độ tính toán, một sự khác biệt đối với tôi sẽ làm mất hiệu lực luận án Church-Turing.
Suresh Venkat

Tôi thích ví dụ âm lượng đó! Mặc dù tôi đã hỏi cụ thể về lý thuyết tính toán, tôi cũng quan tâm đến sự khác biệt phức tạp. Tôi không thấy làm thế nào điều này có thể làm mất hiệu lực CT, bởi vì các câu trả lời trước đó đã xác định rằng một nguồn ngẫu nhiên thực sự không thể tính toán được ...?
Joseph O'Rourke

Tôi nghĩ rằng một khi chúng ta chính thức hóa ý nghĩa của DTM với quyền truy cập vào nguồn ngẫu nhiên (với tiêu chí chấp nhận, xác suất tạm dừng, v.v.), chúng ta có thể chỉ ra rằng mô hình này cũng tính toán chính xác các ngôn ngữ đệ quy.
Robin Kothari

Đúng (trong vương quốc dễ tính). Nhưng bây giờ tôi tự hỏi: giả sử chúng ta xây dựng một chuỗi mà bit thứ i là kết quả của việc chạy máy tính thứ i trên một mã hóa của chính nó. Liệu có thể dự đoán chuỗi này tương ứng với việc giải quyết vấn đề Dừng, và chuỗi này có ngẫu nhiên theo nghĩa Martin-Lof không?
Suresh Venkat
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.