問題を再帰的に部分問題へ分割して解く分割統治法の特徴

アルゴリズム設計における分割統治法(Divide and Conquer)の説明として「全体を幾つかの小さな問題に分割して,それぞれの小さな問題を独立に処理した結果をつなぎ合わせて,最終的に元の問題を解決する方法である」が適切です。 分割統治法は以下の3ステップから構成されるアルゴリズム設計手法です: 1. **分割(Divide)**: 与えられた問題を、元と同じ構造をもつ複数の小さな部分問題に再帰的に分割する。 2. **統治(Conquer)**: 部分問題が十分に小さくなったら直接解く。 3. **統合(Combine)**: 各部分問題の解を統合し、元の大きな問題の解を構成する。 代表例としてマージソート、クイックソート、高速フーリエ変換(FFT)などがあります。 「粗い解を出し,それを逐次改良して精度の良い解を得る方法」は、ニュートン法などの「逐次近似法」や局所探索法の説明です。 「データの組合せのうち無駄なものを除き,実際に調べる組合せ数を減らす方法」は、「分枝限定法(Branch and Bound)」や「バックトラッキング(枝刈り)」の説明です。 「各時点で最良の解を選択し,これを繰り返すことによって,全体の最適解を得る方法」は、「貪欲法(Greedy Algorithm: 欲張り法)」の説明です。

アルゴリズム設計としての分割統治法に関する記述として,適切なものはどれか。

出典令和3年度 春期 応用情報技術者試験 午前 問7
ア
与えられた問題を直接解くことが難しいときに,幾つかに分割した一部分に注目し,とりあえず粗い解を出し,それを逐次改良して精度の良い解を得る方法である。
イ
起こり得る全てのデータを組み合わせ,それぞれの解を調べることによって,データの組合せのうち無駄なものを除き,実際に調べる組合せ数を減らす方法である。
ウ
全体を幾つかの小さな問題に分割して,それぞれの小さな問題を独立に処理した結果をつなぎ合わせて,最終的に元の問題を解決する方法である。
エ
まずは問題全体のことは考えずに,問題をある尺度に沿って分解し,各時点で最良の解を選択し,これを繰り返すことによって,全体の最適解を得る方法である。