Maxima 入門 5

1
第5章
Maxima 入門 5
■既に習ったこと
• 四則演算:a+b;, a-b;, a*b;, a/b;, a^2;
• 代入:ev(a^2, a:b+1);
• 微分:diff(3*a^2,a);
• 連立方程式:solve([2*a+3*b=21, 4*a-2*b=2],[a,b]);
• 展開:expand((a+b+c)^2);
• ある変数でまとめる:factorout(a^2 +b^2 +c^2 +2*a*b +2*b*c +2*a*c, b, c);
• 因数分解:factor(a^2 -b^2);
• 簡単化:ratsimp(a^2+2*a*b+b^2+a^2+2*a*b+b^2);
• 実数化:float(13*a/137);
• 出力の省略:1+2$
• 式の参照:expand((a+b+c)^2)$
factorout(%, b, c);
• メモ:/* クールノー競争 */
• ギリシャ文字:%alpha;
(Maxima のバージョンが新しい場合,[Esc] a [Esc] の順に入力しても良い。)
• 文字の定義:p:a-q;
• 定義の解除:kill(p);, kill(all);
• 2 次元の図:plot2d(x^2,[x,-1,1]);
• 3 次元の図:plot3d(x*y,[x,0,1],[y,0,2]);
• リストの計算:diff( [3*x, 2*x^2],x);
• リストの要素選択:[1,2,[3,4],5][3][2]
第 5 章 Maxima 入門 5
2
5.1 不等式の解
Maxima は不等式を解くことがあまり得意ではないため,不等式問題の計算には様々な
制限ある。例えば,連立不等式を解くことは(私の知る限り)できないようである*1 。し
かしながら,単一の不等式であれば解くことが可能である。例えば,以下のような問題を
考えてみよう。
x(2 − x) > 0
x(2 − x) は上に凸の 2 次関数であり,x = 0 と x = 2 でゼロの値をとる。したがって,解
は 0 < x < 2 であることが直ちにわかる。
このような不等式を解くためには,
「fourier_elim」と呼ばれるパッケージを読み込ま
なければならない。このパッケージを読み込むためのコマンドは以下となる。
load(fourier_elim)$
そして,x(2 − x) > 0 を x について解くためのプログラムは以下となる。
fourier_elim( [x*(2-x)>0], [x]);
パッケージを読み込む命令は,Maxima を起動してから終了するまでに 1 度だけ行えば良
く,不等式を解くたびに実行する必要はない。
5.2 離散的な選択肢
企業が直面する問題を考えた場合,価格や生産量などある程度連続した変数ととらえる
ことのできるものもあれば,参入するかどうかや,買収するかどうかなど離散的な変数と
して扱う方が望ましいものもある。これまでの講義では,連続的な変数に対する計算とし
て,微分(利潤最大化条件)を活用してきた。この資料では,微分することのできない離
散的な問題を考えてみよう。
5.2.1 ライバルがいない場合
ある行動(参入するかどうかなど)を決定しなければならないプレーヤー(企業)が自
分だけである場合,その行動を行うかは利潤を比較することで,決めることができる。例
えば,ある行動をとった場合の利潤を π(A) とし,その行動をとらなかった場合の利潤を
π(N ) で表すことにしよう。この場合,企業がその行動をとるためには,以下の条件が成
*1
一 方 ,有 料 で あ る Mathematica は 連 立 不 等 式 を 解 く こ と が で き る 。ま た ,Mathematica を 販
売 し て い る Wolfram が 運 営 し て い る Wolfram Alpha を 使 え ば ,無 料 で 連 立 不 等 式 の 解 を 得
る こ と が で き る 。Woelfram Alpha に つ い て は ,次 の URL に ア ク セ ス す れ ば 利 用 可 能 で あ る 。
https://www.wolframalpha.com/
5.2 離散的な選択肢
3
立していれば良い。
π(A) > π(N ).
■参入の例
市場には企業が 1 社(企業 I )のみ存在しているとする(独占)
。この企業が
生産量を xI とした場合,その費用は cI xI となることにする。また,市場全体で生産され
る財の量を X とし,逆需要関数を p = 1 − X としよう。さらに,この市場に参入しよう
と考えている潜在的参入企業(企業 E )が 1 社存在し,潜在的参入企業の限界費用を cE ,
生産量を xE とする。潜在的参入企業が実際に参入するためには,参入費用 f を支払うこ
とにする。市場に存在する企業は,数量競争を行っていると仮定する。
各企業の行動の順は以下の様に定める。
• ステージ 1:まず,潜在的参入企業が参入する(e)か参入しない(n)かを決定する。
• ステージ 2:次に,市場に存在する企業が生産量を決定する。
– もし,ステージ 1 で参入が起こった場合,企業 I が生産量 xI を決定し,企業
E が生産量 xE を決定する。
– もし,ステージ 1 で参入が起こらなかった場合,企業 I のみが生産量 xI を決
定する。企業 E の生産量は xE = 0 とする。
以上の設定の下,各企業の利潤は以下のようになる。
πI = (1 − xI − xE − c)xI ,
πE = (1 − xI − xE − c)xE − f.
この設定の下で,潜在的参入企業が参入しないことを決めるような参入費用 f の条件を
求めてみよう。
最初に,各種の変数を定義する。
p:1-xI-xE$
piI:(p-c)*xI$
piE:(p-c)*xE-f$
まず,ステージ 2 の状況を考える。ステージ 1 では参入が起こる場合(e)と起こらな
い場合(n)が存在するので,場合分けが必要となる。
参入が起こる場合,ステージ 2 では 2 つの企業が競争しているので,利潤最大化条件よ
り,各企業の生産量を求めるプログラムは以下となる。
solve( [ diff(piI,xI)=0, diff(piE,xE)=0 ], [xI,xE] )[1]$
ratsimp(%)$
OutcomeStage2e:%;
これを各企業の利潤に代入しておくためのプログラムは以下となる。
第 5 章 Maxima 入門 5
4
[piI, piE]$
ev(%, OutcomeStage2e)$
ratsimp(%)$
[piIStage2e, piEStage2e]:%;
一方,参入が起こらなかった場合,潜在的参入企業の生産量は xE = 0 であり,参入費
用も支払う必要がないので,この企業の利潤はゼロとなる。
よ っ て ,潜 在 的 参 入 企 業 が 参 入 す る た め に は ,さ き ほ ど 求 め た 参 入 後 の 利 潤
「piEStage2e」が ゼ ロ よ り 大 き け れ ば 良 い 。こ の 不 等 式 を 解 く た め に ,パ ッ ケ ー ジ
「fourier_elim」を読み込みこんでいる場合,計算を行わせるためのプログラムは以下
となる。
fourier_elim( [piEStage2e>0], [c]);
しかしながら,適切な解が得られないことが分かる。
この様な場合,とりあえず不等号を等号に置き換え,普通の方程式として解いた後で,
不等号の向きを考えると良いであろう。それを実施するには,以下のようなプログラムを
書く。
solve( [piEStage2e = 0], [f]);
参入費用が大きいほど,企業は参入しなくなるはずなので,求める参入費用の条件は以
下となる。
f<
c2 − 2c + 1
.
9
5.2.2 ライバルがいる場合
ライバルが存在する状態で離散的な選択を行う場合,その均衡はどのように求めたら良
いだろうか。それは,囚人のジレンマなどで学習した(普通の)ゲームにおける均衡の求
め方と同様である。例えば,以下のようなゲームの均衡を求めてみよう。
プレーヤー 1
プレーヤー 2
a
b
A
1, 2
0, 0
B
0, 0
2, 1
このゲームのナッシュ均衡は (A, a) と (B, b) である。
では,より一般的に次のような利得の場合を考えてみよう。
5.2 離散的な選択肢
5
プレーヤー 2
プレーヤー 1
a
b
A
xAa , yAa
xAb , yAb
B
xBa , yBa
xBb , yBb
このとき,(A, a) がナッシュ均衡となるか調べたいとしよう。そのためには,相手の選
択を所与として,自分は (A, a) から変化しても得をしないことを示せば良い。まず,プ
レーヤー 1 の行動から考えてみよう。プレーヤー 2 が a を選択している場合,プレーヤー
1 が A を選択する条件は xAa > xBa が満たされれば良い。次に,プレーヤー 1 が A を選
択している場合,プレーヤー 2 が a を選択するためには,yAa > yAb が満たされていれ
ば良いことになる。これをまとめると,以下の条件が満たされている場合,(A, a) はナッ
シュ均衡となることが分かる。
xAa > xBa
かつ
yAa > yAb .
(A, a) 以外のナッシュ均衡についても,同様に議論することで条件を求めることができる。
この xAa , xBa , yAa , yAb が何らかの変数で表されている場合,連立不等式として,より
簡単な条件を求めることができることもあるだろう。そのような場合,可能な限り不等式
を簡単にすることは重要である。
■投資の例
企業の様々な離散的な選択の例として,2 つの企業が限界費用を低下させる
投資を行うかを考えている状況を分析してみよう。
まず,市場に 2 つの企業(企業 1 と企業 2)が存在している。各企業の生産量を x1 と
x2 で表すことにしよう。各企業は投資を行うことができ,投資を行うと(I )限界費用が
ゼロになるとする。一方,投資を行わなければ(N )限界費用は c となるとしよう。した
がって,各企業の限界費用は次のように表すことができる。
{
ci =
0 投資を行った場合,
c 投資を行わなかった場合.
投資の費用は f で表すことにしよう。したがって,各企業の投資に使った費用は次式と
なる。
{
fi =
f 投資を行った場合,
0 投資を行わなかった場合.
各企業の直面する逆需要関数は p = 1 − x1 − x2 とし,各企業は数量競争を行っていると
仮定する。このとき,次の手順で各企業が行動するとしよう。
ステージ 1:各企業が同時に投資する(I) が投資しない(N )かを決定する。
ステージ 2:各企業が投資の結果を観察した後で,自分の生産量を決定する。
上記の設定の下で,各企業の利潤は次式となる。
π1 = (1 − x1 − x2 − c1 )x1 − f1 ,
π2 = (1 − x1 − x2 − c1 )x2 − f2 .
第 5 章 Maxima 入門 5
6
上記で定めた変数の定義を Maxima で行うためのプログラムは以下となる。
p:1-x1-x2$
pi1:(p-c1)*x1-f1$
pi2:(p-c2)*x2-f2$
このモデルを後ろ向きに解くのであるが,このモデルはステージ 1 で 4 つの状況に場合
分けされている。具体的には,両企業が投資を行う場合 (I, I),企業 1 のみ投資を行う場
合 (I, N ),企業 2 のみ投資を行う場合 (N, I),両企業とも投資を行わない場合 (N, N ) と
なる*2 。
まず,両企業が投資を行うケース (I, I) での利潤を求めてみよう。このケースでは,
(c1 , c2 ) = (0, 0) かつ (f1 , f2 ) = (f, f ) となっている。これに注意して,利潤を求めるプ
ログラムは以下となる。
[pi1, pi2]$
ev( %, c1:0)$
ev( %, c2:0)$
ev( %, f1:f)$
ev( %, f2:f)$
[pi1Stage2II, pi2Stage2II]:%;
solve( [ diff(pi1Stage2II, x1)=0, diff(pi2Stage2II, x2)=0], [x1,x2] )[1]$
ratsimp(%)$
OutcomeStage2II:%;
これを各企業の利潤に代入すると,この場合の利潤を得る。
[pi1, pi2]$
ev( %, c1:0)$
ev( %, c2:0)$
ev( %, f1:f)$
ev( %, f2:f)$
ev( %, OutcomeStage2II)$
ratsimp(%)$
[pi1II, pi2II]:%;
同様にして,企業 1 のみが投資を行うケース (I, N ) の均衡利潤を求めるためのプログ
*2
ただし,このモデルは企業が対称であるので,2 番目のケースと 3 番目のケースは基本的に同じ状況にあ
る。
5.2 離散的な選択肢
ラムは,(c1 , c2 ) = (0, c) かつ (f1 , f2 ) = (f, 0) となっていることに注意すると,以下と
なる。
[pi1, pi2]$
ev( %, c1:0)$
ev( %, c2:c)$
ev( %, f1:f)$
ev( %, f2:0)$
[pi1Stage2IN, pi2Stage2IN]:%;
solve( [ diff(pi1Stage2IN, x1)=0, diff(pi2Stage2IN, x2)=0], [x1,x2] )[1]$
ratsimp(%)$
OutcomeStage2IN:%;
[pi1, pi2]$
ev( %, c1:0)$
ev( %, c2:c)$
ev( %, f1:f)$
ev( %, f2:0)$
ev( %, OutcomeStage2IN)$
ratsimp(%)$
[pi1IN, pi2IN]:%;
さらに,企業 2 のみが投資を行うケース (N, I) の均衡利潤を求めるためのプログラム
は,(c1 , c2 ) = (c, 0) かつ (f1 , f2 ) = (0, f ) となっていることに注意すると,以下となる。
[pi1, pi2]$
ev( %, c1:c)$
ev( %, c2:0)$
ev( %, f1:0)$
ev( %, f2:f)$
[pi1Stage2NI, pi2Stage2NI]:%;
solve( [ diff(pi1Stage2NI, x1)=0, diff(pi2Stage2NI, x2)=0], [x1,x2] )[1]$
ratsimp(%)$
OutcomeStage2NI:%;
[pi1, pi2]$
ev( %, c1:c)$
7
第 5 章 Maxima 入門 5
8
ev( %, c2:0)$
ev( %, f1:0)$
ev( %, f2:f)$
ev( %, OutcomeStage2NI)$
ratsimp(%)$
[pi1NI, pi2NI]:%;
最後に,両企業とも投資を行わないケース (N, N ) の均衡利潤を求めるためのプログラ
ムは,(c1 , c2 ) = (c, c) かつ (f1 , f2 ) = (0, 0) となっていることに注意すると,以下となる。
[pi1, pi2]$
ev( %, c1:c)$
ev( %, c2:c)$
ev( %, f1:0)$
ev( %, f2:0)$
[pi1Stage2NN, pi2Stage2NN]:%;
solve( [ diff(pi1Stage2NN, x1)=0, diff(pi2Stage2NN, x2)=0], [x1,x2] )[1]$
ratsimp(%)$
OutcomeStage2NN:%;
[pi1, pi2]$
ev( %, c1:c)$
ev( %, c2:c)$
ev( %, f1:0)$
ev( %, f2:0)$
ev( %, OutcomeStage2NN)$
ratsimp(%)$
[pi1NN, pi2NN]:%;
以上により,各ケースの均衡利潤は次式となる。
π1II = π2II =
1
− f,
9
1
(c + 1)2 − f, π2IN
9
1
π1N I = (1 − 2c)2 , π2N I =
9
1
NN
π1 = π2N N = (1 − c)2 .
9
π1IN =
=
1
(1 − 2c)2 ,
9
1
(c + 1)2 − f,
9
さて,各ケースの利潤が求まったので,均衡での投資行動について考えてみよう。企業
が対称である場合,相手がある行動をとっている場合,自分がどのように行動するかを考
5.2 離散的な選択肢
9
えると均衡が求めやすいことが多い。ここでも,この考えにしたがって分析を進めてみ
よう。
まず,相手が投資をしている場合(I ),自分も投資をする(I )方が得になる条件は次
式で与えられる。
[
π1II − π1N I = π2II − π2IN =
] [
]
1
1
− f − (1 − 2c)2 > 0.
9
9
これを投資費用 f について解くためのプログラムは以下となる。
solve( [ pi1II- pi1NI = 0], [f])$
factor(%);
投資費用が小さい方が投資を行いやすいはずなので,相手が I の時,自分が I を選ぶ条件
は次式となる。
4c 4c2
−
.
9
9
f<
次に,相手が投資をしていない場合(N ),自分が投資をする(I )方が得になる条件は
次式で与えられる。
[
π1IN
−
π1N N
=
π2N I
−
π2N N
] [
]
1
1
2
2
=
(c + 1) − f − (1 − c) > 0.
9
9
これを投資費用 f について解くためのプログラムは以下となる。
solve( [ pi1IN- pi1NN = 0], [f])$
factor(%);
投資費用が小さい方が投資を行いやすいはずなので,相手が N の時,自分が I を選ぶ条
件は次式となる。
f<
4c
.
9
この条件を図示するために,次のプログラムを実行しよう。
plot2d( [(4*c)/9-(4*c^2)/9, (4*c)/9], [c,0,1]);
この図において,縦軸が f であり,横軸が c であるので,両曲線の下側は「相手が I で
も N でも,自分は I を選ぶ」という領域となる。したがって,この場合の均衡は (I, I)
となる。一方,両曲線の上側は「相手が I でも N でも自分は N を選ぶ」とう領域となる
ので,均衡は (N, N ) となる。赤線と青線の間の領域では,「相手が N ならば自分は I を
選ぶが,相手が I ならば自分は N を選ぶ」という領域になっている。したがって,相手
と異なるものを選ぶ状態が均衡となる。つまり,(N, I) および (I, N ) が均衡となるので
ある。これを図示すると,次のようになる。
第 5 章 Maxima 入門 5
10
図 5.1
(I, I)
投資コストと均衡
(I, N ) または (N, I)
(N, N )
f
4c 4c2
−
9
9
4c
9