順列の生成 皆さんはじめまして。みやねゆうじと申します。今回がQiitaデビューです。 さて全ての要素の組み合わせを検査して最適解を求める問題がありますが、これは一般に全数検索アルゴリズムを適用して順列組み合わせを生成して解くことができます。 数学用語では「5個から3個順番に並べる全ての組み合わせ」が「順列(permutation)」で、「5個から順序に関係なく3個選ぶ組み合わせ」が「組み合わせ(combination)」です。ここでは順列のみについて示します。 この生成機能は多くの高級言語の標準ライブラリに入っています。RubyではArrayクラスにpermutationメソッドが組み込まれています。 $ irb > [0, 1, 2].permutation.to_a => [[0, 1, 2], [0, 2, 1], [1, 0, 2], [1, 2, 0], [2, 0, 1],