JP2023118523A - 均衡解探索プログラム、均衡解探索方法および情報処理装置 - Google Patents

均衡解探索プログラム、均衡解探索方法および情報処理装置 Download PDF

Info

Publication number
JP2023118523A
JP2023118523A JP2022021516A JP2022021516A JP2023118523A JP 2023118523 A JP2023118523 A JP 2023118523A JP 2022021516 A JP2022021516 A JP 2022021516A JP 2022021516 A JP2022021516 A JP 2022021516A JP 2023118523 A JP2023118523 A JP 2023118523A
Authority
JP
Japan
Prior art keywords
data set
strategy
population
evaluation value
behaviors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022021516A
Other languages
English (en)
Inventor
菜月 石川
Natsuki Ishikawa
雅俊 小川
Masatoshi Ogawa
隼人 檀
Hayato Dan
克己 本間
Katsumi Honma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2022021516A priority Critical patent/JP2023118523A/ja
Priority to US18/056,827 priority patent/US20230259510A1/en
Publication of JP2023118523A publication Critical patent/JP2023118523A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Educational Administration (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Genetics & Genomics (AREA)
  • Manufacturing & Machinery (AREA)
  • Primary Health Care (AREA)

Abstract

Figure 2023118523000001
【課題】均衡解探索における評価値計算の負荷を軽減する。
【解決手段】情報処理装置10は、複数の行動のうちの1つをそれぞれ示す複数のレコードを含むデータ集合13を生成する。情報処理装置10は、データ集合13に出現する行動ST1,ST2,ST3に対する評価値15-1,15-2,15-3を、データ集合13における行動ST1,ST2,ST3の出現頻度の分布14に基づいて算出する。情報処理装置10は、評価値が閾値より大きい行動の出現頻度が増加するように、少なくとも一部のレコードを更新する。情報処理装置10は、更新されたデータ集合13に出現する行動ST1,ST2に対する評価値17-1,17-2を、更新されたデータ集合13における行動ST1,ST2の出現頻度の分布16に基づいて算出する。
【選択図】図1

Description

本発明は均衡解探索プログラム、均衡解探索方法および情報処理装置に関する。
情報処理装置は、複数のプレイヤーそれぞれが複数の行動の候補の中から1つの行動を確率的に選択する状況について、それら複数の行動の確率分布の均衡解を探索することがある。上記のシミュレーション構造は、進化ゲーム理論と呼ばれることがある。ある確率分布のもとで組み合わされる複数の行動は、混合戦略と呼ばれることがある。
例えば、離散時間レプリケータダイナミクスは、ある確率分布のもとで複数の行動それぞれの評価値を算出し、平均評価値より大きい評価値をもつ行動の確率を増加させ、平均評価値より小さい評価値をもつ行動の確率を減少させる。離散時間レプリケータダイナミクスは、評価値計算と確率分布の更新とを繰り返す。
なお、遺伝的アルゴリズムを用いて利益が最大になるように製品ポートフォリオおよび製品供給スケジュールを最適化する最適化システムが提案されている。また、遺伝的アルゴリズムや線形プログラミングなどの最適化モジュールを有するサプライチェーン最適化システムが提案されている。また、遺伝的アルゴリズムを用いて種々の需要に対するジョブの優先度を決定する供給計画生成システムが提案されている。また、遺伝的アルゴリズムを用いて分散スケジューリングを行うマルチエージェントシステムが提案されている。
国際公開第2002/007045号 国際公開第2006/111821号 米国特許出願公開第2011/0173034号明細書 米国特許出願公開第2011/0224816号明細書
複数の行動の評価値計算と確率分布の更新とを含む均衡解探索を単純に実装すると、情報処理装置は、確率分布を更新する毎に全ての行動の評価値を再計算することになる。しかし、行動の候補が多い場合や評価値を1回算出する毎に負荷の高いシミュレーションが行われる場合など、評価値計算の負荷が高くなることがある。そこで、1つの側面では、本発明は、均衡解探索における評価値計算の負荷を軽減することを目的とする。
1つの態様では、コンピュータに以下の処理を実行させる均衡解探索プログラムが提供される。複数の行動のうちの1つをそれぞれ示す複数のレコードを含むデータ集合を生成する。複数の行動のうちデータ集合に出現する2以上の第1の行動それぞれに対する第1の評価値を、データ集合における2以上の第1の行動の出現頻度の分布に基づいて算出する。第1の評価値が閾値より大きい第1の行動の出現頻度が増加するように、データ集合に含まれる複数のレコードのうちの少なくとも一部のレコードを更新する。複数の行動のうち更新されたデータ集合に出現する2以上の第2の行動それぞれに対する第2の評価値を、更新されたデータ集合における2以上の第2の行動の出現頻度の分布に基づいて算出する。また、1つの態様では、コンピュータが実行する均衡解探索方法が提供される。また、1つの態様では、記憶部と処理部とを有する情報処理装置が提供される。
1つの側面では、均衡解探索における評価値計算の負荷が軽減される。
第1の実施の形態の情報処理装置を説明するための図である。 第2の実施の形態の情報処理装置のハードウェア例を示す図である。 改良遺伝的アルゴリズムによる個体集合の更新例を示す図である。 シミュレーション上のプレイヤーの例を示す図である。 シミュレーション上の戦略および利得の定義例を示す図である。 1回のシミュレーションの結果例を示す図である。 収束後の混合戦略の確率分布の例を示す図である。 利得を算出する戦略の個数の変化例を示すグラフである。 情報処理装置の機能例を示すブロック図である。 均衡解探索の手順例を示すフローチャートである。 均衡解探索の手順例を示すフローチャート(続き)である。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
図1は、第1の実施の形態の情報処理装置を説明するための図である。
第1の実施の形態の情報処理装置10は、複数のプレイヤーそれぞれが複数の行動の候補の中から1つの行動を確率的に選択する状況について、それら複数の行動の確率分布の均衡解を探索する。第1の実施の形態の均衡解探索には、遺伝的アルゴリズムおよび離散時間レプリケータダイナミクスの考え方が組み込まれてもよい。情報処理装置10は、クライアント装置でもよいしサーバ装置でもよい。情報処理装置10が、コンピュータ、均衡解探索装置またはシミュレーション装置と呼ばれてもよい。
情報処理装置10は、記憶部11および処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性半導体メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性ストレージでもよい。処理部12は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などのプロセッサである。ただし、処理部12が、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの電子回路を含んでもよい。プロセッサは、例えば、RAMなどのメモリ(記憶部11でもよい)に記憶されたプログラムを実行する。プロセッサの集合が、マルチプロセッサまたは単に「プロセッサ」と呼ばれてもよい。
記憶部11は、データ集合13を記憶する。データ集合13は、プレイヤーが取り得る複数の行動のうちの1つをそれぞれ示す複数のレコードを含む。行動は戦略と呼ばれてもよい。個々の行動は純粋戦略と呼ばれてもよく、ある確率分布のもとで組み合わせる複数の行動は混合戦略と呼ばれてもよい。レコードは個体または遺伝子と呼ばれてもよい。データ集合13は個体集合、遺伝子集合または母集団と呼ばれてもよい。異なるレコードが同一の行動を示してもよい。全ての行動がデータ集合13に出現するとは限らない。
処理部12は、プレイヤーが取り得る複数の行動のうちデータ集合13に出現する2以上の行動それぞれに対する評価値を、データ集合13における行動の出現頻度の分布14に基づいて算出する。評価値は適応度または利得と呼ばれてもよい。出現頻度は確率と呼ばれてもよい。データ集合13に出現する行動は、データ集合13に含まれる複数のレコードのうちの少なくとも1つのレコードが示す行動である。このとき、処理部12は、データ集合13に出現しない行動の評価値を算出しなくてもよい。
図1の例では、データ集合13に行動ST1,ST2,ST3が出現する。分布14は、行動ST1の出現頻度が40%であり、行動ST2の出現頻度が30%であり、行動ST3の出現頻度が30%であることを示す。処理部12は、行動ST1に対して評価値15-1(評価値P1)を算出し、行動ST2に対して評価値15-2(評価値P2)を算出し、行動ST3に対して評価値15-3(評価値P3)を算出する。
例えば、処理部12は、自プレイヤーの行動としてデータ集合13に出現する1つの行動を選択し、分布14に従って他プレイヤーの行動をランダムに選択する。他プレイヤーの行動は、データ集合13からランダムに選択したレコードが示す行動であってもよい。処理部12は、選択された自プレイヤーの行動および他プレイヤーの行動のもとで、シミュレーションによって自プレイヤーの行動の評価値を算出する。評価値を算出する評価関数は、適応度関数または利得関数と呼ばれてもよい。
処理部12は、評価値が閾値より大きい行動の出現頻度が増加するようにデータ集合13を更新する。このとき、処理部12は、データ集合13に含まれる複数のレコードのうちの少なくとも一部のレコードを更新して、それら少なくとも一部のレコードが示す行動を変更する。処理部12は、評価値が閾値より小さい行動の出現頻度が減少するようにデータ集合13を更新してもよい。例えば、処理部12は、あるレコードが示す行動を、評価値が小さい行動から評価値が大きい行動に変更する。閾値は、データ集合13に出現する2以上の行動の評価値を出現頻度で重み付けした加重平均評価値であってもよい。
評価値に応じて出現頻度の分布を変更することで、データ集合13から一部の行動が淘汰されて消滅することがある。例えば、処理部12は、個々の行動の更新後の出現頻度を評価値に基づいて決定する。データ集合13のサイズ、すなわち、データ集合13に含まれるレコードの個数は有限であるため、出現頻度が下限を下回った行動はデータ集合13から消滅し得る。これにより、データ集合13に出現する行動が減少することがある。ただし、処理部12は、データ集合13に出現する行動が少なくなり過ぎないように、データ集合13に出現していなかった行動をデータ集合13に追加してもよい。
例えば、処理部12は、2つのレコードが示す2つのベクトルの一部分を交換する交叉を行い、交叉によって生じた新たな行動を示すレコードをデータ集合13に追加する。また、例えば、処理部12は、1つのレコードが示す1つのベクトルの一部分をランダムに変更する突然変異を行い、突然変異によって生じた新たな行動を示すレコードをデータ集合13に追加する。また、例えば、処理部12は、データ集合13に出現していない行動をランダムに選択し、選択した行動を示すレコードをデータ集合13に追加する。
処理部12は、プレイヤーが取り得る複数の行動のうち更新されたデータ集合13に出現する2以上の行動それぞれに対する評価値を、更新されたデータ集合13における行動の出現頻度の分布16に基づいて算出する。このとき、処理部12は、更新されたデータ集合13に出現しない行動の評価値を算出しなくてもよい。分布16は分布14と異なるため、各行動の評価値は原則として更新前後で変化する。
図1の例では、更新されたデータ集合13に行動ST1,ST2が出現する。分布16は、行動ST1の出現頻度が60%であり、行動ST2の出現頻度が40%であることを示す。行動ST3は、データ集合13から淘汰されている。処理部12は、行動ST1に対して評価値17-1(評価値P11)を算出し、行動ST2に対して評価値17-2(評価値P12)を算出する。行動ST3はデータ集合13に出現しないため、処理部12は、行動ST3に対する評価値を算出しなくてもよい。
処理部12は、最新の評価値に応じてデータ集合13を更に更新してもよい。処理部12は、上記の評価値の算出およびデータ集合13の更新を、停止条件が満たされるまで繰り返してもよい。停止条件は、イテレーション回数が上限に達したことでもよいし、出現頻度の分布が収束したことでもよい。停止時点の出現頻度の分布が均衡解と解釈されてもよい。データ集合13に出現しない行動の出現頻度は0と解釈されてもよい。
以上説明したように、第1の実施の形態の情報処理装置10は、データ集合13に出現する2以上の行動に対する評価値を、それら2以上の行動の出現頻度の分布に基づいて算出する。情報処理装置10は、評価値が閾値より大きい行動の出現頻度が増加するようにデータ集合13を更新する。情報処理装置10は、更新されたデータ集合13に出現する2以上の行動に対する評価値を、更新後の出現頻度の分布に基づいて算出する。
これにより、データ集合13に出現する行動が評価値に基づいて淘汰され、評価対象の行動が減少する。よって、確率分布を更新する毎に全ての行動の評価値を再計算する純粋な離散時間レプリケータダイナミクスと比べて、評価値計算の負荷が減少する。その結果、均衡解探索の実行時間が短縮する。また、データ集合13における行動の出現頻度の分布は評価値を反映しており、プレイヤーが取り得る行動全体の確率分布を近似する。よって、均衡解として十分に高い精度の近似解が算出される。
なお、情報処理装置10は、データ集合13の出現頻度の分布を更新する際に新しい行動をデータ集合13に追加してもよい。これにより、評価対象の行動が少なくなり過ぎることが抑制され、均衡解の精度を向上する。また、情報処理装置10は、個々の行動の更新後の出現頻度を決定する際、今回の評価値のもとで算出される出現頻度と前回の出現頻度との加重平均を、更新後の評価値として採用してもよい。前回の出現頻度は、新しい行動を追加する前の出現頻度でもよい。今回の評価値のもとで算出される出現頻度は、新しい行動を追加した後の出現頻度を、評価値を用いて修正することで算出されてもよい。これにより、出現頻度の急激な変化が抑制され、均衡解の精度が向上する。
また、情報処理装置10は、ある行動の評価値を再計算する際、今回の出現頻度の分布のもとで算出される評価値と更新前の評価値との加重平均を、更新後の評価値として採用してもよい。これにより、過去に他プレイヤーが選択した行動や過去に選択された乱数のもとでの評価結果も最新の評価値に適度に反映され、評価値のロバスト性が向上する。その結果、少ないシミュレーション回数で評価値の精度が向上する。
[第2の実施の形態]
次に、第2の実施の形態を説明する。
複数のプレイヤーがそれぞれ利得の最大化を目指して1つの純粋戦略を確率的に選択する状況においては、プレイヤー集団がとる混合戦略の確率分布が一定の均衡解に収束することがある。第2の実施の形態の情報処理装置100は、シミュレーションを通じてこの均衡解を探索する。情報処理装置100が行う均衡解探索は、サプライチェーンのような大規模な社会システムの分析や制度設計に適用され得る。
情報処理装置100は、後述するように、離散時間レプリケータダイナミクスに基づいて遺伝的アルゴリズムを改良した改良遺伝的アルゴリズムを実行する。情報処理装置100は、クライアント装置でもよいしサーバ装置でもよい。情報処理装置100が、コンピュータ、均衡解探索装置またはシミュレーション装置と呼ばれてもよい。情報処理装置100は、第1の実施の形態の情報処理装置10に対応する。
図2は、第2の実施の形態の情報処理装置のハードウェア例を示す図である。
情報処理装置100は、バスに接続されたCPU101、RAM102、HDD103、GPU104、入力インタフェース105、媒体リーダ106および通信インタフェース107を有する。CPU101は、第1の実施の形態の処理部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。
CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムおよびデータの少なくとも一部をRAM102にロードし、プログラムを実行する。情報処理装置100は、複数のプロセッサを有してもよい。プロセッサの集合が、マルチプロセッサまたは単に「プロセッサ」と呼ばれてもよい。
RAM102は、CPU101で実行されるプログラムおよびCPU101で演算に使用されるデータを一時的に記憶する揮発性半導体メモリである。情報処理装置100は、RAM以外の種類の揮発性メモリを有してもよい。
HDD103は、OS(Operating System)、ミドルウェア、アプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性ストレージである。情報処理装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の不揮発性ストレージを有してもよい。
GPU104は、CPU101と連携して画像処理を行い、情報処理装置100に接続された表示装置111に画像を出力する。表示装置111は、例えば、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイまたはプロジェクタである。なお、情報処理装置100に、プリンタなどの他の種類の出力デバイスが接続されてもよい。
また、GPU104は、GPGPU(General Purpose Computing on Graphics Processing Unit)として使用されてもよい。GPU104は、CPU101からの指示に応じてプログラムを実行し得る。このプログラムは、後述する遺伝的アルゴリズムを実装したプログラムであってもよい。情報処理装置100は、RAM102以外の揮発性半導体メモリを、GPU104が使用するGPUメモリとして有してもよい。
入力インタフェース105は、情報処理装置100に接続された入力デバイス112から入力信号を受け付ける。入力デバイス112は、例えば、マウス、タッチパネルまたはキーボードである。情報処理装置100に複数の入力デバイスが接続されてもよい。
媒体リーダ106は、記録媒体113に記録されたプログラムおよびデータを読み取る読み取り装置である。記録媒体113は、例えば、磁気ディスク、光ディスクまたは半導体メモリである。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)およびHDDが含まれる。光ディスクには、CD(Compact Disc)およびDVD(Digital Versatile Disc)が含まれる。媒体リーダ106は、記録媒体113から読み取られたプログラムおよびデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、CPU101によって実行されることがある。
記録媒体113は、可搬型記録媒体であってもよい。記録媒体113は、プログラムおよびデータの配布に用いられることがある。また、記録媒体113およびHDD103が、コンピュータ読み取り可能な記録媒体と呼ばれてもよい。
通信インタフェース107は、ネットワーク114を介して他の情報処理装置と通信する。通信インタフェース107は、スイッチやルータなどの有線通信装置に接続される有線通信インタフェースでもよいし、基地局やアクセスポイントなどの無線通信装置に接続される無線通信インタフェースでもよい。
次に、離散時間レプリケータダイナミクス(以下では単にレプリケータダイナミクスと言うことがある)について説明する。レプリケータダイナミクスは、個々の戦略の利得を算出して混合戦略の確率分布を更新することを繰り返す。
レプリケータダイナミクスは、現在の確率分布のもとで複数の戦略それぞれの利得を算出する。レプリケータダイナミクスは、複数の戦略全体の平均利得より大きい利得をもつ戦略について、平均利得に対する個別の利得の倍率に従って確率を増加させる。また、レプリケータダイナミクスは、平均利得より小さい利得をもつ戦略について、平均利得に対する個別の利得の倍率に従って確率を減少させる。これにより、相対的に利得の大きい戦略は選択されやすくなり、相対的に利得の小さい戦略は選択されづらくなる。
確率分布が変化すると、複数の戦略それぞれの利得も変化する。このため、レプリケータダイナミクスは、確率分布を更新する毎に全ての戦略の利得を再計算する。しかし、イテレーション毎に全ての戦略の利得を再計算することは、利得計算の負荷が高い。
そこで、情報処理装置100は、改良遺伝的アルゴリズムによって、レプリケータダイナミクスの近似解を効率的に算出する。情報処理装置100は、遺伝的アルゴリズムで使用される個体集合を用いて、混合戦略の確率分布を近似する。遺伝的アルゴリズムでは、個体集合に含まれる戦略が段階的に淘汰されるため、利得を算出する戦略が段階的に減少する。また、交叉や突然変異を通じて新しい戦略が個体集合に確率的に追加されるため、絞り込まれた戦略以外の新しい戦略を評価する機会が確保される。
図3は、改良遺伝的アルゴリズムによる個体集合の更新例を示す図である。
情報処理装置100は、個体集合31を生成する。個体集合31は、一定個数の個体を含むデータ集合である。図3の例では、個体集合31は100個の個体を含む。個体は、遺伝的アルゴリズムにおける遺伝子に相当する。1つの個体は、事前に規定された複数の戦略のうちの何れか1つの戦略を示す。戦略は、例えば、複数次元の数値を含むベクトルで表現される。個体集合31に含まれる個体のうち、ある戦略を示す個体が占める割合は、その戦略が選択される確率に相当する。個体集合31に出現する2以上の戦略の確率を並べたものは、混合戦略の確率分布に相当する。
図3の例では、個体集合31は、第1戦略を示す1つの個体と、第2戦略を示す10個の個体と、第10戦略を示す10個の個体とを含む。よって、第1戦略の確率は1%であり、第2戦略の確率は10%であり、第10戦略の確率は10%である。
情報処理装置100は、交叉、突然変異およびランダム追加を通じて、個体集合31に個体を追加して個体集合32を生成する。個体集合32のサイズは個体集合31よりも大きい。交叉は、個体集合31からランダムに2つの個体を選択し、選択した2つの個体が示す2つのベクトルの間で一部次元の数値を入れ替える。交叉によって生じた戦略が個体集合31に含まれていない新しい戦略である場合、情報処理装置100は、その新しい戦略を示す個体を個体集合31に追加する。交叉によって生じた戦略が個体集合31に含まれている場合、情報処理装置100は新しい個体を追加しなくてよい。
突然変異は、個体集合31からランダムに1つの個体を選択し、選択した1つの個体が示すベクトルの中で一部次元の数値をランダムに書き換える。突然変異によって生じた戦略が個体集合31に含まれていない新しい戦略である場合、情報処理装置100は、その新しい戦略を示す個体を個体集合31に追加する。突然変異によって生じた戦略が個体集合31に含まれている場合、情報処理装置100は新しい個体を追加しなくてよい。
ランダム追加は、個体集合31に含まれていない新しい戦略をランダムに生成する。情報処理装置100は、その新しい戦略を示す個体を個体集合31に追加する。確率分布を反復的に更新するにあたり、戦略の個数が極端に少ないと確率分布が不安定になることがあるため、ランダム追加によって戦略の個数が一定以上に維持される。
図3の例では、個体集合32は、個体集合31の個体に加えて、第11戦略を示す個体や第12戦略を示す個体などの新しい個体を含む。個体集合32では、第1戦略の確率は0.9%であり、第2戦略の確率は9%であり、第10戦略の確率は9%であり、第11戦略の確率は0.9%であり、第12戦略の確率は0.9%である。
情報処理装置100は、事前に規定された利得関数を用いて、個体集合32に含まれる戦略それぞれの利得を算出する。このとき、情報処理装置100は、個体集合32に含まれない戦略については利得を算出しなくてよい。利得関数が算出する利得は、個体集合31が示す確率分布に依存する。利得関数の具体例については後述する。
例えば、情報処理装置100は、個体集合32の中から着目する自プレイヤーの戦略を1つ選択する。また、情報処理装置100は、個体集合31からランダムに個体を抽出することで、他プレイヤーの戦略を確率分布に従って選択する。情報処理装置100は、選択された自プレイヤーの戦略および他プレイヤーの戦略に基づいてシミュレーションを行い、自プレイヤーの利得を算出する。このとき、シミュレーションは、プレイヤーが意思決定を行わない外部環境の変動を、乱数を用いて表現することがある。また、他プレイヤーの戦略や乱数を変えながら、シミュレーションが複数回行われることがある。
個体集合31の中から個体を抽出するため、交叉、突然変異またはランダム追加によって追加された直後の新しい戦略は、他プレイヤーの戦略として選択されない。新しい戦略はまだ利得関数によって評価されておらず、信頼性の高い確率が付与されていないためである。ただし、情報処理装置100は、個体集合32から個体を抽出することで、新しい戦略を他プレイヤーの戦略として選択すること許容してもよい。
情報処理装置100は、算出された利得に基づいて、数式(1)に従い、個体集合32に含まれる戦略それぞれの次世代における確率を決定する。数式(1)において、kは自然数であり、p(k)は戦略iの第k世代の利得である。x(k)は戦略iの第k世代における新たな戦略を追加する前の確率であり、個体集合31での確率に相当する。x’(k)は戦略iの第k世代における新たな戦略を追加した後の確率であり、個体集合32での確率に相当する。Σp(k)x’(k)は、第k世代の個体集合に出現する2以上の戦略の利得を確率で重み付けした平均利得である。lrは事前に規定される学習率であり、0より大きく1より小さい数値である。
Figure 2023118523000002
数式(1)に示すように、平均利得を超える利得をもつ戦略の確率は、平均利得に対する個別の利得の倍率に従って増加する。一方、平均利得を下回る利得をもつ戦略の確率は、平均利得に対する個別の利得の倍率に従って減少する。また、第k世代の利得に基づいて調整された確率と第k世代の確率との加重平均が、第k+1世代の確率になる。学習率lrを用いることで、確率の急激な変動が抑制されて確率分布が安定する。学習率lrが大きいほど、直近の利得が確率に強く反映される。
なお、直近の交叉、突然変異またはランダム追加によって追加された新しい戦略については、x(k)=0である。また、k=1の場合は交叉、突然変異およびランダム追加がまだ行われていないため、x(k)=x’(k)である。また、ある戦略jの利得p(k)が負である場合、情報処理装置100は、p(k)x’(k)=0とみなしてΣp(k)x’(k)を算出する。
情報処理装置100は、決定された確率に従い、個体集合32に対して選択操作を行って個体集合33を生成する。選択操作は、ある個体が削除されてその個体が示す戦略の個体数が減少する淘汰と、ある個体が複製されてその個体が示す戦略の個体数が増加する繁殖とを含む。個体集合33のサイズは、個体集合31と同じである。図3の例では、個体集合33は100個の個体を含む。個体集合33に含まれる戦略それぞれの個体数は、確率に基づいて算出され、個体集合33のサイズに確率を乗じた数に相当する。ただし、各戦略の個体数は、個体集合33のサイズに確率を乗じた数に厳密に一致しなくてもよい。
個体集合33が有する個体の数は有限であるため、確率が十分小さい戦略は個体集合33に残らずに消滅する。個体集合33が100個の個体を含む場合、確率が1%未満の戦略は消滅する可能性がある。図3の例では、第2戦略の確率は15%であり、第10戦略の確率は8%であり、第12戦略の確率は2%である。よって、個体集合33は、第2戦略を示す15個の個体と、第10戦略を示す8個の個体と、第12戦略を示す2個の個体とを含む。個体集合32に含まれる第1戦略や第11戦略は、決定された確率が十分小さいため淘汰され、個体集合33に含まれていない。
ここで、ある戦略が第k-1世代の個体集合に含まれ、かつ、第k世代の個体集合にも含まれる場合、情報処理装置100は、数式(2)に従って第k世代の利得を算出する。数式(2)において、p(k)は第k世代の利得であり、p(k-1)は第k-1世代の利得であり、ptmp(k)は第k世代のシミュレーションによって算出される利得である。wは事前に規定された重みであり、0より大きく1より小さい数値である。
Figure 2023118523000003
よって、第k世代の利得は、第k-1世代の利得と第k世代のシミュレーション結果との加重平均となる。これにより、利得の急激な変動が抑制される。また、異なる他プレイヤーの戦略や異なる乱数のもとで行われた過去のシミュレーションの結果が、最新世代の利得にある程度反映される。このため、1つの利得を算出するためのシミュレーションの試行回数が少なくても、妥当な利得が算出され得る。
また、情報処理装置100は、第1世代の個体集合を以下のように生成する。まず、情報処理装置100は、プレイヤーが取り得る全ての戦略を含む仮の個体集合を生成する。このとき、複数の戦略の確率は均等であると仮定される。例えば、情報処理装置100は、1つの戦略につき1つの個体を含む仮の個体集合を生成する。ただし、戦略数が非常に多い場合、情報処理装置100は、全戦略の中から一部の戦略を抽出してもよい。例えば、情報処理装置100は、ラテン超方格法などの実験計画法を用いて、全戦略の中から偏りが小さい一部の戦略をサンプリングする。
情報処理装置100は、上記の仮の個体集合に含まれる戦略それぞれの利得を、シミュレーションによって算出する。このとき、自プレイヤーの戦略と他プレイヤーの戦略は、均一な確率分布をもつ同一の個体集合から選択される。そして、情報処理装置100は、算出された利得と前述の数式(1)とに基づいて各戦略の第1世代の確率を決定し、決定された第1世代の確率に従って第1世代の個体集合を生成する。第1世代までに幅広い戦略(好ましくは全ての戦略)が検討されるため、好ましい戦略が第1世代の個体集合に含まれないリスクが低下し、最終的な均衡解の信頼性が向上する。
次に、シミュレーションの例としてサプライチェーンについて説明する。
図4は、シミュレーション上のプレイヤーの例を示す図である。
サプライチェーンは、行動主体として原料生産者41、製造業者42,43,44、小売業者45,46,47および消費者群48を含む。原料生産者41は、製造業者42,43,44に原料を販売する。製造業者42,43,44は、原料生産者41から原料を仕入れて商品を製造し、小売業者45,46,47に商品を販売する。小売業者45,46,47は、製造業者42,43,44から商品を仕入れて消費者群48に販売する。消費者群48は、小売業者45,46,47から商品を購入する。
情報処理装置100は、製造業者42,43,44と小売業者45,46,47との取引を通じて決まる商品の取引量および取引価格を算出する。製造業者42,43,44と小売業者45,46,47との間の取引は、製造業者側と小売業者側とがそれぞれ希望の取引量および取引価格を指定するダブルオークション方式によってモデル化される。
製造業者42,43,44および小売業者45,46,47はプレイヤーである。製造業者42,43,44は、同一の混合戦略に基づいて確率的に戦略を選択するプレイヤー集団を形成する。また、小売業者45,46,47は、同一の混合戦略に基づいて確率的に戦略を選択するプレイヤー集団を形成する。製造業者側の個体集合と小売業者側の個体集合とが別個に形成され、前述の改良遺伝的アルゴリズムによってそれぞれ最適化される。ただし、製造業者側の混合戦略と小売業者側の混合戦略とは相互に影響を与えるため、利得計算にあたっては、情報処理装置100は、製造業者42,43,44および小売業者45,46,47それぞれの戦略を選択してシミュレーションを行う。
製造業者側の1つの戦略の利得を算出する場合、情報処理装置100は、製造業者42を自プレイヤーとみなし、製造業者43,44および小売業者45,46,47を他プレイヤーとみなす。情報処理装置100は、製造業者側の個体集合から製造業者43,44の戦略をランダムに選択し、小売業者側の個体集合から小売業者45,46,47の戦略をランダムに選択する。また、小売業者側の1つの戦略の利得を算出する場合、情報処理装置100は、小売業者45を自プレイヤーとみなし、製造業者42,43,44および小売業者46,47を他プレイヤーとみなす。情報処理装置100は、製造業者側の個体集合から製造業者42,43,44の戦略をランダムに選択し、小売業者側の個体集合から小売業者46,47の戦略をランダムに選択する。
製造業者側の戦略および小売業者側の戦略それぞれの利得が算出されると、情報処理装置100は、製造業者側の戦略それぞれの確率を決定し、製造業者側の個体集合を更新する。また、製造業者側とは独立に、情報処理装置100は、小売業者側の戦略それぞれの確率を決定し、小売業者側の個体集合を更新する。ただし、第2の実施の形態の改良遺伝的アルゴリズムは、プレイヤー集団が2以上ある場合に限定されず、プレイヤー集団が1つのみである場合にも適用され得る。
原料生産者41および消費者群48は非プレイヤーである。ただし、原料生産者41が販売する原料の原料価格はランダムに変動しており、製造業者42,43,44にとってそれら製造業者がコントロールしない外部環境に相当する。また、消費者群48が購入する商品の需要量はランダムに変動しており、小売業者45,46,47にとってそれら小売業者がコントロールしない外部環境に相当する。消費者群48が小売業者45,46,47から購入する商品の商品価格は、固定である。情報処理装置100は、同一の戦略のもとで30回の取引(例えば、1日1回の取引を30日分)を連続して行った場合の製造業者42の利得および小売業者45の利得を算出する。
図5は、シミュレーション上の戦略および利得の定義例を示す図である。
原料生産者41の原料価格は、事前に規定された正規分布に従って1日毎に変動する。原料価格を決定するために乱数が使用される。消費者群48の需要量は、事前に規定された正規分布に従って1日毎に変動する。需要量を決定するために乱数が使用される。
製造業者42,43,44の戦略は、出荷価格と出荷量を含む二次元ベクトルである。出荷価格は商品単価であり、100円、125円、150円、175円および200円から選択される。100円は0に、125円は1に、150円は2に、175円は3に、200円は4にエンコードされてもよい。出荷量は1日毎の出荷量であり、60個、70個、80個、90個および100個から選択される。60個は0に、70個は1に、80個は2に、90個は3に、100個は4にエンコードされてもよい。製造業者42,43,44の利得は、30日分の売上高から30日分の原料仕入高を引いた粗利益である。
小売業者45,46,47の戦略は、仕入価格と仕入量を含む二次元ベクトルである。仕入価格は商品単価であり、100円、125円、150円、175円および200円から選択される。100円は0に、125円は1に、150円は2に、175円は3に、200円は4にエンコードされてもよい。仕入量は1日毎の仕入量であり、100個、120個、140個、160個および180個から選択される。100個は0に、120個は1に、140個は2に、160個は3に、180個は4にエンコードされてもよい。
小売業者45,46,47の利得は、30日分の売上高から30日分の商品仕入高を引いた粗利益である。なお、小売業者45,46,47にとって、現在の在庫量に仕入量を加えた商品量が販売可能量である。販売可能量を超える需要がある場合、その差は機会損失となる。販売可能量を下回る需要しかない場合、その差は翌日の在庫となる。
製造業者42,43,44および小売業者45,46,47がそれぞれ戦略を選択して希望の取引価格と取引量を提示すると、ダブルオークション方式によって適正な取引価格と取引量が決定される。取引量は事業者によって異なる一方、取引価格は製造業者42,43,44および小売業者45,46,47に共通な相場として決定される。相場は、証券取引の板寄せに準ずる方法で決定されてもよい。
例えば、情報処理装置100は、製造業者42,43,44を希望出荷価格の小さい順にソートし、小売業者45,46,47を希望仕入価格の大きい順にソートする。情報処理装置100は、順位の高い製造業者から優先的に出荷権利を付与し、順位の高い小売業者から優先的に仕入権利を付与する。情報処理装置100は、出荷権利のある製造業者の希望出荷価格と仕入権利のある小売業者の希望仕入価格とを比較し、希望出荷価格が希望仕入価格より小さい場合に、その製造業者と小売業者との間の取引を成立させる。取引量は、希望出荷量の未充足部分と希望仕入量の未充足部分とのうちの小さい方である。
情報処理装置100は、出荷権利のある製造業者の希望出荷量が取引成立によって全て充足されると、出荷権利を次の順位の製造業者に付与する。また、情報処理装置100は、仕入権利のある小売業者の希望仕入量が取引成立によって全て充足されると、仕入権利を次の順位の小売業者に付与する。情報処理装置100は、製造業者42,43,44全ての希望出荷量が充足されるか、または、小売業者45,46,47全ての希望仕入量が充足されると、オークションを終了する。また、情報処理装置100は、希望価格が合わずに取引が成立しなくなった場合、オークションを終了する。
製造業者42,43,44および小売業者45,46,47の取引量は、上記の手順を通じて事業者毎に成立した取引の取引量である。一方、製造業者42,43,44および小売業者45,46,47の取引価格は、取引の成立状況から算出される単一の相場である。製造業者42,43,44の希望出荷量の合計が小売業者45,46,47の希望仕入価格の合計より小さい場合、取引価格は、最後に仕入権利をもっていた小売業者の希望仕入価格である。希望出荷量の合計が希望仕入価格の合計より大きい場合、取引価格は、最後に出荷権利をもっていた製造業者の希望出荷価格である。
図6は、1回のシミュレーションの結果例を示す図である。
テーブル51は、1回のシミュレーションについて、製造業者42,43,44および小売業者45,46,47それぞれが選択した戦略と獲得した利得を示す。
製造業者42は、出荷価格が125円かつ出荷量が90個という戦略を選択し、11250円の利得を獲得している。製造業者43は、出荷価格が100円かつ出荷量が60個という戦略を選択し、7500円の利得を獲得している。製造業者44は、出荷価格が100円かつ出荷量が100個という戦略を選択し、12500円の利得を獲得している。
小売業者45は、仕入価格が125円かつ仕入量が160個という戦略を選択し、751円の利得を獲得している。小売業者46は、仕入価格が200円かつ仕入量が120個という戦略を選択し、9001円の利得を獲得している。小売業者47は、仕入価格が175円かつ仕入量が120個という戦略を選択し、9001円の利得を獲得している。
図7は、収束後の混合戦略の確率分布の例を示す図である。
テーブル52は、図4のサプライチェーンに対して、通常のレプリケータダイナミクスおよび改良遺伝的アルゴリズムそれぞれによって最適化された混合戦略を示す。ここでは、改良遺伝的アルゴリズムのパラメータ値として、次のような数値が使用されている。製造業者側の個体集合および小売業者側の個体集合それぞれの個体数は、100個である。交叉確率は30%、突然変異確率は30%、ランダム追加の個体数は5個である。学習率lrは0.7であり、重みwは0.5である。
レプリケーションダイナミクスは、均衡解として、次のような製造業者の混合戦略を算出する。この混合戦略は、出荷価格が100円かつ出荷量が100個という戦略を31%で含み、出荷価格が125円かつ出荷量が100個という戦略を32%で含む。また、この混合戦略は、出荷価格が150円かつ出荷量が100個という戦略を24%で含み、出荷価格が175円かつ出荷量が100個という戦略を13%で含む。
一方、第2の実施の形態の改良遺伝的アルゴリズムは、均衡解として、次のような製造業者の混合戦略を算出する。この混合戦略は、出荷価格が100円かつ出荷量が100個という戦略を25%で含み、出荷価格が125円かつ出荷量が100個という戦略を26%で含む。また、この混合戦略は、出荷価格が150円かつ出荷量が100個という戦略を29%で含み、出荷価格が175円かつ出荷量が100個という戦略を20%で含む。
また、レプリケーションダイナミクスは、均衡解として、次のような小売業者の混合戦略を算出する。この混合戦略は、仕入価格が200円かつ仕入量が140個という戦略を93%で含み、仕入価格が175円かつ仕入量が180個という戦略を6%で含む。一方、第2の実施の形態の改良遺伝的アルゴリズムは、均衡解として、次のような小売業者の混合戦略を算出する。この混合戦略は、仕入価格が200円かつ仕入量が140個という戦略を89%で含み、仕入価格が175円かつ仕入量が180個という戦略を4%で含み、仕入価格が175円かつ仕入量が100個という戦略を5%で含む。
このように、第2の実施の形態の改良遺伝的アルゴリズムは、レプリケーションダイナミクスによって算出される製造業者の混合戦略の均衡解を、高い精度で近似する。同様に、改良遺伝的アルゴリズムは、レプリケーションダイナミクスによって算出される小売業者の混合戦略の均衡解を、高い精度で近似する。
図8は、利得を算出する戦略の個数の変化例を示すグラフである。
直線53および曲線54は、世代数と利得を算出する戦略の個数との関係を示す。直線53はレプリケーションダイナミクスの戦略数の変化を示し、曲線54は第2の実施の形態の改良遺伝的アルゴリズムの戦略数の変化を示す。
図4のサプライチェーンでは、製造業者側の戦略の候補が25個あり、小売業者側の戦略の候補が25個あるため、戦略総数は50個である。直線53に示すように、通常のレプリケーションダイナミクスは、全ての世代でこれら50個の戦略の利得を算出する。一方、曲線54に示すように、改良遺伝的アルゴリズムは、最初の数十世代で淘汰によって戦略を20個程度に絞り込み、以降は各世代で約20個の戦略の利得を算出する。
直線53の下側の面積、すなわち、直線53が示す戦略数の積分値は、レプリケーションダイナミクスの利得計算の計算量や計算時間に相当する。曲線54の下側の面積、すなわち、曲線54が示す戦略数の積分値は、改良遺伝的アルゴリズムの利得計算の計算量や計算時間に相当する。よって、通常のレプリケーションダイナミクスと比べて、改良遺伝的アルゴリズムは、小さい計算量および短い計算時間で実行される。
次に、情報処理装置100の機能および処理手順について説明する。
図9は、情報処理装置の機能例を示すブロック図である。
情報処理装置100は、設定情報記憶部121、個体集合記憶部122、利得算出部123、確率分布算出部124および個体集合更新部125を有する。設定情報記憶部121および個体集合記憶部122は、例えば、RAM102またはHDD103を用いて実装される。利得算出部123、確率分布算出部124および個体集合更新部125は、例えば、CPU101およびプログラムを用いて実装される。
設定情報記憶部121は、改良遺伝的アルゴリズムを実行するための設定情報を記憶する。設定情報は、個体集合のサイズ、交叉確率、突然変異確率、ランダム追加個体数、学習率lr、重みw、上限世代数などのパラメータ値を含む。また、設定情報は、戦略を示すベクトルの定義や利得関数を含む。個体集合記憶部122は、個体集合を記憶する。また、個体集合記憶部122は、各戦略に対して算出された利得や確率を記憶する。
利得算出部123は、個体集合に含まれる戦略毎に、複数回のシミュレーションを行って利得を算出する。利得算出部123は、1回のシミュレーション毎に、個体集合からランダムに個体を抽出することで、現在の確率分布に従って他プレイヤーの戦略を選択する。また、利得算出部123は、乱数を選択してシミュレーション上の外部環境を決定する。利得算出部123は、自プレイヤーの戦略と他プレイヤーの戦略と外部環境とから、利得関数を用いて自プレイヤーの利得を算出する。複数回のシミュレーションの利得は平均化される。確率分布算出部124は、利得算出部123によって算出された利得に基づいて、個体集合に含まれる戦略それぞれの確率を更新する。
個体集合更新部125は、第1世代の個体集合を生成するために、全ての戦略を網羅的に含む仮の個体集合、または、偏りが小さくなるように選択された一部の戦略のみを含む仮の個体集合を生成する。また、個体集合更新部125は、確率分布算出部124によって算出された確率分布が示す割合で複数の戦略の個体が含まれるように、一定サイズの個体集合を生成する。この選択操作によって、一部の戦略が個体集合から淘汰されることがある。個体集合更新部125は、選択操作後の個体集合に対して、交叉、突然変異およびランダム追加によって新しい戦略の個体を追加する。
図10は、均衡解探索の手順例を示すフローチャートである。
(S10)個体集合更新部125は、全ての戦略について個体を1つずつ含む仮の個体集合を生成する。以下では、この個体集合を個体集合aと表記する。
(S11)利得算出部123は、個体集合aから個体を1つ選択し、選択した個体が示す戦略を自プレイヤーの戦略として決定する。
(S12)利得算出部123は、他プレイヤー毎に個体集合aからランダムに個体を1つ選択し、選択した個体が示す戦略を当該他プレイヤーの戦略として決定する。個体集合aの個体数をNとすると、各戦略は1/Nの確率で選択されることになる。
(S13)利得算出部123は、決定された自プレイヤーの戦略および他プレイヤーの戦略のもとでシミュレーションを行い、自プレイヤーの利得を1回算出する。
(S14)利得算出部123は、ステップS12~S15のイテレーションが複数回行われた場合、ステップS13で算出された利得を平均化する。
(S15)利得算出部123は、ステップS11の自プレイヤーの戦略について、利得が収束条件を満たすか判断する。収束条件は、ステップS12~S15のイテレーション回数が事前に規定された第1閾値を超えており、かつ、前イテレーションの平均化利得に対する現イテレーションの平均化利得の変化割合が事前に規定された第2閾値未満であることである。第2閾値は、例えば、個体集合aの個体数の逆数である。収束条件を満たす場合はステップS16に処理が進み、収束条件を満たさない場合はステップS12に処理が戻る。なお、収束条件を満たす場合、現イテレーションの平均化利得が、ステップS11の戦略の利得とみなされる。
(S16)利得算出部123は、個体集合aに含まれる全ての個体を選択したか判断する。全ての個体を選択した場合はステップS17に処理が進み、個体集合aに未選択の個体がある場合はステップS11に処理が戻る。
(S17)確率分布算出部124は、直近の個体集合に含まれる複数の戦略の利得を確率で重み付けした平均利得を算出する。確率分布算出部124は、直近の個体集合に含まれる戦略それぞれの確率を、個別の利得と平均利得とに基づいて更新する。第1世代については、直近の個体集合はステップS10の個体集合aである。第2世代以降については、直近の個体集合は後述する個体集合cである。ただし、更新前の確率として、後述する個体集合bにおける確率と個体集合cにおける確率の両方が使用される。
個体集合aの個体数をNとすると、個体集合aにおける更新前の確率は1/Nである。個体集合bの個体数をNとし、個体集合bでの戦略の個体数をNbiとすると、個体集合bにおける更新前の確率はNbi/Nである。個体集合cの個体数をNとし、個体集合cでの戦略の個体数をNciとすると、個体集合cにおける更新前の確率はNci/Nである。確率分布算出部124は、個体集合cにおける確率を個別の利得と平均利得とに基づいて修正し、個体集合bにおける確率と修正した確率とを学習率lrで合成する。
(S18)個体集合更新部125は、ステップS17で更新された確率分布に基づいて、直近の個体集合に対して淘汰および繁殖を含む選択操作を行い、個体集合bを生成する。個体集合bに含まれる戦略それぞれの個体数は、その戦略の確率に合わせられる。ただし、個体集合bの個体数が有限であるため、個体集合bにおける各戦略の割合はステップS17で算出された確率と厳密に一致するとは限らない。各戦略の確率は、個体集合bにおける個体数の比率で近似されることになる。確率が低下した戦略の個体の比率が0%に近似されると、その戦略が個体集合bから消滅する。
(S19)個体集合更新部125は、一定の確率で個体集合bに対して交叉を行う。交叉は、個体集合bからランダムに2つの個体を選択し、選択した2つの個体の間で一部次元の数値を入れ替える。交叉によって生じた戦略が個体集合bに含まれない新しい戦略である場合、個体集合更新部125は、新しい戦略の個体を個体集合bに追加する。追加される個体の数は、新しい戦略毎に1つでよい。なお、新しい戦略は、2世代以上前の個体集合に出現済みの戦略であってもよい。
(S20)個体集合更新部125は、一定の確率で個体集合bに対して突然変異を行う。突然変異は、個体集合bからランダムに1つの個体を選択し、選択した個体の一部次元の数値を書き換える。突然変異によって生じた戦略が個体集合bに含まれない新しい戦略である場合、個体集合更新部125は、新しい戦略の個体を個体集合bに追加する。追加される個体の数は、新しい戦略毎に1つでよい。
(S21)個体集合更新部125は、個体集合bに含まれない新しい戦略をランダムに一定個数だけ生成し、新しい戦略の個体を個体集合bに追加する。追加される個体の数は、新しい戦略毎に1つでよい。ステップS19~S21により個体集合cが生成される。
図11は、均衡解探索の手順例を示すフローチャート(続き)である。
(S22)利得算出部123は、直近の個体集合cから個体を1つ選択し、選択した個体が示す戦略を自プレイヤーの戦略として決定する。
(S23)利得算出部123は、ステップS22の自プレイヤーの戦略がステップS22~S29のイテレーションの間に既出であるか、すなわち、ステップS22の戦略に対して利得が算出済みであるか判断する。既出の戦略である場合はステップS29に処理が進み、既出の戦略でない場合はステップS24に処理が進む。
(S24)利得算出部123は、他プレイヤー毎に直近の個体集合bからランダムに個体を1つ選択し、選択した個体が示す戦略を当該他プレイヤーの戦略として決定する。個体集合bの個体数をNとし、ある戦略の個体数をNbiとすると、その戦略はNbi/Nの確率で選択されることになる。
(S25)利得算出部123は、決定された自プレイヤーの戦略および他プレイヤーの戦略のもとでシミュレーションを行い、自プレイヤーの利得を1回算出する。
(S26)利得算出部123は、ステップS24~S27のイテレーションが複数回行われた場合、ステップS25で算出された利得を平均化する。
(S27)利得算出部123は、ステップS22の自プレイヤーの戦略について、利得が収束条件を満たすか判断する。収束条件は、ステップS24~S27のイテレーション回数が第1閾値を超えており、かつ、前イテレーションの平均化利得に対する現イテレーションの平均化利得の変化割合が第2閾値未満であることである。第2閾値は、例えば、個体集合cの個体数の逆数である。第1閾値は、ステップS15と同じでもよいし異なってもよい。収束条件を満たす場合はステップS28に処理が進み、収束条件を満たさない場合はステップS24に処理が戻る。
(S28)利得算出部123は、収束した平均化利得を用いて、ステップS22の自プレイヤーの戦略の利得を更新する。ステップS22の戦略が前世代の個体集合に含まれない場合、更新後の利得は、シミュレーションを通じて算出された平均化利得である。ステップS22の戦略が前世代の個体集合に含まれる場合、更新後の利得は、上記の平均化利得と前世代の利得とを重みwで合成したものである。
(S29)利得算出部123は、直近の個体集合cに含まれる全ての個体を選択したか判断する。全ての個体を選択した場合はステップS30に処理が進み、個体集合cに未選択の個体がある場合はステップS22に処理が戻る。
(S30)個体集合更新部125は、個体集合の世代数が事前に規定された上限世代数に達したか判断する。世代数が上限世代数に達した場合はステップS31に処理が進み、世代数が上限世代数に達していない場合はステップS17に処理が戻る。
(S31)確率分布算出部124は、直近の個体集合cに含まれる戦略それぞれの確率を、個別の利得と平均利得とに基づいて更新する。個体集合更新部125は、個体集合cに含まれる戦略についての最新の確率分布を、混合戦略の確率分布の均衡解とみなして出力する。個体集合更新部125は、混合戦略の確率分布を表示装置111に表示してもよいし、不揮発性ストレージに保存してもよいし、他の情報処理装置に送信してもよい。
以上説明したように、第2の実施の形態の情報処理装置100は、複数のプレイヤーの合理的な意思決定の結果として生じる混合戦略の確率分布の均衡解を算出する。これにより、複雑な社会システムの分析や制度設計にとって有用な情報が生成される。
また、情報処理装置100は、遺伝的アルゴリズムの個体集合によって混合戦略の確率分布を近似する。情報処理装置100は、個体集合に含まれる戦略の利得を最新の確率分布に従って算出し、算出された利得に基づいて個体集合に含まれる個体の淘汰および繁殖を行う。また、情報処理装置100は、交叉、突然変異およびランダム追加によって、少数の新しい戦略を個体集合に確率的に追加する。
利得は最新の個体集合に含まれる戦略に対してのみ算出される。このため、全ての世代で全ての戦略の利得を算出するレプリケータダイナミクスと比べて、シミュレーションの計算量が減少して計算時間が短縮する。また、各世代で少数の新しい戦略が追加されるため、絞り込まれた戦略以外の新しい戦略を検討する機会がある程度確保される。このため、レプリケータダイナミクスに対して精度の高い近似解が算出される。
また、情報処理装置100は、第1世代の個体集合を生成するにあたり、原則として全ての戦略の利得を算出して確率を求める。これにより、好ましい戦略が第1世代の個体集合に含まれないリスクが低下し、均衡解の収束が早くなると共に均衡解の精度が向上する。また、情報処理装置100は、交叉および突然変異に加えて、ランダム追加によって各世代で新しい戦略を個体集合に追加する。これにより、交叉や突然変異のみでは新しい戦略が発生しづらくなって戦略数が極端に少なくなるリスクが低下する。その結果、戦略数の減少に伴って確率分布が不安定になるリスクが低下する。
また、情報処理装置100は、学習率lrを用いて、利得に基づいて修正された確率と前世代の確率との加重平均を算出する。これにより、確率分布の急激な変化が抑制されて精度の高い均衡解が算出されやすくなる。また、情報処理装置100は、重みwを用いて、シミュレーションによって算出された利得と前世代の利得との加重平均を算出する。これにより、過去の世代のシミュレーションで選択された他プレイヤーの戦略や乱数の影響が最新の利得にある程度引き継がれる。その結果、シミュレーションによって算出される利得の偶然性が抑制され、信頼性の高い利得が算出される。
また、情報処理装置100は、ある戦略の利得を算出するにあたり、他プレイヤーの戦略は新しい戦略を追加する前の個体集合の中から選択する。新しい戦略はまだ利得関数によって評価されておらず、その確率の信頼性は低い。このため、新しい戦略を追加する前の個体集合を用いることで、利得計算のノイズが減少する。
10 情報処理装置
11 記憶部
12 処理部
13 データ集合
14,16 分布
15-1,15-2,15-3,17-1,17-2 評価値

Claims (7)

  1. 複数の行動のうちの1つをそれぞれ示す複数のレコードを含むデータ集合を生成し、
    前記複数の行動のうち前記データ集合に出現する2以上の第1の行動それぞれに対する第1の評価値を、前記データ集合における前記2以上の第1の行動の出現頻度の分布に基づいて算出し、
    前記第1の評価値が閾値より大きい第1の行動の出現頻度が増加するように、前記データ集合に含まれる前記複数のレコードのうちの少なくとも一部のレコードを更新し、
    前記複数の行動のうち更新された前記データ集合に出現する2以上の第2の行動それぞれに対する第2の評価値を、更新された前記データ集合における前記2以上の第2の行動の出現頻度の分布に基づいて算出する、
    処理をコンピュータに実行させる均衡解探索プログラム。
  2. 前記少なくとも一部のレコードの更新は、前記第1の評価値が前記閾値より小さい第1の行動の少なくとも一部を前記データ集合から消去する処理を含む、
    請求項1記載の均衡解探索プログラム。
  3. 前記少なくとも一部のレコードの更新は、前記複数の行動のうち前記データ集合に出現しない新しい行動を前記データ集合に追加する処理を含む、
    請求項1記載の均衡解探索プログラム。
  4. 前記新しい行動の追加前における第1の出現頻度と、前記新しい行動の追加後における第2の出現頻度と、前記第2の評価値とに基づいて、前記2以上の第2の行動それぞれの更新後の出現頻度を決定する処理を前記コンピュータに更に実行させる、
    請求項3記載の均衡解探索プログラム。
  5. 前記第2の評価値の算出は、前記2以上の第1の行動のうちの1つと同一である第2の行動に対する前記第2の評価値を、前記第1の評価値を更に用いて算出する処理を含む、
    請求項1記載の均衡解探索プログラム。
  6. 複数の行動のうちの1つをそれぞれ示す複数のレコードを含むデータ集合を生成し、
    前記複数の行動のうち前記データ集合に出現する2以上の第1の行動それぞれに対する第1の評価値を、前記データ集合における前記2以上の第1の行動の出現頻度の分布に基づいて算出し、
    前記第1の評価値が閾値より大きい第1の行動の出現頻度が増加するように、前記データ集合に含まれる前記複数のレコードのうちの少なくとも一部のレコードを更新し、
    前記複数の行動のうち更新された前記データ集合に出現する2以上の第2の行動それぞれに対する第2の評価値を、更新された前記データ集合における前記2以上の第2の行動の出現頻度の分布に基づいて算出する、
    処理をコンピュータが実行する均衡解探索方法。
  7. 複数の行動のうちの1つをそれぞれ示す複数のレコードを含むデータ集合を記憶する記憶部と、
    前記複数の行動のうち前記データ集合に出現する2以上の第1の行動それぞれに対する第1の評価値を、前記データ集合における前記2以上の第1の行動の出現頻度の分布に基づいて算出し、前記第1の評価値が閾値より大きい第1の行動の出現頻度が増加するように、前記データ集合に含まれる前記複数のレコードのうちの少なくとも一部のレコードを更新し、前記複数の行動のうち更新された前記データ集合に出現する2以上の第2の行動それぞれに対する第2の評価値を、更新された前記データ集合における前記2以上の第2の行動の出現頻度の分布に基づいて算出する処理部と、
    を有する情報処理装置。
JP2022021516A 2022-02-15 2022-02-15 均衡解探索プログラム、均衡解探索方法および情報処理装置 Pending JP2023118523A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022021516A JP2023118523A (ja) 2022-02-15 2022-02-15 均衡解探索プログラム、均衡解探索方法および情報処理装置
US18/056,827 US20230259510A1 (en) 2022-02-15 2022-11-18 Equilibrium solution searching method and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022021516A JP2023118523A (ja) 2022-02-15 2022-02-15 均衡解探索プログラム、均衡解探索方法および情報処理装置

Publications (1)

Publication Number Publication Date
JP2023118523A true JP2023118523A (ja) 2023-08-25

Family

ID=87558625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022021516A Pending JP2023118523A (ja) 2022-02-15 2022-02-15 均衡解探索プログラム、均衡解探索方法および情報処理装置

Country Status (2)

Country Link
US (1) US20230259510A1 (ja)
JP (1) JP2023118523A (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8112300B2 (en) * 2005-04-22 2012-02-07 Air Liquide Large Industries U.S. Lp Production optimizer for supply chain management
US8200655B2 (en) * 2009-01-22 2012-06-12 International Business Machines Corporation Query-based generation of data records
US20110173034A1 (en) * 2010-01-13 2011-07-14 Lockheed Martin Corporation Systems, methods and apparatus for supply plan generation and optimization
US8606386B2 (en) * 2010-03-12 2013-12-10 Ana Maria Dias Medureira Pereira Multi-agent system for distributed manufacturing scheduling with Genetic Algorithms and Tabu Search
ITTO20110518A1 (it) * 2011-06-13 2012-12-14 St Microelectronics Srl Procedimento e sistema di schedulazione, griglia computazionale e prodotto informatico relativi
KR101981075B1 (ko) * 2015-03-31 2019-05-22 가부시키가이샤 프론테오 데이터 분석 시스템, 데이터 분석 방법, 데이터 분석 프로그램, 및 기록매체
US10600017B2 (en) * 2015-12-14 2020-03-24 International Business Machines Corporation Co-opetition index based on rival behavior in social networks
CN113822693A (zh) * 2020-12-29 2021-12-21 京东科技控股股份有限公司 用户购买力评价值的生成方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US20230259510A1 (en) 2023-08-17

Similar Documents

Publication Publication Date Title
Zięba et al. Ensemble boosted trees with synthetic features generation in application to bankruptcy prediction
US8433660B2 (en) Managing a portfolio of experts
JP4847916B2 (ja) 購買順序を考慮したリコメンド装置、リコメンド方法、リコメンドプログラムおよびそのプログラムを記録した記録媒体
WO2016183391A1 (en) System, method and computer-accessible medium for making a prediction from market data
US7711588B2 (en) Method and computer program for field spectrum optimization
US20200311581A1 (en) High quality pattern mining model and method based on improved multi-objective evolutionary algorithm
Chou et al. Modeling behavior sequence for personalized fund recommendation with graphical deep collaborative filtering
WO2018088277A1 (ja) 予測モデル生成システム、方法およびプログラム
Sampath et al. A generalized decision support framework for large‐scale project portfolio decisions
JP6159056B2 (ja) 選択プログラム、選択方法及び選択装置
JP2014520340A (ja) パラメータ推定を用いた小売予測
Bloch et al. Smiling at evolution
TWI781461B (zh) 資訊處理裝置、資訊處理方法及程式
JP2010055569A (ja) 予想落札価格算出装置、予想落札価格算出方法、及びコンピュータプログラム
JP2015001975A (ja) 電力取引市場約定計算装置、電力取引市場約定計算方法、および電力取引市場約定計算プログラム
US20140067601A1 (en) Supply chain finance planning
US20230259510A1 (en) Equilibrium solution searching method and information processing apparatus
JP2021005282A (ja) 最適化装置、最適化装置の制御方法及び最適化装置の制御プログラム
Brydon et al. Classification trees and decision-analytic feedforward control: a case study from the video game industry
US20230281496A1 (en) Equilibrium solution searching method and information processing apparatus
JP2023105374A (ja) 均衡解探索プログラム、均衡解探索方法および情報処理装置
JP2023128552A (ja) 均衡解探索プログラム、均衡解探索方法および情報処理装置
Shouheng et al. DEaf-MOPS/D: an improved differential evolution algorithm for solving complex multi-objective portfolio selection problems based on decomposition
KR102587477B1 (ko) 데이터 이코노미를 기반으로 금융 서비스를 제공하는 방법 및 이러한 방법을 수행하는 장치
KR102587476B1 (ko) 금융 서비스를 위한 금융 서비스 매트릭스 조정 방법 및 이러한 방법을 수행하는 장치