全3871文字
PR

 人工知能(AI)というと機械学習や深層学習が注目されがちだが、実はそれはAIの半分にすぎない。あとの半分、いわば「アナザーAI」は企業の生産計画や物流などで重要な役割を果たす「最適化AI」だ。最適化AIを実現するための技術が、「焼きなまし法」や「ビームサーチ」などの「ヒューリスティックアルゴリズム(メタヒューリスティクス)」である。

 この連載では、競技プログラミングサービスを提供しているAtCoderの高橋直大社長が、アルゴリズムに対する深い知識を生かし、最適化AIを活用している企業を訪ねて取り組みを探っていく。第1回は導入編として、まずAtCoderを取り上げる。同社がヒューリスティックアルゴリズムに特化して開催している「ヒューリスティックコンテスト」などの取り組みを聞いた(聞き手は大森 敏行=日経クロステック)。

AtCoderの高橋直大社長
AtCoderの高橋直大社長
(撮影:日経クロステック)
[画像のクリックで拡大表示]

まず、ヒューリスティックアルゴリズムとは何かを教えてください。

 アルゴリズムは計算の手順を表すものです。普通のアルゴリズムは「一番いい答え」をかちっと見つける感じのものが多い。ところが、一番いい答えを知るために全部の組み合わせを調べようとすると、組み合わせの数が膨大で調べきれないことはよくあります。そこで、一番いい答えを出そうとするのではなく、ある仮定を置くことで全部を計算せずになるべくいい答えを出そうとするアプローチがあります。これがヒューリスティックアルゴリズムです。

 ヒューリスティックアルゴリズムは「人間の経験を利用する」と説明されることもありますが、人間の経験は選択肢の1つでしかありません。「こうすればうまく計算できるのではないか」という仮定を組み合わせて少しずつ答えをよくしていくものはすべてヒューリスティックアルゴリズムだと考えてよいでしょう。

 ある問題を解決しなければならないときに、時間の制約が厳しいことはよくあります。例えば、厳密に解くのに3日かかる方法は企業の業務では現実的でないことが多いでしょう。厳密な答えでなくてもいいから0.1秒で解ける方法のほうが実用には適しています。これが、ヒューリスティックアルゴリズムが使われる理由です。

 ヒューリスティックアルゴリズムは、現在の深層学習のように新しい手法がどんどん生まれているというよりは、ある程度確立された手法を使います。企業などが扱うデータが飛躍的に増え、それに伴って解くべき問題もどんどん増えているため、ヒューリスティックアルゴリズムの重要性が増していると考えています。