4章:決定
本書全体は次の一文に基づいている。
最良の決定を特定するという問題に取り組む前に、そもそも自分がどのような決定を下しているのかを知らなければならないことは、言うまでもない。
第1章で述べたように、「問題」には2種類ある。すなわち、メトリック重視型と決定重視型である。それぞれの例は以下の通りである。
- メトリック重視型の問題:
- サプライチェーン管理 – 在庫を最小化し、営業利益率を最大化する。
- 電力網 – 発電コストを最小化する。
- 公衆衛生 – 死者数を最小化する。
- トラック輸送車両群の管理 – ドライバー1人当たり週間純営業収益を最大化する。
- ホテル経営 – 営業利益を最大化する。
- 大統領選挙運動の運営 – 選挙に勝利する。
- 決定重視型の問題:
- サプライチェーン管理 – どれだけ発注するか、どのサプライヤーを使うか。
- 需要管理 – 製品の価格をどう設定するか、どのマーケティングチャネルを使うか。
- 電力網 – どの発電機を稼働スケジュールに入れるか、どのガスタービンを使うか。
- 糖尿病管理 – 血糖値を制御するためにどの薬を使うか、その投与量はどうするか。
- 投資信託の現金管理 – 償還に対応するためにどれだけ現金を手元に置くか、どの株式に投資するか。
メトリックから出発する場合、我々の課題はそのメトリックを改善する決定を特定することである。決定から出発する場合、問題はメトリックを設計することである。しかし、決定がすでにわかっていると思っていても、見落としがないことを確認しなければならない。
決定の最適化というテーマに関しては膨大な数理的文献が存在するが、それらの書籍でさえ、決定とは何かについての標準的な定義を欠いている。その代わりに、これらの書籍では決定ベクトル「$x$」、あるいは制御「$u$」、あるいは行動「$a$」といった記法を導入し、その後に例を示して、読者が「理解してくれる」ことを期待するのである。これは単純な問題に対してはうまく機能するが、数理モデルと実際の応用との間に壁を作ってしまう。
サプライチェーン管理や公衆衛生問題の解決といった複雑な応用問題では、決定を特定することはメトリックを特定することよりもはるかに難しい。これはメトリックの特定を軽視するものではないが、メトリックという概念は、その分野の専門家とモデラーの両方によく理解されている。どのような決定が関わっているのかと尋ねられると、企業幹部、医療専門家、技術者、科学者はしばしば呆然とした顔をする。「決定」という言葉自体は誰にでも馴染みがあるが、日々の問題解決の中で彼らが使う用語ではないようである。一方、「メトリック」については誰もが何らかの形で理解している。
決定と英語
「決定」に関する章の出発点として、まずその定義を示すのがよいように思われる。ここで注意すべきは、Websterのような標準的な辞書の定義には、英語で使われる際のこの語の通常のさまざまな意味が含まれるということである。例えば、野球の試合に勝つことも「decision」と呼ばれる。本書では「decision(決定)」という語を、選択肢の集合があり、その中から最良の選択をしなければならない状況にのみ用いる。これはもちろん、性能を測るメトリックの特定を前提とする。
まず、決定は常に何らかの形の情報であることに注意しよう。すべての情報を大きく3つのクラスに分類すると理解しやすい。
- ある時点ですでに知っている情報。この情報を我々のシステムの状態(より正確には、知識の状態)と呼ぶ。
- 状態を変化させる、我々が制御する情報。
- 我々が制御しない(ただし影響を与えることはできるかもしれない)、新たに到着する情報。
クラス(2)とクラス(3)の情報は、更新された状態変数(クラス1)を生み出す。ここで我々は決定を定義する準備ができた。
定義(正式): 決定とは、内生的に制御可能な情報クラスである。
つまり、決定(「決定変数」に含まれる)は、選択肢の集合の中から一つを指定することによって我々が作り出す情報を表す。
我々の正式な定義は、本来非常に単純な概念に対して多くの前提を必要とするため、第二の定義を示す。
定義(非公式): 決定とは、我々が制御するものである。
この定義は「情報クラス」の代わりに「もの」という語を用いることでそれを避けているが、要点は伝わる。
我々の両方の定義は、誰が決定を下しているのかという問いを提起するが、これは決定という概念と切り離せないものである。古典的な数理モデルはこの問いを避けているが、実際のシステムのほとんどのモデル化においてはこれが中心的な問題となる。
人間の活動における決定の重要性を考えれば、選択という概念を捉える語が英語に数多く存在することは驚くに値しない。表4.1は、一般的な状況における選択を意味する多くの語を挙げている。「情報収集」という列の下には、どの実験を行うか、誰の話を聞くか、何を観察するか(など)を決めるときに生じる用語がある。「資源に対する行動」というラベルの列には、(人などの)資源を管理する文脈で生じるさまざまな用語が挙げられている。例えば「昇進させる」は、誰かを昇進させるかどうか(そしてどのレベルにするか)という決定を意味する。
この表は、選択を意味する語の網羅的な一覧を意図したものではないが、「決定」が英語においてさまざまな形で現れることを示唆している。
| 一般的な用語 | 情報収集 | 識別に関する決定 | 資源に対する行動 |
|---|---|---|---|
| 行動(Action) | 実験(どれを?) | 識別する | 昇進させる(誰を、どれだけ) |
| 選択(Choice) | 聞く(何を?) | 分類する | 取得する(どれを、どれだけ) |
| 制御(Control) | 観察する | 見出す | 売る(誰に、どれだけ) |
| 決定(Decision) | 試験する(どれを) | 結論づける | 報酬を与える(どれだけ) |
| 設計する(Design) | 見る/走査する | ラベル付けする | 批判する(誰を、どのように) |
| 介入(医療)(Intervention) | 移動させる(どこへ) | ||
| 選択肢(Option) | 取引する(どれを、誰と) | ||
| 移動(どこへ)(Move) | 治療(どれを) | ||
| 応答(どれを)(Response) | 受諾/拒否 | ||
| 課題(Task) | 推薦する | ||
| 取引(金融)(Trade) |
決定を特定する
選択を意味する(あるいは要求する)さまざまな語を理解することは、下すことができる決定を特定する際に重要である。決定には明るいラベルが付いているわけではないことを認識することが重要である。Campbell’s Soup社は、消費者が自分で決定を下していることに気づかせるという課題を、1970年代の有名なコマーシャルシリーズ「I could have had a V8!」で認識していた。同社のマーケティング部門は、人々がしばしば、V8を選ぶこともできたということに気づかないまま、ソーダの缶を手に取ってしまうことに気づいたのである。このコマーシャルは、ソーダを飲むことが一つの決定であることを消費者に気づかせるのに役立った。
ほとんどどのような問題設定においても、人々は自分に選択肢があることに気づかないまま、ある決まったやり方で問題を解決する習慣に陥る。これが我々が一日をやり過ごす方法だとも言えるだろう。なぜなら、選択肢を評価して最良のものを特定するには時間がかかるからである。我々が直面する課題は、まず自分がいつ決定を下しているのかに気づき、その上で成果に最も大きな影響を与える決定を特定することである。
受動的に決定を下すというこの行動はいたるところに見られるが、これは一つの機会でもある。あなたがどのような問題設定(図4.1の左側に示されているようなもの)にいるかを想像してほしい。そして今、あなたが収益性、生産性、健康アウトカムの改善、より良い薬、あるいは農業の改善など、成果を改善したいと考えているとしよう。ここで我々の基本的な文言を思い出してほしい。
より良い{何か}を運営したいなら、より良い決定を下さなければならない。
より良い決定を下すためには、自分がいつ決定を下しているのかを認識しなければならない。良い演習は、自分の「決定の記録帳」を作り、決定が下されていることに気づいたとき(すなわち、そこに選択肢があり、異なる選択も可能であったとき)にメモを取ることである。
決定の種類
我々の枠組み構築のアプローチでは、特定の方法論で扱える決定だけでなく、すべての決定を特定できることが求められる。このプロセスを導くために、以下に10種類の決定を挙げる。これらは、我々の知る限り、我々が制御するあらゆる形態の情報を網羅している。
- 物理的および財務的決定 – これらの決定は、人、設備、施設、製品、商品、水、エネルギーに加え、現金、投資、融資など、物理的・財務的資源の管理において生じる。決定には、資源の購入、売却、移動、変更が含まれる。このクラスはオペレーションズ・リサーチ、工学的制御、およびファイナンスの領域であり、線形計画法、整数計画法、非線形計画法などの手法を大いに活用する。
- 不確実な結果を伴う離散的選択 – これは、新製品の発売、薬の臨床試験への提出、企業の買収といった複雑なプロジェクトを含む活動を扱う一般的な用語である。「プロジェクト」と呼ばれることもあるこれらは、成果指標、資源、財務、システムダイナミクスに対する一連の変化を伴うことがある。特別な場合として、価格の設定や指導的地位への採用者の選定といった、より単純な問題もある。これらの問題は決定分析の文献において人気があり、通常は評価が難しい比較的小さな行動集合を伴う。
- 情報取得/観測に関する決定 – これらには、研究室、現場、あるいはコンピュータシミュレーションで実験を行うことによって情報を取得または観測する決定が含まれる。情報を取得しうる2つの設定を区別すると理解しやすい。
- オフライン学習 - これは試験環境で行われる活動である。オフラインの情報取得には、研究活動、インターネット検索、あるいはその分野の専門家の雇用が含まれうる。
- オンライン学習 - これは、「実行しながら学ぶ」というアプローチを用いて、現場でプロセスを実行し観測する決定を扱う。これは、市場が広告や価格設定にどう反応するか、あるいは患者が治療にどう反応するかといった、プロセスがどのように展開するかを観察することを含む。
どちらのタイプの情報獲得も、特に情報を獲得するために決定を下すことを意味します。情報獲得は、実験計画法(静的または逐次的)、確率的探索、能動学習(または最適学習)、多腕バンディット、ベイズ最適化といった名称のもとで研究されてきました。
- 情報伝達/共有決定 – これには2つの形式があります。
- メッセージング – これはテキスト、動画、および/または音声で何を伝えるかを反映します。メッセージングの現代的な例にはプロンプト最適化が含まれます。
- チャネルとタイミング – これはチャネル(テキスト/メール、出版(印刷またはオンライン)、ソーシャルメディア、広告チャネル)の選択、およびタイミングと頻度を反映します。
- 性能指標と目的 - これらは、収益の最大化、コストの最小化、材料の強度や薬剤の効果の最大化、空車走行距離の最小化など、達成しようとしていることを定量化するという重要な選択を表します。これらは目的関数に組み込むことも、制約条件として表すこともできます。
- 関数の選択 – 決定として見過ごされがちですが、関数は決定を下す方法(方策)、最適化モデルの定式化、性能指標の選択、予測や推定の手法、または(疾病の広がり方などの)遷移関数であり得ます。このカテゴリは関数の選択、つまりその構造をカバーします。
- パラメータの設定 – 関数は通常、1つ以上のパラメータ(通常は連続的だが常にそうとは限らない)によって特徴付けられ、これらは(統計モデルを当てはめる際の)予測精度を向上させるために調整されたり、(決定を下すための方策を調整する際の)性能を向上させるために最適化されたりします。パラメータは関数に関連付けられることがあり、性能指標に対する重みであったり、性能指標の目標値(または限界値)であったりします。
- 推定または識別 – 人物の写真を与えられ、その人物を特定するよう求められ、正しく識別する回数を最大化したいという場合があります。大規模言語モデルは単語(実際にはトークン)の集合を与えられ、次に来る最も可能性の高い単語(またはトークン)を特定しようとします。
- 特徴と行動 - 新しいソフトウェアパッケージの特徴、新製品の設計、あるいは(個人、組織、政治団体として)どのように行動するかを選択することがあります。
- 何を決定するかを決める - ほとんどの実際の応用において、潜在的な決定(すなわち、選択に直面するあらゆる場面)の数は非常に多くなり得ます。どの決定が、正式な分析を行うことを正当化するだけの最大の経済的価値を持つかについて優先順位をつけなければなりません。
決定変数の種類
決定は様々なスタイルで現れますが、決定変数は通常、以下のカテゴリのいずれか(または複数)に分類できます。
- 二値 – ここでは選択肢が2つしかなく、以下のようなものがあります。
- ある行動を実行するかしないか。
- 資産を保有するか売却するか。
- ウェブページのデザインに関するA/Bテストで、現在のデザインと新しい、または修正されたデザインのどちらかを選択する必要がある場合。
- 臨床試験において薬剤や治療法のテストを継続するか、試験を終了するか。
- 離散的な選択肢または行動の集合 – これは間違いなく最も一般的な決定問題の形式であり、以下のような離散的な選択肢または行動の集合がある場合に生じます。
- 部品のサプライヤーを選択する。
- 薬剤や医療処置を選択する。
- マーケティングチャネルを選択する。
- 施設の立地を選択する。
- 連続スカラー – 例としては以下があります。
- 製品の価格を設定する。
- 薬剤の投与量を選択する。
- 大統領選挙キャンペーンにおいて、ある市場での広告にどれだけ支出するかを決める。
- ミューチュアルファンドの手元現金をどれだけ保有するかを選択する。
- 離散ベクトル – 人員、機械、仕事などの離散的な資源の管理を伴う問題は数多くあります。製品をどこで購入するかといった単一の離散的な選択肢の集合がある場合、すべての選択肢を列挙するのは容易です。しかし、例えば100台の機械を数百の仕事に対応させるスケジューリングを決定する必要がある場合は、専用のアルゴリズムが必要になります。
- 連続ベクトル – 自動車、航空機、ロケットの制御など、少数の連続的な決定を伴う問題があります。また、多くの資産クラスに資金を配分する、あるいは州内の百の郡にナロキソンキットを大量に配分するなど、多数の連続パラメータを伴う問題もあります。これらの問題を解決するための強力な探索アルゴリズムが存在します。
決定がシステムに与える影響
「決定」を抽象的な概念として語ることは意味がありません。まず、決定が何らかの形でシステムを変化させることを認識しますが、それはどのように変化させるのでしょうか。
決定がシステムに影響を与える方法には3つあります。
- 物理的資源 – これは、人、設備、施設、食料、水、エネルギーなど、物理的なものを購入、売却、または何らかの形で変更する場合です。
- 金融的資源 – これは、現金、投資、融資、保険契約、通貨ヘッジ、そして価格になり得ます。
- 情報的資源 – これは、推定や信念を更新するために使用される、研究室での実験、コンピュータシミュレーション、あるいはフィールドテストを実施する決定を含み得るカテゴリです。性能目標の設定、指標の設計、または販売契約の条件の指定を伴う場合もあります。
これらのカテゴリには、通貨ヘッジと販売契約の条件の区別のように、いくらかの重複があります。重要なのは、システムが時間とともにどのように進化するかに影響を与える方法の幅広さです。
モデリングフレームワークを進めていく中で、あらゆる決定について以下のことを理解する必要があります。
- その決定は現在の性能指標にどう影響するか。
- 今下す決定は、次の決定を下す前のシステムの状態にどのような影響を与えるか。
- その決定は、決定が下された後に到着する新しい情報に影響を与えるか。
第II巻では、これらの点を数学的記法を用いて説明します。
決定のタイミング
決定に関する最も重要でありながら難しい属性の1つは時間に関するものであり、具体的には以下の通りです。
- 決定が下される頻度 – 決定は大きく2つのクラスに分けることができます。
- 設計決定 – 計画期間にわたって(最初に)一度だけ下される決定です。実際には、設計決定でさえ時間とともに変化しますが、妥当な計画期間内で一度だけ下される決定を持つことは一般的です。
- 制御決定 – これらは時間の経過とともに繰り返し下される決定ですが、様々な決定が異なる時間間隔で下される複雑なシステムがあります。例えば、電力網の運用者は蒸気発電機のスケジューリングを毎日一度計画し、ガスタービンは1時間ごとに計画されます。特定の発電機の速度調整は5分ごとに行われ、電圧レベルを調整する信号は2秒ごとに送信されます。
- 遅延時間 – 決定が下されてから、それがシステムに影響を与えるまでに遅延が生じることがよくあります。例えば以下の通りです。
- 在庫の発注は、到着までに数週間から数ヶ月かかることがあります。
- 薬剤の投与は、患者に影響を与えるまでに数分、数時間、あるいは数日かかることがあります。
- 電力網の運用者は蒸気プラントの稼働スケジュールを前日に計画しますが、ガスタービンを起動する決定には30分前の通知が必要です。
- 価格変更は、数日から数週間は売上に反映されないこともあれば、市場に数ヶ月にわたって影響を与えることもあります。
- 遅延を伴う決定の事前計画 – 決定がいつ下され、いつシステムに影響を与えるかという次元に加えて、将来に向けて計画を立てる際のタイミングについても考慮する必要があります。例えば以下の通りです。
- あるメーカーはアジアから発注する際に8ヶ月のリードタイムに直面するかもしれませんが、不足が生じた際には、(より高いコストで)少量であればはるかに速い納期を得ることができます。手元に維持すべき在庫量を考える際、メーカーは、より高コストだが近いサプライヤーへの発注という選択肢がなければ、はるかに大量の在庫を維持しなければなりません。しかし、この選択肢が利用可能な場合、メーカーは需要急増時にこの近いサプライヤーを利用するという選択肢を検討できます。
- 航空会社はしばしば航空機の購入を最大10年先まで計画する必要がありますが、より高いコストでより速い納入を交渉することができます。これにより、航空会社は旅客数が計画よりも速く増加した場合にこれを選択肢として検討することができます。あるいは、この選択肢を行使するまでどれだけ待つかに応じたコストで契約をキャンセルすることもできます。
誰が決定を下すのか
複数の意思決定者(またはエージェント)が存在する状況は数多くあります。マルチエージェントの状況の例には以下が含まれます。
- メーカーとサプライヤー、あるいは顧客との交渉、または医師と患者の間のやり取りで起こり得るような、2人の対等な意思決定者(しばしばプレイヤーと呼ばれる)。
- 一方が支配的な立場にある2人の意思決定者。例えば、「現場のエージェント」が「中央のエージェント」に資源を要求し、中央のエージェントが要求のどの程度を満たすかを制御しているような場合です。
- 数社の企業が互いに競争している場合(自動車や工業用化学薬品を販売する業界に例が見られます)、あるいは同じ企業内の同じ階層に複数の組織単位がある場合に生じ得る、複数のエージェント。
- エンジンや自動車全体などの部品を作るために異なるメーカーが構成部品を提供するサプライチェーンで生じるような、多数のエージェント。
- 未知の環境について学習する単一のエージェント。これは不確実性を伴う任意の問題をモデル化する方法です。未知の環境とは、天候、集団における疾病の存在、あるいは製品を購入する市場であり得ます。
本シリーズの後半でマルチエージェント問題に戻り、(第II巻で提示される)記法を拡張して複数の意思決定者を扱う方法を示します。今のところは、2人以上の意思決定者のうちの1人であるかもしれない単一の意思決定者に焦点を当てます。
この段階で意思決定者を明示的に特定することを避けるいくつかの理由があります。
- 決定の組織構成は、同じ業界(トラック輸送やサプライチェーン管理など)や問題領域(公衆衛生など)の中でさえ異なる場合があります。
- コンピュータモデルの開発を目指している場合、決定がどのように組織化されているかを変更したいと考えているかもしれません。モデラーは、単純化のため、あるいはより良い結果が得られる可能性があるという理由から、一連の決定を単一のエージェントが下しているかのように扱いたいと考えることがあります。
- 様々なタイプの決定を列挙する目的は、それらすべてを単一のモデリングプロジェクトで取り組むことではありません。むしろ、モデルの目標を特定し、そのプロジェクトの目標に関連する決定を選択することが必要です。
- 読者には、単一の意思決定者の視点からこれらのプロジェクトに取り組むことをお勧めします。これは必ずしも組織内で実際に決定がどのように下されているかと一致する必要はありません。これは第II巻での普遍的モデリングフレームワークの最初の提示によって裏付けられます。
今のところ、マルチエージェントの状況に直面した場合には、各エージェントを個別に扱い、それぞれの指標と決定を特定することをお勧めします。不確実性はしばしばより広い環境に影響を与えますが、各エージェントは自身の決定や性能指標に関連する固有の不確実性を持つ場合があります。
コンピュータによる意思決定
コンピュータは非常に単純明快な方法で決定を下します。まず、決定のタイプと可能な(実行可能な)決定の集合を把握することから始まります。次に、あらかじめ指定された方法を用いて決定を「下し」ます。これは、実行可能な(または許容される)決定の集合の中から特定の選択を行うことを意味します。
まず、これらの意思決定手法をどのように呼ぶかを紹介します。
定義: 方策とは、決定が下される時点で利用可能な情報を用いて、許容される決定を選択する方法です。
方策を設計するための大きな戦略は2つあり、それぞれがさらに2つのクラスに分けられ、決定を下すためのあらゆる方法を含む4つの方策クラスが生まれます。それらは以下の通りです。
方策探索(Policy search) - この戦略は、時間の経過とともにうまく機能するように調整する必要のある関数を作成します。これらは、将来を直接計画することなく決定を下します。これらは2つのクラスに分けることができます:
- 方策関数近似(PFA)
- コスト関数近似(CFA)
先読み方策(Lookahead policies) - この戦略は、現在の決定のパフォーマンスと、現在の決定が将来に与える影響の近似を合わせて最適化することにより、今すぐ最善の決定を下そうとします。これらも2つのクラスに分けることができます:
- 価値関数近似(VFA)に基づく方策。
- 直接先読み近似(DLA)。
これらの各方策について以下で説明します。
方策関数近似(PFA)
方策関数近似(PFA)は、既知の情報を入力として与えると、取るべき行動を出力として生成する任意の解析関数を表します。以下にいくつかの例を示します:
- 在庫発注方策は、在庫がレベル「s」を下回ったときに発注し、在庫を「S」まで引き上げることがよくあります。「s」と「S」は調整が必要なパラメータです。
- 医師は、患者のA1c値(3〜5か月間の血糖値のローリング平均を反映)が6.5を超えたときにインスリン注射を処方し、6.0を下回ったら中止することがあります。ここでも、最適に機能する値を見つけるためにこれらの数値を変える必要があります。
PFAは、線形または非線形関数などの任意の解析関数であり得ます。PFAに含めることができないもの(残りの3つの方策クラスにはそれぞれ含まれるもの)は、埋め込まれた最適化問題です。PFAは単純なルールであることもありますが、ニューラルネットワークのような非常に高次元の非線形関数であることもあります。
コスト関数近似(CFA)
意思決定を行うための最良のアプローチが、ある時点での決定論的近似を使用し、それを様々なパラメータで修正することで、適切に調整されると時間の経過とともにうまく機能する決定を生み出す、という問題は数多く存在します。これは実務で広く使われているアプローチですが、a) 決定を改善するためにパラメータを導入できる可能性、または b) パラメータを調整することでより良い結果が得られるという認識、のいずれか、あるいは両方が認識されないまま用いられていることがよくあります。
このアプローチの最も単純な例を図4.2に示します。ここでは、ソーシャルメディアでどの製品を宣伝するかを選択する必要があります(第2章のインテリジェントな試行錯誤の節に記載されている離散選択を伴う任意の問題に置き換えることができます)。過去の経験に基づいて各製品の価値の点推定値がありますが、これには多くのノイズが含まれることがわかっており、その結果、推定値が不正確になることがあります。また、過去の経験を使って標準偏差を推定することもでき、これは不確実性の広がりの尺度となります。通常、真の値がプラスマイナス2標準偏差以内にあることを95パーセント確信できます。
これから行うのは、各製品$x$について、以下で与えられる「指標」を作成することです:
\[Index_x = \text{Avg.value}_x + \theta \,(\text{std.dev}_x)\]そして、「$Index_x$」の値が最も高い製品$x$を宣伝するように選択します。以下の最適化問題(これは決定論的です)を解くことで、製品$x$を見つけます:
\[\max_x \{\text{Avg.value}_x + \theta \,(\text{std.dev}_x)\}\]この最適化問題を解くのはかなり単純です。値$\text{Avg.value}_x + \theta (\text{std.dev}_x)$を並べ替えて、最も高い値を持つ製品$x$を見つけるだけです(決定論的最適化が難しいものだと思っていたかもしれませんが!)。
そこで課題となるのは、調整可能なパラメータ$\theta$を選ぶことです。$\theta = 0$を使うということは、現在の推定値をそのまま使うことを意味します。問題は、不運が続いたために推定値「$\text{Avg.value}_x$」が低くなっている場合、製品$x$の宣伝を二度と試さなくなるかもしれないということです。$\theta = 2$を使うと、製品$x$の価値について非常に楽観的な推定値を使用することになり、不確実性のレベルが高い製品を試すことが促進されます(これは必ずしも悪い戦略ではありません)。
パラメータ化された決定論的近似を使うという考え方は、非常に強力です。航空会社は、各フライトの天候遅延の推定値を使用してスケジュールを最適化する際にこれを利用しています。もし中央値を使えば、半分の時間はスケジュールで予想されているよりも遅延が大きくなり、その結果、航空機の到着遅延が多数発生し、後続のフライトが遅れることになります。しかし、90パーセンタイルを使うと、スケジュールに余裕を持たせすぎてしまい、航空機の稼働率が低下する可能性があります。
パラメータの集合$\theta$をシミュレータで調整することを考えるのが最も簡単ですが、(航空会社のスケジューリング問題のように)問題が複雑すぎる場合がよくあります。このため、オンライン学習を行う必要が生じることがあります。つまり、現場で異なる値をテストして、実際のパフォーマンスを観察するのです。
価値関数近似(VFA)
トラックの車隊を配車し、貨物の積み込み場所から配送場所まで移動させるためにドライバーを割り当てなければならない状況を想像してください。図4.3は、この問題が時間の経過とともに繰り返し解かれなければならないことを示しています。月曜日に決定した内容は、火曜日と水曜日のドライバーの位置を変えることになります。荷主は毎日事前にわからない新しい貨物のセットを電話で伝えてくるため、運送会社は火曜日や水曜日に何が起こるかわからないまま、月曜日に割り当ての決定を下さなければなりません。
不確実性の存在下で複数日にわたる期間を最適化することは、非常に複雑な作業です。その代わりに、図4.4に示すように、将来のドライバーの価値を近似することができます。これは、将来に向けてシミュレーションを実行し、異なる場所にいるドライバーの価値を計算することによって行うことができます。これらの価値(「価値関数近似」と呼ばれる)を組み込むと、月曜日に解かなければならない問題は、ドライバーを異なる場所に送ることの影響を完全に無視した場合と同程度の複雑さになります。
特定の状態に到達することの価値を近似する戦略は、研究文献において非常に人気がありますが、その成功は特定の問題の構造に大きく依存しており、特別に構造化された少数の問題に対してのみうまく機能する傾向があります。
直接先読み近似(DLA)
将来を計画しなければ、今の決定を下すことができない問題が数多く存在します。直接先読み方策の最も身近な例の一つは、Google マップを使って目的地までの経路を計画する場合です。
DLA方策は、2つのサブクラスに分けることができます:
- 決定論的先読み - 交通遅延など、不確実な量の点推定値を使用する場合です。
- 確率的先読み - ここでは、目的地に向かって運転している間に発生する可能性のある交通遅延など、直面する不確実性を明示的にモデル化したいと考えます。このクラスをさらに2つのタイプに分けると理解しやすくなります:
- 離散選択を伴う問題 - これらは通常、決定木を使って解かれる問題です。
- 決定がベクトルである問題 - ここでは、多次元空間を探索するために数理計画法のツールを使う必要があります。
決定論的先読みを細分化する必要がないことに注意してください。なぜなら、各時間period(時間ステップ)の決定がスカラーであっても、先読みモデル全体は、計画期間にわたる時間ステップにまたがる決定のベクトルを最適化する必要があるからです。
図4.5(左)は、Googleマップが午後4時に出発する場合の、コネチカット州ハートフォード(右上)からニュージャージー州プリンストン(左下)までの経路を計画する例を示しています。この経路がニューヨーク市を直接通過していることに注目してください。これは、交通量が最も多いと予想される午後5時頃に起こることになります。Googleマップは点推定値を使用しており、それでもこれが最短経路だと判断しています。
もちろん、知識のある旅行者であれば、午後5時のニューヨーク市を通過する実際の移動時間には大きな不確実性が伴うことを理解しているでしょう。図4.5(右)は、Googleが提供する代替ルートを示しており、旅行者は、より短いと予想されるがはるかに長くなるリスクがある経路と、Googleが推定する時間に近いことが予想されるわずかに長い経路との間で選択する機会を得られます。
したがって、最初の経路は決定論的先読みの例ですが、利用者はその推奨を評価する際に不確実性を導入することができます。2番目の経路を選択することで、確かに場当たり的なやり方ではありますが、確率的先読みを解いていることになります。
不確実な将来に向けて計画を立てるとき、今決定を下すのを助けるためにこのプロセスをモデル化する戦略には幅広い種類があります。一つの戦略は、点予測(つまり決定論的先読み)を使用しつつ、解をより頑健にする調整可能なパラメータを導入することです。
ハイブリッド方策
4つの方策クラスに加えて、これらのクラスのうち2つ、3つ、あるいは4つすべてを組み合わせた様々なハイブリッドを作成することができます。サプライチェーンの設定を使ったいくつかの例を以下に示します:
- CFAとPFAの組み合わせ - 最低コストのサプライヤーを選択するが、高リスク企業を除外するルールを併用する。
- 先読み(DLA)とVFAの組み合わせ - 季節生産計画を最適化するが、期末在庫の価値を捉える関数を併用する。
- パラメータ化された決定論的直接先読み(DLA/CFA) - $\theta$パーセンタイル(例えば80パーセンタイル)の需要予測を使用して季節生産計画を立てる。
- PFAを使ったVFA方策 - 各倉庫の在庫を評価するためにVFAを使う配送計画だが、特定の場所への配送を強制するルール(PFA)を使用する。
- VFAとCFAの組み合わせ - 線形モデルを用いたVFAベースの方策から始め、シミュレータを使って線形VFAのパラメータを調整し、最良の結果を得る。
これらの方策は複雑に聞こえるかもしれませんが、人間の意思決定がこれらのそれぞれを使用している具体的な状況を説明することができます。例えば、最も複雑な方策は確率的先読みを使用します。これは、ニューヨーク市の渋滞リスクを避けるためにより長い経路が選択された、上述のGoogleマップを使ったナビゲーション問題で示した通りです。
どの方策が最も広く使われているか?
方策について議論することは、複雑で紛らわしく聞こえるかもしれません。以下のことを覚えておくことが重要です:
- 誰もが決定を行っている。私たちは皆、日々の生活を送る上での状況や、仕事の中で生じる決定に日常的に直面している。
- 私たちが決定を行うとき、私たちの脳は4つのクラス(場合によってはそのハイブリッド)のいずれかに属するある方法を用いている。
まず、4番目のクラスであるDLA(direct lookahead approximation)を、決定論的先読みと確率的先読みの2種類に分ける。次に、後者のタイプである確率的先読みを2つのサブタイプに分ける。すなわち、決定が一連の離散的選択肢のうちの1つである問題と、決定が資産配分や機械へのタスク割り当てのようにベクトルである問題である。
これにより、6種類の方策が得られ、それらを4つのカテゴリーに分ける:
カテゴリー1 - このカテゴリーには3種類の方策が含まれる:
- 方策関数近似(PFA)。これには「寒くなったらコートを着る」や「セールになったら商品を買う」といった単純な規則がすべて含まれる。PFAは「この状態であればこの行動を取る」というルールベースのものもあれば、解析的な関数であることもあり、この話題については第III巻で改めて取り上げる。
- コスト関数近似(CFA)。これには、決定論的最適化問題(通常は不確実性を伴う実際の問題の近似)を解く必要のあるあらゆる手法が含まれ、図4.2の離散選択問題がその例である。
- 決定論的直接先読み近似(Det-DLA)。ここでは、Googleマップが行うように、不確実な量については点推定値を用いて未来を計画する。
CFAとDet-DLAはいずれも決定論的最適化問題を解くことを伴うが、唯一の違いは、CFAが未来を計画しないのに対し、DLAは未来を計画する点である。
カテゴリー2 - 決定が離散的選択である確率的先読み方策。ここでは、各選択肢の評価における不確実性を明示的にモデル化する。これらは決定木という手法を用いて広く研究されている。
カテゴリー3 - 価値関数近似に基づく方策。ここでは、ある決定は、即時のコストまたは報酬に加え、ある状態へ遷移することによる将来価値の推定値を考慮する。これは高度で計算上困難なクラスの方策であり、少数の特殊な問題に対して必要となる。
カテゴリー4 - 決定がベクトルである確率的先読み方策。これは非常に複雑なクラスの問題であり、複雑な戦略を必要とする。というのも、確率的先読みはそれ自体が別の確率的最適化問題であり、計算複雑性を低減するための簡略化が導入されるからである。
カテゴリー1の方策は、正式な訓練の有無にかかわらず誰もが使用している。これらの方策は最も単純であるが、そのためには調整しなければならないパラメータを導入する必要があり、これが困難な場合がある。
人間の脳は、少なくとも離散的選択の文脈においては、4つのクラスの方策すべてを使用する自然な能力を進化させてきた。私たちは、自分でも気づかないうちにこれらのクラスを切り替える方法さえ知っている。もしチェスをしているなら(そのゲームにある程度の経験があれば)、最初の数手はおそらく記憶に基づいて指しているだろう(熟練したプレイヤーはかなり多くの手を記憶から実行できる)。これは純粋なPFAである。しかし、ある時点で相手が何をするかを考え始めるが、これは直接先読み方策を伴い、通常は主要な駒を失うことの価値を捉えることができるVFAと組み合わされる。
演習問題
復習問題
- 決定の形式的定義、非形式的定義、および決定の3つの例を示せ。
- 「内生的に制御可能な情報クラス」が意味するものを説明せよ。同じ文脈で説明されている他の2つの情報クラスは何か。
- 以下の各カテゴリーに該当する決定の例を挙げよ:
- 二値的決定。
- 少なくとも5つの選択肢を持つ離散的選択肢の集合。
- 一度に行わなければならない異なる決定が少なくとも10,000個ある場合。
- 連続的決定の例を5つ挙げよ。
- 次の3種類の決定それぞれについて、3つずつ例を挙げよ:
- 決定が物理的資源に影響を与える場合。
- 決定が金融資源に影響を与える場合。
- 決定が情報の収集または配布に影響を与える場合。
- 異なる時間スケールで決定を行わなければならない状況を3つ挙げよ。その状況と決定のタイミングを説明せよ。
- 4つの方策クラスを自分の言葉で要約し、それぞれについて何らかの問題設定における例を挙げよ。
モデリング演習
- 各カテゴリーに該当する決定の例を挙げよ:
- 毎分(あるいはそれより短い間隔で)行わなければならない決定。
- 毎日行わなければならない決定。
- 毎年行わなければならない決定。
- それぞれの状況において示唆される決定と、その決定を行う決定者を特定せよ。
- ある個人が、医薬品開発者が策定したプロトコルに従う医師から処方された薬を服用しなければならない。
- 電力網は、どの蒸気発電所をいつ稼働させるかを電力会社に伝えなければならない。スケジューリングの決定は前日に実行されるコンピュータモデルによって行われる。
- ある投資信託のマネージャーは、個人投資家(少額)および機関投資家(高額)による預け入れおよび解約請求に対応するために、どれだけの現金を手元に保持すべきかを決定しなければならない。
- 方策関数近似の例を3つ挙げよ。その状況とPFAがどのように機能するかを説明せよ。
- 離散選択問題に対するコスト関数近似の例を挙げよ。
- あなたはGoogleマップを使って、午前8時30分までに職場に到着できる経路を探している。また、時間通りに到着するためにどれだけの余裕時間を取るかも決めなければならない。行われている決定を記述し、それぞれの決定にどの種類の方策が使われているかを述べよ。
- チェスをプレイするコンピュータプログラムを設計するとしたら、どのようなクラスの方策を使用するか、できるだけ多く記述せよ。特定した各クラスの方策がどのように適用されるかを説明せよ。