Bạn có thể cung cấp bất kỳ ví dụ về phân phối đơn biến không thể tạo ngẫu nhiên từ không?
Đặt c là hằng số Chaitin và lấy mẫu (phân phối) biến ngẫu nhiên liên tục c .
Nếu bạn chỉ quan tâm đến việc lấy mẫu các biến ngẫu nhiên có giá trị có thể được xấp xỉ một cách hợp lý bằng các số dấu phẩy động 64 bit hoặc bạn có một số dung sai tương tự đối với lỗi hữu hạn trong giá trị và dù sao bạn cũng không đại diện cho các mẫu của mình một máy Turing , xem xét điều này:
X∼Ber(p)p=1−c01
The two CDFs are piecewise constant: one is 0 on (−∞,c) and 1 on [c,∞). The other is 0 on (−∞,0), then c on [0,1) and 1 on [1,∞). That is, one makes c relevant on the x-axis, the other on the y-axis. I'm not sure which makes sampling most difficult, so pick the one you (dis)like the most ;-)
let's say that by "impossible" we mean also cases that are very computationally expensive, e.g. that need brute-force simulations like drawing huge amounts of samples to accept just a few of them.
In this case, obvious answer seems obvious:
- Sample uniformly the prime factors of n where n is large (i.e. break RSA).
- Sample the preimages of a cryptographic hash function (i.e. generate bitcoin and break git and mercurial).
- Sample the set of optimal Go strategies (with Chinese superko rules, which make all games finite—as far as I understand).
A bit more formally: I give you a large instance of an NP-complete problem (or EXP-complete, etc.) and ask you to uniformly sample the set of solutions for me.
Probably I should accept ⊥ as a solution to no-instances (and no-instances only, and it would be the only solution). I should also come up with a bijection between e.g. integers (assuming you want to sample members of R) and solutions—which is often fairly trivial, just treat base 2 representations as truth assignments for my SAT instance, for example, and maybe use −1 to represent ⊥.
You can easily check whether any given truth assignment satisfies my SAT instance, and having checked them all you know whether any one does, so I have fully specified a CDF by giving you a boolean formula (or circuit), yet to sample the corresponding distribution you have to essentially become something at least as powerful as a SAT-solvability oracle.
So I gave you an uncomputable number which should throw sand in your gears, and I gave you a CDF that's slow to calculate. Maybe the next obvious question to ask is something like this: is there a CDF represented in some efficient form (e.g. can be evaluated in polynomial time) such that it's hard to generate samples with that distribution? I don't know the answer to that one. I don't know the answer to that one.