AIに多用されている機械学習も組合せ最適化を行うアニーリングマシンも人の代わりに難しい処理を行うコンピュータ技術だといえます。この2つはどのような違いがあるのでしょうか。実は、決定的に違います。機械学習は蓄積された経験の中から最適な選択肢を推論しますが、アニーリングマシンは定義したルールの上で現在の状況において最適な組合せを選択します。
AIが出来るのは、これまでの過去のデータから学習しそのデータから状況を推論することです。AIを使って勤務シフトを作るとしたらどのような処理が行われるでしょうか。過去に蓄積されたデータから、Aさんはこんな働き方がいいだろう、Bさんはこんな働き方がいいだろう、と推論してシフトを決めていくことになります。
色々なパターンを考える必要があるときは、それに応じた過去のデータを使って学習しておく必要があります。
これに対し、アニーリングマシンが出来るのは、現在の状況から最適な選択肢の組合せを決めることです。例えば、勤務シフトを作る際には、Aさんはこういう希望、Bさんはこういう希望があり、またその職場における勤務上のルールや事情を考慮して、その中で最適と思われるシフトを作成します。
考慮するべきことはすべて定義しておく必要があります。
上述の通り、アニーリングはあるべき条件や制約をすべて考慮し、コスト関数や制約として定義する必要があります。AIは条件や制約を定義する必要はありませんが、考慮したい状況を全て学習する必要があります。
例えば、これまで火曜日に有給休暇を取ったことのない人のシフトに、火曜日の有給休暇を組み入れる必要があったとします。アニーリングマシンではその人が有給休暇を火曜日に取得することを定義すれば考慮をしてシフトを作成できます。対してAIの場合は、その人にとって経験のない火曜日の有給休暇をシフトに入れることを学習できないため、調整や工夫が必要になります。
例えば、シフトを組む際にどの時間にどれくらいの人が必要か、というのは経験的にわかることが多いと考えられます。そこで、スタッフの必要人数予測にはAIを活用します。その上で、働く人の個別の事情を正確に定義してアニーリングマシンでシフトを作成することが出来ます。
このようにAIとアニーリングマシンを組み合わせることで、これまでの経験でどれくらいの人が働けばいいかという予想に合わせて、各人の希望の入ったシフトを作成することが可能となります。
以上のようにAIとアニーリングマシンには大きな違いがあります。一方で、その違いを理解した上で、組み合わせて使うと効果を発揮することがあります。
組合せ最適化を身近な組合せ最適化問題として分かりやすい2つの例を用いて解説します。また、IoT社会における組合せ最適化処理の高速解法の重要性について述べます。
COVID-19の流行に伴い、感染リスクを考慮した制約条件の下、研究員のシフト作成をアニーリングマシンで行うユースケースを紹介しています。
自然災害リスクに対応するため、保険会社が保有する膨大なデータを活用した再保険ポートフォリオ策定をアニーリングマシンで行うユースケースを紹介しています。
初級者向けに、アニーリングマシンで最適化問題を解く工程を、「課題整理と要件定義」「定式化」「入力データ作成」「アニーリングマシン実行」の4段階に分けて手順やポイントを解説します。
アニーリングマシンが得意とする問題の特徴である「二次」「離散」を中心に、知っておくべき数学的前提を易しく解説します。