

秘書問題は、最適停止理論[ 1 ] [ 2 ]を含むシナリオを示しており、応用確率、統計、および決定理論の分野で広く研究されています。これは、結婚問題、スルタンの持参金問題、気難しい求婚者問題、グーゴルゲーム、および最良選択問題としても知られています。その解は37%ルールとしても知られています。[ 3 ]
問題の基本的な形式は次のとおりです。管理者が、最高の秘書を雇いたいと思っています。職位に応募する候補者は、順位付けが可能です。応募者はランダムな順序で一人ずつ面接されます。各応募者に対する決定は、面接後すぐに下されます。一度不採用となった応募者は、再面接を受けることはできません。面接中、管理者は、これまでに面接したすべての応募者の中で、応募者を順位付けするのに十分な情報を得ますが、まだ面接していない応募者の資質については知りません。問題は、最良の応募者を選択する確率を最大化するための最適な戦略(停止ルール)です。決定を最後に延期できる場合は、実行中の最大値(およびそれを達成した人)を追跡し、最後に全体の最大値を選択するという単純な最大選択アルゴリズムで解決できます。難しいのは、決定をすぐに下さなければならないことです。
これまでに知られている最も短い厳密な証明は、オッズアルゴリズムによって提供される。これは、最適な勝率が常に少なくとも(ここでeは自然対数の底である)、そして後者はより一般的な場合にも成り立つ。最適な停止ルールは、常に最初のものを棄却することを規定している。面接を受けた応募者の中から、これまで面接した応募者の中で一番優れた応募者が見つかった時点で面接を止めます(または、そのような応募者がいない場合は最後の応募者まで続けます)。この戦略は、停止ルール、なぜならこの戦略で最良の応募者で停止する確率はすでに約中程度の値の場合秘書問題がこれほど注目を集めている理由の一つは、この問題に対する最適な方針(停止ルール)が単純で、応募者が100人であろうと1億人であろうと、約37%の確率で最良の候補者を1人選ぶことができるからである。秘書問題は探索と活用のジレンマである。
様々なバリエーションが存在するものの、基本的な問題は以下のように述べることができる。
候補者とは、面接を受けた時点で、それまでに面接を受けたすべての応募者よりも優れている応募者を指します。「スキップ」とは、「面接後すぐに不採用にする」という意味です。この問題の目的は、最も優れた応募者を一人選ぶことなので、候補者のみが採用対象となります。この文脈における「候補者」は、順列におけるレコードの概念に相当します。
この問題に対する最適な方針は停止ルールである。このルールの下では、面接官は最初のr − 1 人の応募者を拒否し(応募者Mをこれらのr − 1 人の応募者の中で最も優れた応募者とする)、次に応募者M よりも優れた最初の応募者を選択する。最適な戦略はこの戦略のクラスに属することが示される。任意のカットオフrに対して、最も優れた応募者が選択される確率は
r = 1の場合、合計は定義されませんが、この場合、実行可能な唯一のポリシーは最初の応募者を選択することであり、したがってP (1) = 1/ nとなります。この合計は、応募者iが最良の応募者である場合、最初のi − 1 人の応募者の中で最良の応募者が、拒否された最初のr − 1 人の応募者 の中にいる場合に限り、応募者 i が選択されることに注目することによって得られます。n を無限大に近づけると、 (r−1) / nの極限として、(i−1) / nにt を、1/ nにdt を用いると、和は積分によって近似できる。
P ( x )をxに関して微分するとこれを 0 に設定してxについて解くと、最適なx は1/ eに等しいことがわかります。したがって、 n が増加するにつれて最適なカットオフはn / eに近づき、最適な応募者は確率 1/ eで選ばれます。
nの値が小さい場合、最適なrは標準的な動的計画法によっても求めることができます。いくつかのnの値に対する最適な閾値rと最良の選択肢を選択する確率Pを次の表に示します。[注1 ]
古典的な秘書問題で最適な応募者を選ぶ確率は、。
この問題とそのいくつかの修正は、オッズアルゴリズムによって容易に解決できます(最適性の証明も含む)。このアルゴリズムは他の用途にも応用されています。秘書問題に対するこのアルゴリズムで解決できる修正には、応募者のランダムな利用可能性、意思決定者が関心を持つ応募者に関するより一般的な仮説、応募者に対するグループ面接、およびランダムな数の応募者に関する特定のモデルなどが含まれます。
秘書問題の解決策は、応募者が採用された決定戦略について何も知らないと仮定することが正当化される場合にのみ意味を持つ。なぜなら、早期応募者には全くチャンスがなく、そうでなければ応募すらしない可能性があるからである。
古典的な秘書問題の解決策の応用における重要な欠点の1つは、応募者の数です。応募者数は事前に分かっていなければならないが、実際にはそうであることは稀である。この問題を克服する一つの方法は、応募者数を確率変数と仮定することである。既知の分布で (Presman and Sonin、1972)。このモデルでは、最適解は一般的にはるかに困難です。さらに、最適な成功確率はもはや 1/ e付近ではなく、通常はそれよりも低くなります。これは、応募者数がわからないことに対する「代償」があるという文脈で理解できます。ただし、このモデルではその代償は高いです。分布の選択に応じて、最適な勝率はゼロに近づく可能性がある。この新たな問題に対処する方法を模索した結果、いわゆる1/e法則と呼ばれる最適な選択の法則を導き出す新しいモデルが生まれた。
このモデルの本質は、人生は連続的であり、現実世界の問題はリアルタイムで発生するという考えに基づいている。また、特定のイベント(応募者の到着など)がより頻繁に発生する時期を推定する方が、発生する特定のイベントの数の分布を推定するよりも容易である(もしそうであれば)。この考えから、いわゆる統一的アプローチ(1984年)と呼ばれる以下の手法が生まれた。
このモデルは次のように定義されます。応募者は一定期間ごとに選抜されなければなりません。不明な番号から順位付け可能な応募者について。目標は、異なる順位のすべての到着順序が等しく起こりうるという仮定の下で、最良の応募者のみを選択する確率を最大化することです。すべての応募者は同じ到着時間密度を持ち、かつ互いに独立していると仮定します。の上そして 対応する到着時間分布関数を表す。
させて次のようなすべての応募者を時間通りに観察する戦略を検討してください。そして可能であれば、一定時間後に最初の候補者を選択するこれは、これまでのすべての戦略よりも優れています。この戦略は1/e戦略と呼ばれ、以下の特性を持ちます。
1 /e戦略
1984年にF・トーマス・ブルースによって証明された1/e法則は、驚きをもって受け止められた。その理由は、未知の値に対するモデルにおいて、1/eという値はこれまで到達不可能と考えられていたからである。一方、この値1/eは成功確率の下限として達成され、これはおそらくはるかに弱い仮説を持つモデルで達成された(例えば、Math. Reviews 85:mを参照)。
しかし、(i)と(ii)を達成し、さらにすべての条件において1/e戦略よりも厳密に優れたパフォーマンスを発揮する他の戦略は数多く存在する。2. 簡単な例としては、一定時間経過後に(可能であれば)最初の相対的に最良の候補を選択する戦略があります。ただし、少なくとも1名の応募者がこの時間前に到着している場合に限り、時間経過後に(可能であれば)2番目に優れた候補者を選考する。[ 4 ]
1/e法則は、1/eという数の役割が似ているため、上述の古典的な秘書問題の解と混同されることがある。しかし、1/e法則では、この役割はより一般的である。また、この法則は応募者数が不明な場合にも成り立ち、到着時間分布Fに基づくモデルは応募者にとって扱いやすいため、より強力な結果となる。
「秘書問題を解いたのは誰か?」(ファーガソン、1989) [ 1 ] という記事では、秘書問題が最初に印刷物として登場したのは、マーティン・ガードナーが1960年2月にサイエンティフィック・アメリカン誌の「数学ゲーム」欄に書いたものだと主張されています。
誰かに好きなだけ紙片を取ってもらい、それぞれの紙片に異なる正の数を書いてもらいます。数は1の小さな分数からグーゴル(1の後に0が100個続く数)の大きさ、あるいはそれ以上の数まで様々です。これらの紙片は裏向きにしてテーブルの上でシャッフルします。1枚ずつ紙片を表向きにします。目的は、一連の数の中で最大だと推測される数にたどり着いた時点で表向きにするのを止めることです。一度めくった紙片を再び選ぶことはできません。すべての紙片をめくった場合は、もちろん最後にめくった紙片を選ばなければなりません。[ 5 ]
ファーガソンは、秘書ゲームは2人の敵対的なプレイヤーによるゼロサムゲームとして未解決のままであると指摘した。[ 1 ]このゲームでは:
基本的な秘書問題との違いは2つあります。
アリスはまずn個の数字を書き出し、それらをシャッフルします。したがって、数字の順序は関係ありません。つまり、アリスの数字は交換可能なランダム変数のシーケンスでなければなりません。アリスの戦略は、最も巧妙な交換可能な乱数列を選択することである。
ボブの戦略は停止ルールとして定式化できる。シーケンスについて。
停止ルールとはボブにとって相対順位停止戦略は、相対順位のみに依存する場合、数値ではなく、相対的な順位に(同順位の場合はランダムに)分けます。例えば、に変更されますまたは等しい確率で。これは、アリスが交換可能なランダムな順列をプレイしたかのようです。. さて、交換可能なランダムな順列はこれは、すべての順列にわたる一様分布です。最適な相対順位停止戦略は、上記の秘書問題に対する最適な停止ルールであり、勝率はアリスの目標は、ボブが相対順位停止戦略よりも優れた結果を出せないようにすることである。
ゲームのルール上、アリスの数列は交換可能でなければなりませんが、ゲームで良い成績を収めるためには、アリスは数列を独立に選択すべきではありません。アリスが何らかの固定分布から独立に数値をサンプリングすると、ボブがより良い成績を収めることになります。これを直感的に理解するために、次のことを想像してみてください。アリスは両方の数字を正規分布から選ぶことになっている。独立して。次に、ボブが数字を1つめくってそうすれば彼は自信を持って2番目の数字をめくることができ、ボブが1つの数字をめくってそうすれば、彼は自信を持って最初の数字を選ぶことができます。アリスは、それらは正の相関関係にある。
したがって、完全に正式な記述は以下のとおりです。
のためにボブが最適な相対順位停止戦略を採用した場合、ボブの勝率は 1/2 です。驚くべきことに、アリスにはミニマックス戦略がなく、これはT. Cover [ 6 ]のパラドックスと2 つの封筒のパラドックスに密接に関連しています。具体的には、ボブはこの戦略を採用できます。乱数をサンプリングします。。 もし、次に選択そうでなければ選択ボブは1/2より厳密に大きい確率で勝つことができます。アリスの数字が異なると仮定すると、条件はボブは1/2の確率で勝つが、条件はボブが勝つ確率は1です。
乱数に注目してください任意のランダム分布からサンプリングできますが、ゼロではない確率を持つ。
しかし、どんなアリスは交換可能なシーケンスを構築できるボブの勝率は最大で[ 1 ]
しかし、答えはイエスです。アリスは、ボブが相対順位に基づく古典的な停止戦略よりも優れたプレイができないような乱数(従属的な乱数)を選択できます。[ 7 ]
記事の残りの部分では、応募者数が既知の場合の秘書問題について改めて取り上げる。

スタイン、シール、ラポポート(2003)は、秘書問題で用いられる可能性のある、心理学的に妥当ないくつかのヒューリスティックについて、期待される成功確率を導き出した。彼らが検討したヒューリスティックは以下のとおりである。
各ヒューリスティックには、パラメータyが 1 つだけあります。図(右図)は、n = 80の問題に対する、各ヒューリスティックの期待成功確率をyの関数として示しています。
最も優秀な応募者一人を見つけることは、やや厳格な目標のように思えるかもしれません。面接官は、最も優秀な応募者だけを採用するのではなく、より優秀な応募者を採用したいと考えるでしょう。つまり、面接官は必ずしも最も優秀な応募者ではない応募者を選ぶことからも何らかの価値を得ており、選ばれた応募者の価値が高まるにつれて、その価値も高まるのです。
この問題をモデル化するために、応募者は、[0, 1] の一様分布から独立同分布で抽出されたランダム変数Xである「真の」値を持っています。上記の古典的な問題と同様に、面接官は各応募者がこれまでのところ最良の候補者であるかどうかだけを観察し、その場で各応募者を受け入れるか拒否するかを判断しなければならず、最後に到達した場合はその応募者を受け入れなければなりません。(明確にするために、面接官は各応募者の実際の相対的な順位を知ることはありません。応募者の相対的な順位が 1 であるかどうかだけを知るのです。)ただし、このバージョンでは、報酬は選択された応募者の真の値によって与えられます。たとえば、真の値が 0.8 の応募者を選択した場合、面接官は 0.8 を獲得します。面接官の目的は、選択された応募者の期待値を最大化することです。
申請者の値は [0, 1] の一様分布からの独立同分布の抽出であるため、次の条件が与えられた場合のt番目の申請者の期待値は次のようになります。は
古典的な問題と同様に、最適な方策は閾値によって与えられ、この問題ではそれを次のように表します。面接官が候補者の受け入れを開始すべき時点。ビアデンは、cは以下のいずれかであることを示した。または[ 8 ] (実際には、)これは、問題が与えられた場合、応募者、任意の閾値に対する期待収益は
区別するcに関して、

以来すべての許容値に対してすると、最大化されるのはVは凸であるため最適な整数値の閾値は、以下のいずれかでなければならない。またはしたがって、ほとんどの値に対して面接官は、最も優秀な応募者を一人選ぶことを目的とする古典的なバージョンよりも、基数利得バージョンの方が早く応募者を受け入れ始める。これは漸近的な結果ではないことに注意されたい。これはすべての場合に成り立つ。興味深いことに、秘書には固定された明確な値があり、に、 それから最大化されるのは以前と同じ凸性に関する主張がある。[ 9 ]他の既知の分布については、動的計画法によって最適なプレイを計算できる。
Palley と Kremer (2014) [ 10 ]によって導入されたこの問題のより一般的な形式は、新しい応募者が到着するたびに、面接官が以前に観察されたすべての応募者に対するその応募者の順位を観察すると仮定しています。このモデルは、面接官が検索プロセスを継続しながら、到着する新しい候補者を評価するために使用できる過去のデータ ポイントのセットを蓄積することによって学習するという概念と一致しています。このいわゆる部分情報モデルの利点は、相対順位情報に基づいて達成された決定と結果を、面接官が各応募者の価値に関する完全な情報を受け取っていた場合の対応する最適な決定と結果と直接比較できることです。応募者が既知の分布から独立して抽出され、面接官が選択された応募者の期待値を最大化しようとするこの完全情報問題は、もともと Moser (1956) [ 11 ] 、 Sakaguchi (1961) [ 12 ] 、および Karlin (1962) によって解決されました。
秘書問題にはいくつかのバリエーションがあり、それぞれにシンプルで洗練された解決策が存在する。
ある変種では、最良のものを選びたいという欲求を、二番目に良いものを選びたいという欲求に置き換えている。[ 13 ] [ 14 ] [ 15 ]この問題では、応募者数が偶数の場合の成功確率は正確にこの確率はnが無限大に近づくにつれて1/4に近づき、2番目に良いものを選ぶよりも最良のものを選ぶ方が容易であることを示しています。
n人の候補者の中からk人の最適な秘書をk回の試行で選ぶという問題を考えてみましょう。
一般的に、最適な意思決定方法は観察から始まります候補者の中から一人も選ばずに、最初に挙げた候補者よりも優れた候補者を全員選ぶ。候補者がいなくなるか、選択肢がなくなるまで候補者を続けます。一定に保たれている間すると、成功確率は収束する。[ 16 ]ヴァンダーベイ 1980によると、すると、成功の確率は。
このバリアントでは、プレイヤーは選択肢と、最良の選択肢があれば勝利する。この問題に対する最適な戦略は、一連の閾値によって定義される戦略のクラスに属する。、 どこ。
具体的には、次のような状況を想像してみてください。受諾書には、にあなたは応募担当官はそれぞれ1通の手紙を持っています。あなたは候補者の面接を続け、すべての応募担当官が見ることができる表で候補者をランク付けします。採用通知は、すべての候補者の中で最も優れた最初の候補者に送付されます。に(未送付の合格通知は、標準的な秘書問題と同様に、デフォルトで最後の応募者に送付される。)[ 17 ]
いつ勝つ確率はより一般的には、正の整数に対して勝つ確率は、 どこ[ 18 ]
[ 17 ]計算結果、 と。
松井と安野は2016年に一般的なアルゴリズムを示した。例えば、。
実験心理学者や経済学者は、秘書問題の状況における実際の人々の意思決定行動を研究してきた。 [ 19 ]この研究の大部分は、人々が検索を早々に止めてしまう傾向があることを示している。これは、少なくとも部分的には、候補者を評価するコストによって説明できるかもしれない。現実世界の状況では、これは、意思決定の選択肢が順番に現れる問題に直面したとき、人々が十分な検索を行わないことを示唆している可能性がある。たとえば、高速道路沿いのどのガソリンスタンドで給油するかを決めようとする場合、人々は停車する前に十分な検索を行わないかもしれない。もしそうであれば、人々はより長く検索した場合よりもガソリン代を多く支払う傾向があるだろう。人々がオンラインで航空券を検索する場合にも同じことが言えるかもしれない。秘書問題のような問題に関する実験的研究は、行動オペレーションズリサーチと呼ばれることもある。
動物[ 20 ] [ 21 ]と人間[ 22 ]の両方を対象とした知覚的意思決定課題における情報統合、すなわち信念の表現に関する神経科学研究は相当数存在するが、情報収集を停止するという決定がどのように下されるかについては、比較的ほとんど知られていない。
研究者らは、機能的MRIを用いて、健康なボランティアにおける秘書問題の解決の神経基盤を研究した。[ 23 ]マルコフ決定過程(MDP)を用いて、探索を続けることと現在の選択肢にコミットすることの価値を定量化した。選択肢を選ぶか拒否するかの決定には、頭頂皮質と背外側前頭前野、腹側線条体、前部島皮質、前帯状皮質が関与した。したがって、証拠統合と報酬表現に関与することが以前から示唆されている脳領域は、選択にコミットする決定を引き起こす閾値の超過を符号化している。
秘書問題は、1949 年にMerrill M. Floodによって初めて提起されたようで、彼はその年に講演した際にそれを婚約者問題と呼んだ。彼は 1950 年代に何度かこの問題に言及しており、例えば1958 年 5 月 9 日にパデュー大学で行われた会議での講演でも言及している。当時出版されたものはなかったものの、最終的には民間伝承として広く知られるようになった。1958 年に彼はLeonard Gillmanに手紙を送り、 Samuel Karlinや J. Robbinsを含む 12 人の友人にもコピーを送付し、最適戦略の証明の概要を示した。付録には R. Palermo による、すべての戦略が「最初のp を無条件に拒否し、次に優れた候補者を受け入れる」という形式の戦略によって支配されることを証明したものが添えられていた。[ 24 ]
最初の発表は、マーティン・ガードナーが1960年2月のサイエンティフィック・アメリカン誌に発表したものと思われる。彼は、1958年に独自に同等の問題を考案したジョン・H・フォックス・ジュニアとL・ジェラルド・マーニーからそのことを聞いていた。彼らはそれを「グーゴルのゲーム」と呼んだ。フォックスとマーニーは最適解を知らなかったため、ガードナーはレオ・モーザーに助言を求め、モーザーは(JR・パウンダーと共に)雑誌に掲載するための正しい分析を提供した。その後まもなく、数人の数学者がガードナーに手紙を書き、噂話で聞いた同等の問題について伝えた。これらはすべて、おそらくフラッドの元の研究に遡ることができる。[ 25 ]
最良の選択の1/ e法則はF. Thomas Brussによるものである。[ 26 ]
ファーガソンは広範な参考文献リストを持っており、同様の(ただし異なる)問題が1875年にアーサー・ケイリーによって検討され、さらにそれよりずっと前にヨハネス・ケプラーによっても検討されていたことを指摘している。ケプラーは最初の妻の死後、1611年から1613年にかけて11人の結婚候補者を2年間かけて調査した。[ 27 ] [ 28 ]
秘書問題は、複数の異なる仕事がある場合にも一般化できます。ここでも、応募者はランダムな順序でやって来ます。応募者が到着すると、非負の数のセットが明らかになります。各値は、応募者がいずれかの仕事に適格であることを示します。管理者は、応募者を採用するかどうかを決定するだけでなく、採用する場合は、応募者をいずれかの仕事に恒久的に割り当てなければなりません。目的は、適格性の合計が最大になるような割り当てを見つけることです。この問題は、エッジ重み付き二部グラフで最大重みマッチングを見つけることと同じです。一方の側のノードはランダムな順序でオンラインになる。したがって、これはオンライン二部グラフマッチング問題の特殊なケースである。
秘書問題に対する古典的なアルゴリズムを一般化することで、資格の期待合計が の 倍数になる割り当てを得ることができます。最適な(オフライン)割り当てよりも少ない。[ 29 ]
{{citation}}: CS1メンテナンス: ISBNを使用した作業パラメータ (リンク)結婚相手を選ぶ際、ケプラーは、待ちすぎても早すぎても最適な結果が得られないことを認識していた。数学の力によって、彼は単純なルールを考案した。結婚相手候補の最初の 37% を拒否し、次に「最良の」相手を選ぶ。彼の解決策は今日でも通用する。
import numpy as np import pandas as pd# 最大値を求める関数を定義しますdef func ( r , n ): if r == 1 : return 0 else : return ( r - 1 ) / n * np . sum ([ 1 / ( i - 1 ) for i in range ( r , n + 1 )])# 特定の n に対して問題を解く関数を定義しますdef solve ( n ): values = [ func ( r , n ) for r in range ( 1 , n + 1 )] r_max = np . argmax ( values ) + 1 return r_max , values [ r_max - 1 ]# 結果をMarkdownテーブルとして出力する関数を定義しますdef print_table ( data ): df = pd . DataFrame ( data , columns = [ "r" , "Max Value" ], index = range ( 1 , len ( data ) + 1 )) df . index . name = "n"# DataFrameをMarkdownに変換して出力するprint ( df.transpose ( ) . to_markdown ( ))n_max = 10# n が 1 から n_max までの範囲でテーブルを出力しますdata = [ solve ( n ) for n in range ( 1 , n_max + 1 )] print_table ( data )