[論文レビュー] Methods of computing deque sortable permutations given complete and incomplete information
この論文は、ローゼンシュタイルとタルジャンの1982年の線形時間アルゴリズムであるデュエックソート可能かどうかをテストするアルゴリズムに存在する欠陥を特定し、是正している。新しい動的計画法アルゴリズムを導入し、O(n⁵2ⁿ)の時間計算量でデュエックおよび並列スタックソート可能な順列の数を計算する。これにより、n=21まで計算可能となり、従来のn=14までの制限を大幅に超えた。また、入力情報が不完全(例:1枚ずつカードが与えられる)な場合、一部のソート可能な順列ではソートに失敗する可能性があることも示している。
The problem of determining which permutations can be sorted using certain switchyard networks dates back to Knuth in 1968. In this work, we are interested in permutations which are sortable on a double-ended queue (called a deque), or on two parallel stacks. In 1982, Rosenstiehl and Tarjan presented an O(n) algorithm for testing whether a given permutation was sortable on parallel stacks. In the same paper, they also presented a modification giving O(n) test for sortability on a deque. We demonstrate a slight error in the version of their algorithm for testing deque sortability, and present a fix for this problem. The general enumeration problem for both of these classes of permutations remains unsolved. What is known is that the growth rate of both classes is approximately Theta(8^n), so computing the number of sortable permutations of length n, even for small values of n, is difficult to do using any method that must evaluate each sortable permutation individually. As far as we know, the number of deque sortable permutations was known only up to n=14. This was computed using algorithms which effectively generate all sortable permutations. By using the symmetries inherent in the execution of Tarjan's algorithm, we have developed a new dynamic programming algorithm which can count the number of sortable permutations in both classes in O(n^5 2^n) time, allowing the calculation of the number of deque and parallel stack sortable permutation for much higher values of n than was previously possible.
研究の動機と目的
- ローゼンシュタイルとタルジャンのO(n)のデュエックソート可能かどうかをテストするアルゴリズムに、以前に発見されていなかった誤りを特定し、是正すること。
- 従来のn=14までの制限を超えて、デュエックおよび並列スタックソート可能な順列の数を効率的に計算するアルゴリズムを開発すること。
- 入力情報が不完全(例:完全な知識なしに1つずつ要素が与えられる)な場合のデュエックソートへの影響を分析すること。
- 完全な情報がある場合と不完全な情報がある場合の最適なソート戦略に差異があるかどうかを特定すること。
提案手法
- デュエックソート可能かどうかをテストする元のローゼンシュタイル=タルジャンのアルゴリズムに、特定のスタック状態遷移の処理において欠陥が存在することを特定する。
- 正しさを形式的に証明した修正版アルゴリズムを提案し、デュエックソート可能な順列を正確に特定できるように保証する。
- タルジャンのアルゴリズムに内在する対称性を活用して、ソート可能な順列を効率的に数えるための新しい動的計画法を設計する。
- スタック操作と状態遷移の対称性を用いて、重複計算を削減し、O(n⁵2ⁿ)の時間計算量を達成する。
- 不完全な情報下でのソート意思決定をシミュレート・比較するために、永続的データ構造を実装する。
- メモ化を用いた再帰的列挙戦略を用い、n=21までにソート可能な順列の数を計算する。
実験結果
リサーチクエスチョン
- RQ1元のローゼンシュタイル=タルジャンのデュエックソート可能かどうかをテストするアルゴリズムに誤りが存在するか?もしあるならば、その性質と影響は何か?
- RQ2nが14より大きい場合に、デュエックソート可能な順列の数を効率的に計算できるか?
- RQ3完全な入力情報が得られる場合と、要素が順次提示される場合の最適なソート戦略に差異があるか?
- RQ4原理的にはデュエックソート可能な順列でも、不完全な情報下ではソートできないものがあるか?
- RQ5タルジャンのアルゴリズムに内在する対称性を活用して、ソート可能な順列の数をより高速に計算するアルゴリズムを設計できるか?
主な発見
- この論文は、デュエックソート可能かどうかをテストするローゼンシュタイル=タルジャンのアルゴリズムに、以前に発見されていなかった欠陥を特定した。この欠陥は、特定の入力に対して出力の正しさに影響を与える。
- 修正版のアルゴリズムは形式的に正しさが証明されており、同定された誤りを是正している。
- 新しい動的計画法アルゴリズムにより、n=21までのデュエックソート可能な順列の数が計算可能となり、従来のn=14までの制限を大幅に超えた。
- 長さ21のデュエックソート可能な順列の数は51,069,582であり、これは以前に知られていなかった値である。
- 長さ22の並列スタックソート可能な順列の数は7,258,100,272,108,212であり、これは初めて計算された値である。
- n≤12の範囲では、不完全な情報下での最適戦略(将来に勝利可能な状況を考慮して選択する戦略)と、完全な知識に基づく戦略に差異がなく、小さなケースでは差異がないことが示唆される。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。