人工知能(AI)というと機械学習や深層学習が注目されがちだが、実はそれはAIの半分にすぎない。あとの半分、いわば「アナザーAI」は企業の生産計画や物流などで重要な役割を果たす「最適化AI」だ。最適化AIを実現するための技術が、「焼きなまし法」や「ビームサーチ」などの「ヒューリスティックアルゴリズム(メタヒューリスティクス)」である。この連載では、競技プログラミングサービスを提供しているAtCoderの高橋直大社長が、アルゴリズムに対する深い知識を生かし、最適化AIを活用している企業を訪ねて取り組みを探っていく。 今回は、飲食や美容などさまざまな領域で消費者向けや企業向けのサービスを提供しているリクルートを訪問した。データ関連技術を統括する同社プロダクト統括本部 プロダクト開発統括室 データ推進室 データテクノロジーユニットの阿部直之ユニット長に、最適化AIを使ったサービスの取り組みを聞いた
本書は実践的なアルゴリズムに焦点を当てた、最適化についての包括的な入門書である。 いくつかの指標を制約の範囲で最適化するシステムの設計を目的とするような工学的観点から最適化を取り扱う。 読者は、高次元空間の探索、複数の目的が競合する問題への対応、評価指標への不確実性の取り込み、といった多様な課題に対する計算論的アプローチを学ぶことができるだろう。 数学的アプローチの背後にある考え方が図と例、および演習問題によって説明される他、プログラミング言語 Julia による具体的な実装例も提供されている。 本書で扱うトピックには以下のものが含まれる。 ・微分およびその高次元への一般化 ・局所降下法と局所降下方向を定める1次法および2次法 ・最適化のプロセスにランダム性を組み込む確率的な方法 ・目的関数と制約式がともに線形である線形計画問題 ・代理モデル、確率的代理モデル、それらの最適化への利用 ・不
大阪大学 数理最適化寄附講座教授に聞く、実務における「数理最適化」活用のポイント:リクルート事例で分かる数理最適化入門(終) リクルートにおける数理最適化の応用事例を通じて、数理最適化とは何か、どのようにビジネスに応用できるのかを紹介する連載。最終回は趣向を変え、リクルートのデータサイエンティストが大阪大学の梅谷俊治教授に数理最適化を活用する上でのポイントを聞いた。 本連載「リクルート事例で分かる数理最適化入門」では、数理最適化とは何か、どのような活用法があるのかを、リクルートにおける具体例を通して紹介してきました。 今回は、リクルート以外にもさまざまなプロジェクトに関わり、専門家としての視点からリクルートの取り組みにアドバイスを提供していただいている大阪大学の梅谷俊治教授をお招きし、数理最適化を活用する上でのポイントを、西村直樹と濱田賢吾の2人が伺いました。 ビッグデータ、データサイエン
遭難時に下山を試みてはいけない理由をめちゃくちゃ大雑把にイラストにしました。 山で道に迷ったら頂上を目指しましょう。 #山の日 https://t.co/A7IH9G0UuR
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 発電所はオペレーションズ・リサーチで支えられている 昨今、温暖化問題やロシアによるウクライナ侵攻に端を発するエネルギー情勢の変動により、国内外の電力供給に不安が生じています。 かねてから電力会社は、発電から送電に関わる運営に対する一括した責任によって、電源開発や系統設備の導入を継続的に行って、安定的な電力の供給を担ってました。 しかし、3.11の震災を機に、それ以前から議論のあった電力自由化や総括原価方式の見直しが急速に進み、2016年からオープンな電力市場が形成されました。 さらに一部の電力会社は、発送電分離化され、発電、送電の会社へ
はじめに ビームサーチ(Beam Search)は貪欲法の高速性と全探索の正確性にトレードオフを持たせたヒューリスティック探索手法としてよく知られています。主に文章生成や機械翻訳の分野で活躍している他、私の所属する競技プログラミングの界隈においてもヒューリスティック系コンテストでよく利用されます。一方で、探索アルゴリズムの研究分野においては、ビームサーチの探索方法を変換してより高性能な探索アルゴリズムを生み出そうとする動きも見られます。本記事では、ビームサーチを変換したアルゴリズムの1つであるビームスタックサーチ(Beam-Stack Search)を解説します。ビームスタックサーチとは何者かを簡単に言うとビームサーチを最適解の発見を保証できる形に変換したものと言えます。以下では、まずビームサーチの提案論文を紹介し、当論文を読んでの私見を述べ、最後にビームスタックサーチのアルゴリズムを解説
最近マラソンマッチが流行ってるみたいなので流行に乗って書いてみます 新卒のペーペーですが複数社でヒューリスティックな最適化系のタスクしてきたので参考程度にはなるかも? そもそも最適化とは ja.wikipedia.org まぁこれなんですが、簡単に言うと、パソコンとか数学使って賢いことをすることでリソース(お金)を得る(節約する)ことです。 巡回セールスマン問題(TSP)は有名な例で、複数の荷物を届けるときにどの順番で家を訪れれば最も移動距離が短くできるかみたいな問題は、パソコンを使うと人間よりもかなり賢く解けます。 マラソンマッチとは (組合せ)最適化問題が与えられるので、最もいいスコアが出せた人が優勝!っていう競技です。 昔は海外サイトばかりでしたが、最近はAtCoderというサイトでマラソンマッチが割と頻繁に開かれるようになりました。 競技なので勿論問題設定や各種制約が厳密で、終盤に
これはどんな記事? 本記事は、私がヒューリスティック関連の知識をまとめることになった際に作成したJupyter Notebookを、Qiitaの記事へと改変したものです。 前提としてこれは梅谷俊治先生の「しっかり学ぶ数理最適化 モデルからアルゴリズムまで」という本(以下、教科書と表記)の内容に準拠しています。 そしてその内容の多くは、ありがたいことにネット上の様々な形で公開されており、梅谷先生によるスライド1やスライド2、日本オペレーションズ・リサーチ学会(以下、ORと表記)での記事1や記事2、そしてORの他の方の記事1や記事2などでも類似した内容を見ることが可能です。 (そしてそれ故に、本記事を公開させて頂いています。流石に本家の方がネット上で公開されていない内容を書くのは、例え権利的に問題がないとしても気が引けるので……) また、この記事は、それらの内容を踏まえた上で、私がネット上の様
Optuna™は、オープンソースのハイパーパラメーター自動最適化フレームワークです。「Optuna Meetup #1」では、Optunaのユーザー、導入を検討している方、また開発者を中心に、Optunaの様々な活用方法が共有されました。鈴木氏は、物質の結晶構造の解析におけるOptunaの活用について発表しました。全2回。後半は、Optunaを採用した理由と検証の結果について。前回はこちら 鈴木雄太氏(以下、鈴木):具体的なコードの一例を示したいと思います。ちなみにこのコードは公開しているので、もしよかったら見てみてください。Optuna Examplesからもリンクを貼ってもらっています。 このObjectiveの中ですが、マシンラーニングを見慣れない方は、マシンラーニングのハイパーパラメーターも見慣れない感じかと思います。 例えば、シグナルのバックグラウンドの下に、シグナルとは別に信号
相関係数が0.63の散布図が話題になっているようなので、相関係数が0.63の散布図を作成するPythonスクリプトを作ってみました。 以下のコードは Google Colaboratory 上での動作を確認しています。 乱数の散布図 まずは乱数を使った散布図の描きかたと、相関係数の計算の仕方です。 import numpy as np n_data = 20 X = np.random.rand(n_data) Y = np.random.rand(n_data) import matplotlib.pyplot as plt coeff = np.corrcoef(X, Y)[0, 1] plt.figure(figsize=(5,5)) plt.title("correlation coefficient = {0:.3f}".format(coeff)) plt.scatter(X,
マルコフ連鎖モンテカルロ法(MCMC)と焼きなまし法はともにヒューリスティックの分野でよくつかわれる手法だと思います. この記事では焼きなまし法を少し理論的な面から見たい人のために, MCMC の枠組みから焼きなまし法を説明することを目標とします. MCMC の基本 MCMC の目標とするところは与えられた確率分布 $p(z)$ からその分布に従ったデータの列 $z ^ {(i)}$ をサンプリングすることです.MCMCのアルゴリズムを上手に設計すれば高次元の分布からも効率的にサンプリング可能なことが知られています. 例えばマラソンでは観測結果 $X$ とそれを生成したパラメータ $\theta$ があった場合,その事後分布 $p(\theta | X) \propto p(\theta) p(X | \theta)$ から $\theta$ を MCMC でサンプリングすることで $\t
この記事は競プロ Advent Calendar 2021 14日目の記事です。 こんにちは、クルトンです! この記事ではヒューリスティックコンテストにOptunaを活用する方法について解説しています。 Optunaとは 具体的な使い方 ヒューリスティックコンテストでOptunaを使う Python以外でもOptunaを使いたい! C++側のコード Python側のコード ライブラリのインポート 各種変数 目的関数 探索 logの書き込み 探索過程の可視化 実験結果 おまけ Optunaとは Optunaは公式サイトで以下のように説明されています。 Optuna はハイパーパラメータの最適化を自動化するためのソフトウェアフレームワークです。ハイパーパラメータの値に関する試行錯誤を自動的に行いながら、優れた性能を発揮するハイパーパラメータの値を自動的に発見します。現在は Python で利用
SAIGアルバイトの後藤です。業務では、アルゴリズムの知識を用いた既存処理の高速化やスケジュールの自動作成による業務の効率化を行っています。 配送計画問題など、最適化問題に属する社会課題は、部分問題に巡回セールスマン問題(TSP: Travelling Salesman Problem)を含むことが少なくありません。したがってTSPの基本的なアプローチを知っていることは重要です。TSPは組合せ最適化の代表的な問題として古くから様々なアプローチが試みられており、本記事は専門家の方にとっては既知の内容だと思いますが改めて紹介します。この記事では、2/3-optの焼きなまし法(SA: Simulated Annealing)より良い解法として2/3-optの反復局所探索法(ILS: Iterated Local Search)を紹介します(競技プログラマへ: TSPは焼きなましより山登り + K
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く