一定の時間と空間のみを使用して、[n]にkワイズの独立した置換を構築できますか?
してみましょう固定一定です。整数与えられた場合、次のような順列を作成します。N σ ∈ S Nk>0k>0k>0nnnσ∈Snσ∈Sn\sigma \in S_n 構築には一定の時間とスペースが使用されます(つまり、前処理には一定の時間とスペースがかかります)。ランダム化を使用できます。 所与、、一定時間と空間で計算することができます。σ (I )i∈[n]i∈[n]i\in[n]σ(i)σ(i)\sigma(i) 順列は方向に独立しています。つまり、すべてのについて、確率変数は独立しており、に均一に分散されます。kはiが1、... 、iがkを σ (I 1)、... 、σ (I K)[ N ]σσ\sigmakkki1,…,iki1,…,iki_1, \ldots, i_kσ(i1),…,σ(ik)σ(i1),…,σ(ik)\sigma(i_1), \ldots, \sigma(i_k)[n][n][n] 私が現在知っている唯一のことは、擬似ランダムジェネレーターを使用して値ごとに対数空間と多項式計算時間を使用することです。σ(i)σ(i)\sigma(i) バックグラウンド 最近の作業には上記のようなものが必要でしたが、結局もっと弱いものを使用することになりました。繰り返し入力を許可し、必要なすべての数がカバーされていることを確認しました(つまり、混乱)。具体的には、時間で計算でき、定数空間を使用して方向の独立したシーケンスを取得しました。もっと単純なものを持っているか、知られていることを知っているだけでいいでしょう。O (1 )kkkO(1)O(1)O(1) 仮定 単価RAMモデルを想定しています。メモリ/レジスタのすべてのワードのサイズはであり、すべての基本的な算術演算には時間かかります。私は、合理的な暗号化の仮定(一方向関数、離散ログなど)を想定します。O (1 )O(logn)O(logn)O(\log n)O(1)O(1)O(1) 現在のもの Kavehが提案したように、これは私が現在持っている「簡単な」ハックです(これはかなり標準的です):ましょう素数多項式である(をと考えてください)。ここで、各はから均一かつランダムにサンプリングされます。それことを確認することは容易である反復を有する配列であるが、それは独立-wise、及びおおよその数のがこのシーケンスに表示されます。ただし、数値はこの順序で繰り返されるため、順列ではないことに注意してください。P P N I [ P ] σ (1 )、σ (2 )、... 、σ (N …