研究ノート
事業部投資提案の態様
−一設備投資問題に.対する
モンテカルロ法的接近−
井 上 勝 人 高 橋 知 子
序
資本予算論における資本配分手続きの第一・段階は,各事業部からの投資提案の提出であ
る。すなわら,資本予算の間邁が資本支出の計画と統制にあるとするなら浸ご)まず資本支
出の計画が提示されなければならない。資本支出の計画の提示は,ここでは.その固有の意
(2)
味で設備投資計画リストの提出を意味するものとするが,これは事業部成員が投資機会を 発見しまたは創造するという不断の改選への努力によって果されるものである。とは云っ
ても,単なる′凱、つきや収益性を無視した提案ではガストは徒らに彪大なものとなり,そ れを審査する経営層の戸迷いを招くのみであるから,それはあくまでも科学性に.よってそ の主張が貫かれた説得性のあるものでなければならない。このような見地から本稿では,
事業部投資提案の一つの在り方として,そのモンテカルロ法的分析とくにコンピュータの プログラムの吟味を中心とした考察を行なう。
われわれの考察は次の仮設例に基づいて行なわれる。すなわち「ある事業部(地区別事 業部とし,銀行の支店の如きサービス・センターを想定する)で,お客に.関する観察資料に
より,お客は5分毎に1人の割合で到着し,サービスには平均して1人につき4分かか っていることが分った。現在の窓口は一・つであるので,これを2つにふやすべく上申した
(1)Dean,J.;ManagerialEconomics,Prentice−・Hall,Incい,1951,p小551.
(2)資本支出の対象は単に物的投資のみならず研究開発や広告支出あるいは従業員の福
利厚生などいわゆる長期に.わたって資金の拘束される支出をすべて含むが,本稿の対
象は設備投資に.おく。Cf.Dean,.丁.p.555..
事業部投資提案の態様
−β9−−89
い。この上申ほ適当かどうか。」というものである。
この例題の解答ほ,周知の如くモンテカルロ・レミ.ユレー・ジョンによって導出される。
モンテカルロ・ジミュレー・ジョンでは乱数を使って確率的状況を含意した人工の現実を造 成するが,まず問題となるのほ,どのような乱数を使ったら問題のSimulateにもっとも適 当かということである。
Ⅰ
元来,確率変数はそのうえの確率分布によって定められるものである。個々に観測され た値は確率変数の実現値であって,確率分布そのものが直接にわかるわけではなく,デー タとして手もとに.あるものから,その確率変数のもとになる確率分布を推測してゆかなく てはならない。云うなれほ,統計的方法とは,この推測紅ついて−のいろいろな手段である。
それはさておき,ここでは例題についての確率分布はいかなるものになるかを解析的に求 めてみよう。この方法は待ち行列問題についての文献ならはとんどに㌧見られるものである
し31
が,われわれはカックスとスミスの所論について順序として最初に.関説するものである。
カックスらによると,完全にランダムな到着を定義するために.,αを平均到着率を表わす 定数とすれば,任意の充分短い時間区間(′,′+d≠)内に1人の客が到着する確率はα封十
0(dり,客が1人も到着しない確率ほ1−α∠≠+0(∠才)である。ここに0(∠才)はLaユdau
(4) の0■で,2人またはそれ以上の客が到着する確率である。つま・りそれがゼロであるという
ことは,客は誘い合わせて2人以上連れ立ってはこないという仮定である。
かくして,2/項分布の確率法則把より,≠。時間内にγ・人の客が知者する確率は′。を∽個 の∠fに分けると,
(3)Cox,D.R.and Smith,W.L.;Que11eS,Methuen&Co.LTD.,p.5〜10.
即
(4)Landau s symbolと云われ,¢(∬)=∑♪γ(∬)とおく。ただし,∬>0,7■>0なる
γ一2
任意の実数ズ,任意の整数γに.対し,時間間隔(ち f十∬)の間に.7人到着する確率を
♪γ(.先)と書いた。そのとき
少(∬)=0(∬) (∬→0)
ま禦。豊−=0
のことを意味する。つまり』∬の高次の無限小で,2人以上同時に連れ立ってくるこ
とを排除する条件である。
−9〃− 第50巻 第1号 90
I柁!
〔α∠f+0(∠f)〕γてトーαJf+0(∠f)〕仇−γ
m ̄
α憑(卜・意)
1im
(1)読二or!(桝−・r)!
,乃!
=1im
(2)㌫ニr!(桝・−す)!
=(αりγ1im
タ〝! m ̄r禁(ト患)
(3)rト 読ニニ∽γ(桝−r)!
(4)
式(1)から式(2)へうつるときほ,椚dJ=f。を用い,J才より高次の無限小のため極限操作 のもとゼは0(∠りの項を無視できることを利用。式(3)から式(4)へ移るとき紅
輿?!
堕→て_≡1im 1im
這二忘椚γ(椚−γ)! ㌫
(桝−・r)!桝r=ま聖(1−÷ト(トヱ訪)=1
、また
(ト普−)勒 肋
β・−αf。
ネ塾−・患)
ま聖(ト・意)仇 ̄γ=禁
(ト笠)r ま聖(ト患)γ ニβ
−αfoく5)
であることを利用した。
さて,式(4)はポアソン分布の定義式である。すなわち,一足の時間内紅ランダム紅到 着する客の人数の確率分布ほポアソソ分布であることが分った。
次に,同じ現象を到着する客の時間の側から見て衣よう。けだし,われわれめジミュ.レ
−・ジョンはCl(㌍k−timesimlユ1ationで,時間の遊歩紅あわせて分析をすすめるものであ るからである。
任意の時点ヂをきめ,才から間隔ガの間に1人の客の到着もない確率を.¢(∬)とする。確 率の乗法定理と完全ランダム列の定義によって
(5)一腰匿,・方を任意の実数,犯を自然数とするとき・盟(1・÷)花=β方で指数関
数が定義される。
事業部投資提案の態様 一夕ヱー
(5)
91
¢(ズ+如)=¢(∬)〈1−αd∬+0(d∬)‡
したがって
史廻刷)=−叫(∬汗0(1) J∫
d∬一寸0とすれは
劇L=一叫(∬) d∬
この微分方程式を解いて
¢(∬)=αβ ̄α∬
(6)
(7)
(8)
ここにαは硫分定数である。定義から¢(0)=1よりα=1であり,したがって
(9)
¢(工)=ビ ̄q∫
である。
したがって相続く到着間の間隔の確率密度関数は,
¢(∬)一¢(∬+∠∬)__ 郎(∬)
(10)
1i皿γ\ ̄ノ T\一1 ̄一′∴コー  ̄γr
d.芳→0
∠∬ 血
=三αβ ̄α方
(8) となり,これは指数分布の密度関数である。
かくしてランダムな到着を仮定すると,一・定時関内に倒著する客の人数はポアソン分布 となり,到着する客の時間間隔は指数分布をなすことが明らかとなった。こ・こでランダム な到着というのをまとめておノくと,第1に定常性の仮定。これは時間間隔(f,才+d才)紅
′人到着する確率は,すべてのfについて同一である,つまり10時10分から10時20分まで 紅客が3人来る確率と,13時5分から13時15分までに客の3人来る確率とは等しい,とい
うように時間間隔の長さだけに.よ、つて,その間紅γ人の客が到着する確率はきまってしま うことを意味している。算2に残層効果のないこと,すなわち,前に・到着した客の時刻や 人数匿.よって,客の到着する確率は影響を受けないこと,第3軋稀少性;これはLandau の記号のところで述べたもので,2人以上同時紅蓮れだってくることほない,ということ である。
以上を要するに,1人が1個ずつ買う品物で,しかも誘い合わせたり,流行があったり するものではなく,各自の判断で買いにくるもので,
(6)Cox,ibid,pp.1−10。
第50巻 簿1号
−92−
92大体−・定というような場合,上述のランダム到着におけるポアソン分布を満足していると 考えられるのである。
ⅠⅠ
上述の解析によって,われわれのレミ.ユレーションにおいては,客の到着時間間隔を時 計の進行毎にジミュレー・卜する際の乱数としては,密度関数が指数分布のものと一致する
ものすなわら指数乱数が適当なことが分った。そこで表1の如き指数乱数表を導入する。
ただし,この表は平均〝=1の指数乱数表であるので,われわれの例題においては5分ご とに.1人,換言すれば毎分0.20人,〃=0ル20に.換算して使用する必要がある。その数学的 根拠は次の通りである。
まず,指数分布の平均値はαの逆数であることを説明する。ズを確率変数,そ・の値を
ガ1,.尤2,
㌧確率分布をf(方1),f(・方2),・‥とするとき,(−・∞,∞)上の連続関数¢(・ガ)
表1平均1の指数乱数表(客の到着時刻に.使用)
0.22 0.77 0.35 0.96
1.52 0.29 2.76 0.80 2.50 1.50 0.69 1.46 0.29
0・421.04 0.62 0.87 0.53 0.07 2.16 0.78 2.42 1.66 0.69 0.20 0.15 0.96 0.64 0.59 0.37 0.22 0.01 0.41 0.44 3.3P 0.59 0.74 0.34 3.17 3.24 に対する期待値は
β(¢)=イ■:印¢(∬)f(∬)血
で定義する。したがって,到着時闇間隔を・方とするとその確率密度が g(.芳)=αg ̄α芳,・方>0
で表わされるとき,
(11)
(12)
事業部投資提案の態様
丘(一方)=.J−;・先α♂−α芳d尤
:・・−l・・・・+・‥・・・上・
=一言−β−α芳〕;=亮一
−93−
(13)
(14)
93
よって,寛が指数分布に従うとき,αほ方の平均値の逆数,換言すればαの逆数が∬の平 均値である。かくして
表1の数値:1=例題の数値:
ゆえ紅
例題の数値=表1の数値×
つまり,われわれの例題において.この乱数を使用するときほすべての数値を 5倍してから 使用することが必要把なる。
同様に〝=
を受けるのに平均4分つまり毎分0.25人の割合いでサービ.スを受けるのであるから,前と 同様紅して
例題の数値=表2の数億×意
表2 平均1の指数乱数表(サ−ビス時間に使用)
1け66
0.69 0.78 2.42
0.96 0.64 0.20 0.15 0.22 0.01 0.59 0.37 3.30 0.59 0.41
0..443n17 3.24 0.74 0.34 0.96 0.22 0.77 0.35 0.80 1.52 0.29 2.76 1.46 2.50 1.50 0.69
0.62 1.04
2.16 0小29 0.87 b.42 0▼53 0.07
第50巻 第1号
・一夕4− 94
としてから使用することは言うまでもない。
さて,上述の指数乱数を読み込んで客の到着時刻,・ナ−ゼス時間をyミュレーー・卜するプ
(γ)
ログラムは次のように.なる。最初紅例題のフローチャートは図1のよう紅なる。
ただし,記号を次のよう紅定める。
rわ〝β=時刻 rβ =実験の終る時刻
rα =次の客が到着する時刻 r5=次のサービスが完了する時刻
r(紹)==邦人の客が待っていた時間。(乃紅はサービスをうけている客を含む)
罰 =サー・ビス設備のあき時間の合計 max=待ち行列の最大人数
r紺 =客の延べ待ち時間,これを数式であらわすと,
乃l †∫
r紺=∑乃・丁(紹)−(丁β−・ri)
雅一l
mα刀 となる。∑㍑・r(紹)は,サー・ビスをうけている客をふくめた待ち時間の
循−1
合計。これから客がサー・ビスをうけている時間(rβ−・乃;実験時聞から設 備のあき時間,すなわらサ−ゼスをしていない時間を引く)を引いた時間 が,客の待ち行列中の時間の合計であ笥。
α =到着時間間隔(乱数,ARAN)
ざ 三サ−ビス時間間隔(乱数,SRAN)
次紅,このフローチャ−トに基づくフォー・トラン・コーディングは次の通りである。
ただし,プロ−チャートにおける指数乱数αと・Sは,平均値〟〒1のものを表として用意し ておくため,最初に眉己列を設けて一読馬込んでおく。またこの段階では乱数をそのまま利用 するため,小数点方式を用い,分秒申データ−は用いない。故に1秒=1/60とする。
C MACHIGYORETSU M6NDAI
DIMENSI8N T(40),ARAN(40),SRAN(40)
READ(5,1)(ARAN(Ⅰ),Ⅰ=1,40)
(7)宮川公男著「意志決定の経済分析」223ぺ・−ジ参照。
われわれの分析は宮川教授のプロ−チヤ・−トから出発したといえ.る。つまり彼のフ
ローチャ−トに.よって:問題を与えられ,それを拡充すべく考察したのが本稿である。
−・9∂・−
事業部投資提案の態様
95
第50巻 算1号 96
−96−
READ(.5,1)(SRAN(Ⅰ),Ⅰ=1.40)
1 F6RMAT(10F8.2)
D62Ⅰ=1,40
ARAN(Ⅰ)=ARAN(Ⅰ)*5.O SRAN(Ⅰ)=SRAN(Ⅰ)*4.0 2 T(Ⅰ)=0.O
C
6NE=1./60.
TI=0.O TE=90.O TIME=0.O TA=ARAN(1)
TS=TA十SRAN(1)
ⅠⅠ=2
(8)
JJ=2 N=O MAX=O C
5 IF(TIME.EQ.TA)G6 TOlO IF(TIME.EQ.TS)G(ラ TO 30 IF(N)60,70,60
C
lO IF(TIME.EQ.TS)G(ラ T6 20 N=N十1
IF((N−・MAX).GT.0)MAX=N TA=TA+ARAN(ⅠⅠ)
ⅠⅠ=ⅠⅠ+1
GO TO 60
(8)ⅠⅠ,.丁.丁はARAN,SRANの表を引用するときの添字として使用。
−−97−
事業部投資提案の態様 97
20 TA=TA十ARAN(ⅠⅠ)
TS=TS+SRAN(JJ)
ⅠⅠ=ⅠⅠ十1
JJ三==JJ+1
GO TO 60 30 N=N−1
IF(N)50、40,50 40 TI=TI+・ONE
TS=TA+SRAN(JJ)
JJ=.丁.丁+・1 GO TO 80 50 TS=TS+SRAN(JJ)
JJ=JJ+・1 60 T(N)=T(N)十ONE
GO TO 80 TI=TI+ON鱒
TIME=TIME+ONE
IF(TIME.LE.TE)GO TO5
70 釦
C C CNOBE MACHIJIKAN TW=0.O
DO lOOI=1,MAX TW=TW+IFLOAT(Ⅰ)*T(Ⅰ)
100 CONTINUE
TW■=TW+TI−TE
C
WRITE(6,200)TW,TI
200 FORMAT(19H NOBE MACHIJIKAN =,E15・7/
+
20H、SETSUBIAKIJIXAN.=,E15・7)
STOp
第50巻 第1萄
ー、9β−
98
END
上述のプログラムの問題点は次の2つと考えられる。すなわち欝1紅,このシミ.コ.レ−
ジョンの時間を長ぐすればする程,最初に読み込ませる乱数表は彪大なものとなり,デー ター・カ−ドなどで準備する場合は非常に手間がかかり,小型計算機の場合は記憶容量を越
えることも起り得る。その上,ジミュレ−卜する時間の長短に応じて必要な乱数の患が前 もってほわからないため,見込みで用意せねばならない。こ.の点を改善する為には.,必要 に応じてコンピューター自身で乱数を作るいわゆる疑似乱数(pse申0−ⅠundomnumbeI)
を作成することが必要になる。第2に,このプログラムはClock−timesimtllationで参 るに拘らず,分秒単位をとっていないので,1秒をあらわすのにONE=1/60という変数 によって詣整している。この点を改督するためには,60進法の加減算のプログラムを導入 することが必要である。かくして次にこれらの諸点につき考察する。
ⅠⅠⅠ
まず,疑似乱数の問題であるが,この間題の基本は一億乱数である。けだし,指数乱数 など他の諸乱数はこの一億疑似乱数から変換作成されるからである(その根拠紅ついては
t9)
後述)。したがってこの節では,まず一腰乱数自体の作成の問題を考える。
一億乱数の作成方法には平法採中法(mid−Square method),、乗積採中法(mid−・prO−
ductmethod)などいろいろあるが,硬似乱数は人為的な有限桁のなかで乱数列を作ると いう制約から,周期という問題を離れて考えることはできない。周期とはあるところへ来る
と前に出た数列がそのまま現われるという数列の循環であるが,疑似乱数問題ではこの周
期の長い数列を得ることが至上命令であると言ってよく,そのために平方採中法から次第
に改善されて,今日では合同法(congruencemethod)という方法が開発されるに及び,
(9)以下の論述の参考文献は,
Bulter,,.Wい,Machinesamplingfromgivenprobabilitydistribtltion,Symp−
osium on MonteCarlo methods,University of Florida,John Wiley&Sons,
IncりNew YoI■k,1954.
Taussky,0…,and Todd,J。,Generation and testing of pseudo−random numbers,Symposium on Monte Carlo methods,University of Florida,John Wiley&Sons,Inc・,1954.
Lehmer,D.H.,Mathematicalmethodinlarge computing unit,Ann.
Comp.Lab.HaI■Vard Univn,1951.
国沢清典,宇田川鐘久編著,オぺレーションズ・.リサ」−チ入門,第7車などによる。
事業部投資提案の態様
・−99−99
極めて二長い周期の乱数が得られるようになって.,一応疑似乱数作成の難点は解決されたと いってよい。妄こでまず合同法とはいかなるものかを見てみよう。
合同法とは,最初紅一光。をとり,その∬0から出発して
∬1…如0 (mod〝Z)
方2…ゐズ1(mod〝2)
xよ…如官_1(mod椚)
)(20)
という計算を続け,これから得られる∬0,・完1,
ぷi,の数列を乱数として用いるも のである。ここで点ズ官(mod,〝)は如£を椚で割った余りを意味する。すなわちmodは mod111us(法)の略で,これは物理学で率とか係数の意味であり,簡単に.いえば割り静で
ある。これが合同法と呼ばれるのは,任意の整数α,∂を他の整数研で割ったときの余り がたがいに.等しければ,換言すれば,αと∂との差が他の整数沼で割り切れるとき,
α≡∂(mod研)
と書くからである。αと∂は∽を法として合同であるという。
さで,式(20)に.おいで,例えばゐ=23,く∽=108ならば∴叛=27894501のとき 方1≡23×27894501 (modlOS)
≡641573523 (modlO&)
∴ガ1=41573523
(modlO8)
(modlO8)
∬2≡23×41573523
≡956191029
∴∬2=56191029
となる。つまり,mOd沼というのは〃と∂との差が椚で割り切れるということであっ たから,この場合ゑ.方先の下の白桁をとること紅より得られる。一・般的にいえば,10進法の 場合は∽=10Sという値紅とれば鳥.方柁の下S桁をとること紅より簡単に実行できる。
2進法で1語長が∽十1の計算機では,整数型演算を行った結果が2m以上也値は,上 位が桁落ち(0Verflow)してしまい,下位の桁のみ情報として摂る。この性質を利用し てmodの計算に有効に用い数列(∬兜)を生成する。
計算機内部では通常2叫の位取りの位置には,2珊 ̄】以下て示される数億が正の時ほ0,
算50巻 第1号
ーヱ〃クー
100負の時は1がはいる(負数は補数表示である)。ここを符号ビットとよぶ。如佗の演算潜果 が27花以上の時,符号ビットを飛びこして上位が拾でられる計算機で払 結果がそのまま
2nのmodを施した値に.なっている。TOSBAC−3400の計算機はこの方式を採用した 械なので,烏=3125,桝=228とし,∬の代りにIRAND とすれば,−・様乱数を発生させる 副プログラムは
FtJN9TONRANtJNI(IRAND)
IRAND=IRAND*3125
RANUNI=FLOAT(IRAND)/8388608.O RETURN
END のようをこなる。
このプログラムはある乱数IRANDが与えられたときに,これを使って新しい乱数をつく り出すための関数副プログラムである。各行に・ついて−解説すると,
1)FUNCTIONRANUNI(IRAND)
は,このプログラムが1個の引数をもつRANtJNIという名前の関数副プログラムである こ.とを定義する。RANUNIの代りに分りやすいRANSUとした方がよいが,後に指数乱 数も作るので,それと混同しないように,unifoI・mly(一億)の頭文字をとってRANUNI とした。またIRANDは最初に与えられた乱数データという意味でつけた。つまり,との 関数は,引数IRANDに与えられる初期値あるいほ前回の結果を用いて0から1までの一 様乱数を,呼ばれるたびに1個ずつ作り出すものである。
2)IRAⅣD=IRAND*3125
右辺の計算では,この関数が引用された時に.引数IRANDが持っている値を用いるoTOs BAC−3400では整数型の数値のはいる部分は23ビットであるから,乗算した結果の228以 上の値が切り捨てられ,下23桁が左辺のIRANDに代入される。従って,桝=22$,ゑ=5さ=
3125とした。∬£…ゐ∬乞_1(mod〝‡)の計算が,この1スデートメソトでなされたことになる。
3)RANUNI=FLOAT(IRAND)/83886鴨.0
上の計算によって求めた乱数を0から1までの−・様乱数に変換するために,838鑓08.0(228)
で割る。その鎗果をこの関数の値とする。
4)RETURN
この関数を引用した主プログラムのところへコントロ−ルを戻す。
事業部投資提案の態様
ーヱ〃J−101
ところが,FACOM230−45では,整数型の数値がはいるのは15ビットぶんで(1語長 16ビット),演算後符号ピッ†も含めて桁上がりしでしまうため,大きな正の整数値を掛け たり加えたりすると,場合によっては符号ピットが1紅なり計算機では魚の値と解釈され
(10)
てしまう。これを避けるため如乃が負と判定される時紅ほ,215=32768を加えて(符号ピ ットに1を加え.るこ.とを意味する),下位ピットに触れヂに符号ビットの魂を0紅(即ら,
215−1以下の値をそのまま採用)する。但し,32768はこのままだと計算機ではもマイナ スゼロ〟の意味に.解釈されてしまうので,㍊767を加えた後,更紅1を加える。
以上述べたこ.とから,FACOM230−45の場合の関数副プログラムほ次のようになる。
FUNCTION RANUNI(IRAND)
IRAND=IRANI)*3125
IF(IRAND)20,30,30 20 IRAND=(IRAND+32767)+1
30 RANUNI=FLOAT(IRAND)/32768.O RETURN
END
従・つて,計算機が2進S桁の場合は僧=2ぶととれば,mOdの計算紅は有利なこ.とが明ら かとなった。
次に烏=3125紅した根拠濫ついて考察する。こ.のため紅は,前述の乱数周期がいかに 決定されるかを,若干の整数論の知識を前提として分析を行なうことにより,自ら明らか となる。
オイラ−の定理(Euler,s theorem)から考える。−・般K,ある法にかんする既約剰余系
(負でない最小剰余がえらばれるとして)ほ,−・意にきまるから,この既約剰余系に属す るすべての剰余に,1つの桝とたがい紅葉である任意の整数をかけたもののおのおのにお いて,それらが属する類の負でない最小剰余ほ,順番はかならずしもひとしくはないが,
もとの既約剰余系とおなじもの紅なる。そこで,αを桝と素である任意の整数,rl,r2,
・・・…,γ犯を法班についての既約剰余系,Pl,P2,佃‥β先をγ宜のそれぞれにαをかけた ものが属する類の負でない最小剰余とすると,
α′−1…pl,αγ2…P2,・,αγ花…P乃 (modタ乃)
(10)倍糖度塾登数で行なうときは,この定数は変ってくる。本文は単糖度のときについ
て述べている。
策50巻 第1号
一J〃2− 102
辺々相掛けると,
α彿r・1γ2………㌢・が…や1 )2・州Pれ (mod椚)
両辺をγ1r2・・グ■乃=β1戸倉…Pれで割ると,
αれ蔓≡1(modク乃)
(21)となる。式(21)がオイラーの定理といわれるものであるム さら紅,αと椚が′互いに素であ るとき,式(21)をみたす邦の最小のものりをαが属するべき数という。
∬叫…ゑガ几,∬0…1(mod∽)
(22)とし,紹==0,1,2………紅ついて作られる数例は,周期を有する系列となる。なぜなら,
∬0≡1,∬1…ゐ,∬2…烏2,川…∬エ…か(mod:別)となるから,尾州…1(mod,〝)が成 り立つと,それ以後の系列は,∬0,.方1,‥,∬エと同じものがくり返されるからである。従 って,系列は,周期Jで巡屈することに.なり,周期Jとは牒が属するべき数である。すな わち系列の周期をきめるのは,彪が属するべき数であるといえる。
ここで,この定理を導くに当って使用した概念についてならびに前述のオイラーの定理 紅ついて,例をひきながら解説する。まず,類とは,法∽に.ついてたがいに合同な整数 の集合をいい,ある類の任意の要素を剰余とよぴ,剰余のうち負でない最小のものを最小 剰余と称する。例えば,法2にかんする類
−2×(2)+1===・−−・3
−1×(2)+1===・−−1
0×(2)+1=1 1×(2)+1=3 2×(2)+1=5 3×(2)+1=7
すなわち,…−3,−・1,1,3,5,7…の負でない最小剰余は1であ畠。
剰余のうち,法∽とたがい紅葉であるものを各類から1つずつえらんだ集り(ふつう
ほ各類の負でない最小剰余がえらぼれる)を,既緬剰余系という。たとえば,法24紅関し
ていえば,類はそれぞれ,0,1,2,3,…,23で代表され,既約剰余系は,24と互
いに菜なもの,すなわち1,5,7,11,13,17,19,23である。いま,これらに24と素
である任意の整数例えば5を掛けると,5,25,35,55,65,85,95,115になるが,こ
れらの属する類の負でない最小剰余,例えば最初の5の属する類は,
−jOβ−
事業部投資提案の態様
103
ー・享×(24)十5=−19
0×(24)+5= 5
1〉く(24)文一5= 29
ゆえ,その負でない最小剰余は.5となる。同様にして25の属する琴はゝ
−2×(24)+25=−23
−・1×(24)+25= 1 0×(24)+25= 25
で,最小剰余は1である。また35の属する類は
−2×(24)+35==−13
−・1×(24)+35=11 0×(24)+35= 35
であり,最小剰余は11である。あと同様にして,この最小剰余の系列は,もとの系列と順
番ほひとしくはないが,同じ系列となる,というのである。
前述の如くして,周期ほゑの属するペき数となることが判明したが,さらにこれほ牒=
5,∽=2Sのときは,次のようにして2S−2となることが知られている0すなわち,
0 5l=52==1+22
(51)2=52l=(1+22)2=1十2・22+24
(52)2=522=(1+28・十24)2=1+2(28+24)+(28十24)2
=1+24+25十
=1+24+25fl
(522)2=52$=(1+24+25′1)2
=1+2(24+25flノ十(24+25fl)2
=1+25+26f2
(5ヲ3)2=524=(1+25+26f2)2
=1+26+27f3
(52S ̄4)2=52(ざ ̄B)=1+2ぶ ̄1+2∫≠S−4
(52(ざ ̄3))2=52(8 ̄2)=1+2叫2ぶ+1fざ−3
となる。かくして,α…み(mod〝ヱ)というのは,αとみの差が∽で割り切れるということ
第50巻第1号
ーJO4−
104であったから,52方≡1(mod2∫)の∬は,1,2, ,・㌻−3のいずれでもなく,5−2 が1と合同である初めてのものとなる。したがって.,この場合の5が属するべき数は2S ̄2 であり,こ.れが系列の周期となる。たとえば,烏ニ5,椚=24=16の場合を例にとっで上 述のことを確かめると,式(22)から
∬0=1
α1…5・。方0(mod24)
∴∬1=5
∬2…5・∬1(mod24)
5×5=25 を16で割った余りは9
∴∬2=9
∬8…5・∬2(mod24)
5×9=45 を16で割った余りは13
∴∬−8=13
∬4…5・∬8(mod24)
5×13=65 を16で割った余りは1
∴.方l=1
鞄=5・∬4(mod24)
5×1:=5 を16で割った余りは5
∴∬$=5
よって,このように.して得られる数列ほ
1,5,9,13,ユ,5,9,
となり,1,5……の繰り返しは5番目から始まる。よって周期は4。サーなわち2ざ ̄2=2g
=4 が例証された。
かくして疑似乱数列の周期は桝と互いに素に.とった烏が属するべき数で与えられ,こ れができるだけ大きくなるように鳥が選ばれることになる。慣習として烏の値に.は5,7 あるいはそれらの奇数乗がとられる事が多い。さきの例題において烏=55=3125とした所 以である。
さらに発生乱数列の系列相関を最小にするという立場からはゐ≒ノ扇が良いとされて
いる。
事案部投資提案の態様
−ヱβ∂−105
以上のような考えから,実際に組んだプログラムでは
研=215 一心=13
ゐ=181三石/215
としたので,理論上の最大周期は215■2=218=飢92である。
ⅠⅤ
以上において合同法による一・様疑似乱数発生の際のゑと別に小かなる値を与えたらい いかの問題を考察してきたのであるがてここではその次の問題として一億乱数から指数乱 数への変換を考察しなければならない。けだしすで匡・述べたように我々のランダム到着の 例題では指数乱数をこそ必要であり,−・様乱数はその発生のためにのみ使用されるもので
(11)
あったからである。
さて,その変換方法に.はいろいろのものがあるが,ここでは逆変換法(iムveI・Set工anS−
foI・mation)について考察する。逆変換法とは,任意の分布の累積分布関数をダ(∬)とし,
区間(0,1)の−・様乱数をデ£とすれ畔,図2のごとき関係から,
(23)
γ■戚=ダ(∬i)
のとき
(24)
ズ・i=、ダ ̄1(r£)
より∬もを求める方法である。
ここで累墳分布関係について付言する。離散的確率分布をもつ乱数中頃合には,たとえ ば3っつの事象A,β,Cがあり
Aの確率が PA=0.231 βの確率が Pβ=0.445 Cの確率が Pc=0・324
ならばA,β,Cをそれぞれの確率に従ってランダムに抽出するには(0,1)の一輝乱
(11)もっとも,−・様乱数を,他の乱数を作成する手段としでではなく,直接に使用する 事も可能である。例えば,われわれの例題において,客の到着を,−・定の時間間隔に おける確率として把挺すれば,その累碩確率をもとに対応する一席乱数を定めること ができる。待ち行列問題のかかる把握における考察としては,
刀根薫・恒川純音 共著「電子計罫機一新しい数学へのアブロ−チ15−」,共立
出版,171−180ぺ一−ジ参照。
ーヱ〃6− 106
数rを取り出して
0.000<γ<0.231(=クA)ならば A O.231≦r<0.676(=PAヰ・Pβ)ならば β 0.676≦γ<1.000(=PA十タβ十Pc)ならば C
というエ合にすればよい。同様にして,確率密度関数八方)をもつ連続分布の乱数を作る に.は,離散的な場合の極限として,ノ■(・ガ)の累積分布関数
瑚=.J■箋・ガ)血
を作る。これを指数分布の場合に.当てはめれば,指数分布の密度関数は
′(∬)=αβ ̄α好 くα>0,ガ>0)
で与えられ,累積分布関数は次式で与えられる。
ダ(・方)=.笹一叫離
○
∫
=−β−αf〕
○
=−e ̄αヤ+1
事業部投資提案の感様 −JO7−
107
従ってニ,(0,1)区間上の−・様乱数の1つをγ■£とすると対応する指数乱数.方電との間に.
ほ(23)式の関係,すなわら
γ i=ダ(∬乞)=1こ・β ̄αガ官
が成り立つ。両辺の対数をとって
log(1−サ■i)=−α∬£
∴∬ =−・
log(1−−γ豆)(1・−・r£)ほ,また(0,1)区間上の一億乱数になると考えてよいから,それを改めて
γ・iと考えると式(24)に対応して
ガi=−÷1喝グ・電
(25)を得る。
以上によって,指数乱数∬は一・様乱数′■の対数に.平均到着率の逆数つまり平均値をかけ マイナスの符号をつけて求めれば良い事がわかった。つまり指数乱数の必要の都度,前述 の一・様乱数作成のサブ・ファンクシ㌧トンを呼び出し,次に.,次の如き指数乱数作成のサブ ファンクジョンを呼ペば良いことになる。
FUNCTION EXPRAN(HEI,IRAND)
Ⅹ=RANUNI(IRAND)
EXPRAN=一HEIネAI.OG(1.0−Ⅹ)
RETURN EⅣD
\ このプログラムは,まずEXPRANという名前の関数副プログラムであるととを定義 し,HEIとIRANDの2つの引数をもつことを意味している。HEIほ指数乱数の平均値 であり,ALOG(1.0−・Ⅹ)は自然対数の組み込み関数である。かくて一・様乱数IRANDの 値を使って平均値がHEIの指数乱数を発生させることになる。
以上に.おいて,指数疑似乱数を得る方法について略述したが,次の問題点は前述の待ち
行列問題のプログラムを60進法忙したがって進行・計算できるようにすることである。す
なわちわれわれの例題においては,1秒ずつ時刻をすすめて,客が到着する時刻か,サー
ビスがおわる時刻かを調べて所定の操作をおとなうもので,60秒になると1分となるよう
に組むことが必要である。そしてそのプログラムは次のようになる。
算50巻貸1号 108
ーJ∂β−
F叩CTI6N払Dp(Ⅰ革,IY)
INTEGER Xo,Ⅹ1,YO,Yl,Zo,Zl
Ⅹ1=ⅠⅩ/100
Ⅹ0=ⅠⅩ−・Ⅹ1*100 Yl=IY/100 YO=IY−・Yl*100 ZO=Ⅹ0+・Yo I =Zo/60 Zo=Zo−・Ⅰ*60
IADD=(Ⅹ1+Yl+Ⅰ)*100+ZO RETURN
END
このプログラムは,2個の引数をもつIADDという名前の関数サブプログラムである。
そしてこのプログラムが呼はれた時にⅠⅩ,IYに与えられている数値は整数型で,下2桁 で秒を,3桁以上で分をあらわすものと解釈する。ⅠⅩ三3520ならば35分20秒とみなすの である。具体例に即してプログラムの説明をする。ⅠⅩ=359,IY=226のとき,
Ⅹ1=ⅠⅩ/100 によって Ⅹ1=3
Ⅹ0=ⅠⅩ−Ⅹ1*100 によって Ⅹ0=59 すなわち3分と59秒とに分けられる。同様にして
Yl=2(分)
Yo=26(秒)
したがって,ZoにはⅩ0+Yo=59+26=85が割りあてられる。
(12)
Ⅰ=Zoノ60 によってⅠ=85/60=1 ZO=Zo⊥Ⅰ*60 によって Zo=85−・1×60=25。
IADD=(Ⅹ1+Yl+Ⅰ)*100+Zo は IADD=(3+2+1)×100+25=625
すなわち6分25砂となる。犀後の式の100を掛けるのは,このサブプログラムから主プロ
(12)整数型演算における割り算では,■右辺の演算結果の余りを切り捨てた砥が左辺の値
となる。
−JO9−
事業部投資提案の態様 109
グラムへ戻るとき,IADDの持っている億が,下2桁で砂を,3桁以上で分をあらわす
、ようにしたいためである。すなわち
とすると,6分とするために左へ2桁うつし 6×100 6 t O 箋 0
の如ぐするためである。
60進法のひき算のサププログラ皐(IMINt椙)でもはば同様の考え方で作った(111ぺ
−ジ参照)b
さて,以上が欝1節の最初のプログラム紅いろいろな改訂をおこなって,より完全なも のにすることについての考察である。そこにおいては,まず凝似乱数の発生,それに関連 して・一機乱数の周期の分析,次に一機乱数から指数乱数へゐ変換の問題,そ・して60進法の サブ・ファンクレヨンの追加の問題が論ぜられた。今や,われわれほ最初の例題について この改訂されたプログラムによって−窓口増設が適当か否かを判断する段階に来たといえよ う。
改訂されたプログラムほ次のように・なる。ただし,前のプログラムと違って,使用され ると予測される乱数を全部最初紅読み込まず,乱数の初期値のみ設定。フローチ・サートは
前と同じである。ガαは客の到着のための,跳は客のサービスのために必要な指数乱数の 平均値であろ。
MACHI−GYORETU MONDAI
INTEGER T(100),TIME,TI,TE,TA,S,TS,TW M=100
SUBROUTINE**RANUNI**NO MAEJYUNBI
IRAND=13
TA=RANUNI(IRAND)
DOlI=1,M
0006 1T(Ⅰ)=0
0007 TIME=0
第50巻 第1号 N=O
TIニO TE=9000 MAX=O HEIA=5.O HEIS==4.O
TA=EXPRAN(HEIA,IRAND)*100.O S=O
TA=IADD(TA,S)
WRITE(6,1000)TA lOOO FORMAT(4H TA,Ⅰ6)
S=EXPRAN(HEIS,IRAND)*100.O TS=IADD(TA,S)
WRITE(6,1001)S,TA,TS
lOOIFORMAT(3H S,Ⅰ6,5Ⅹ,3HTA=,Ⅰ6,5Ⅹ,3HTS=,Ⅰ6)
5IF(TIME.EQ.TA)GO TOlO IF(TIME.EQ.TS)GO TO30 IF(N)60,70,60
10IF(TIME.EQ.TS)GO TO20 N=N十1
IF(N.GT.MAX)MAX=N S=EXPRAN(HEIA,IRAND)*100.O TA=IADD(TA,S)
WRITE(6,1002)S,TA
lOO2 FORMAT(3H A,Ⅰ6,5Ⅹ,3HTA=㍉Ⅰ6)
GO TO60
20 S;=EXPRAN(HEIA,IRAND)*100.O TA=IADD(TA,S)
WRITE(6,1002)S,TA
S=EXPRAN(HEIS,IRAND)*100.O TS=IADD(TS,i)
WRITE(6,1003)S,TS
lOO3 FORMAT(3H S,Ⅰ6,5Ⅹ,3HTS=,Ⅰ6)
GO TO60 30 N=N−1
IF(N)50,40,50 40 TI=IADD(TI,1)
S=EXPRAN(HEIS,IRAND)*ioo.o TS=IADD(TA,S)
WRITE(6,1001)S,TA,TS GO TO80
50 S=EXPRAN(HEIS,IRAND)*IOO・O TS=IADD(TS,S)
10
〟 鍼0090011012013014耶016017胴019皿肌胱 ∽皿肪 購脚闇個030031032033034035036037038039㈹041042捕傾腫捕047鵬捕睨 ヱ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00
110
事業部軍資提案鱒態様 WRITE(6,1003)S,.TS 60 T(N)=IADD(T(N),1)
GO TO80 70 TI=IADD(TI,1)
80 TIME=IADD(TIME,1)
IF(TIME.LT.TE)GO TO5 NOBE MACHト・JIKAN
TW=T(1)
WRITE(6,90)MAX 90 FORMAT(5H MAX=,Ⅰ5)
IF(MAX.EQ.0)GO TOllO WRITE(6,1006)(T(N),N=1,MAX)
1006 FORMAT(5(5Ⅹ,Ⅰ6))
DOlOOI=2,MAX DO95J=1,Ⅰ
55 ︒
Ⅳ⁝
1 00 0︒ 1 1
ーヱヱユー
C C C
95 TW=IADD(TW,T(Ⅰ))
100 CONTINUE
Ⅵ7RITE(6,101)TW,TI lOI FORMAT(14H AFTER
TW=IADD(TW,TI)
WRITE(6,102)TW lO2 FORMAT(4H TW=,Ⅰ6)
TW=IMINUS(TW,TE)
110 WRITE(6,200)TW,TI
100TW=,Ⅰ6,5Ⅹ,3HTI=,Ⅰ6)
200 FORMAT(19王INOBE MAC‡ⅠトJIKAN 墓,15/
/20H SETSUBIAKIl−・JIKAN =,Ⅰ5)
STOP END
FUNCTION RANUNIについては101ぺ−・e7,FUNCTION EXPRANについては 107ぺ・一汐,FUNCTIONIADDたっいては108ぺ−ジ参照。したがって本文に尊かれ ていないFUNCTIONIMINUSについてのみここに記す。
FUNCTIONrIMINUS(ⅠⅩ,IY)
IMINUS=ⅠⅩ−IY
IX,IY TOMO SIMO2−KETA WA(BYO)WOARAWASU.
ⅠⅩ,IY TOMO SIMO3−ⅨETAIJYO WA(HUN)WO ARAWASU.
IF(IY.GT.ⅠⅩ)GO TOlOO IXl=ⅠⅩ/100
ⅠⅩ0=ⅠⅩ−ⅠⅩ1*100 IYl=IY/100 0001
C C C C
ヱJ2
第50巻 第1号 112 IYo=IY−IYl*100
IZo=ⅠⅩ0−・IYo 1IF(IZO)10,20,20 10ⅠⅩ1=ⅠⅩ1−1
IZoごIZo+・60 GO TO 1
20IMINUS=(ⅠⅩ1−IYl)*100十IZo RETURN
lOO WRITE(6,110)
110 FORMAT(37H***SUBROUTINEIMINUS***(ⅠⅩ.LT.IY))
RETURN END
瞞0︒︒70︒︒80︒︒90︒1︒0︒11肌0︒130︒140︒150︒160︒17果TASAASAASSSASASAAASASSSASA
結2943
275 TA=
9
TA=
365
TA==797 TS=
230 TA=
1523 TA=
211 TS=
161 TS=
53 TA=
561 TA=
52 TA=
162 TA=
59 TA=
31 TA=
15 TA=
425 TA=
613 TS==
214宰
TAニ
284 TS=
40 TS=
230 TA=
196 TA=≒
1076 TA=
638 TA=
43 29北野413 TS= 3258
43 2 8 5 5 AV
γ+ ∴T ∴T
S S S
T T T ︵hV ︵0
91 頂
8 0 1 ニ コ S ST T
MAX=
3913 1538 AFTER lOO TW= 6235
TW=12022
NOBE MACHI−・JIKAN ==3022 SETSUBIAKト・JIKAN == 5747
722
TI= 5747
事業部投資提案の態様
113 一丁J3−