この項目が属するチャート 第3巻〈1〉王からの手紙
このページには、ゲームブック『ソーサリー』のネタバレが含まれます。
謎の答えをあからさまには記していませんが、ゲーム展開についてそれなりに踏み込んだ内容に触れることがあります。
プレイヤーとしてゲームを遊び尽くした後で、ご覧になることをお勧めします。
この項目への遷移元 | この項目からの遷移先 |
---|---|
第3巻の冒険が始まって早々に、バドゥ・バク平原を進んでいた主人公は四羽の[怪物]夜鷹に襲われて戦闘になる([項目]第3巻-1)。この戦闘はアナランド王からの伝令である金冠鷲が登場するきっかけとなる出来事であり、不可避のイベントである一方、相手を全滅させることまでは必要ない。実際は、魔法をうまく使うことで夜鷹を退けることは可能なのだが、たとえそれができずに武器戦闘に突入しても、3回戦が終了した時点で金冠鷲が登場して夜鷹たちを追い払ってくれる展開となる。
したがって、巻が始まって間もないこともあり、この戦闘では、いかに体力点減を抑えつつ乗り切るかが攻略のポイントになる。
魔法を使って夜鷹を退ける方法とは[術]LAWを使うことであり、正しく選べば確実に敵を撃退できるものの、体力点4点を消費することは確実になる。いっぽう、初めから武器戦闘を選ぶと1対4の不利な複数戦闘にはなるが、夜鷹の技術点がさほど高くないこともあって、負傷せずに3回戦を乗り切ることは十分にあり得る。もっとも、その成否はサイコロの目にも左右されるため、運が悪ければ[術]LAWを使うよりも却って多くの体力点を失うことになりかねない。そこで、どのような条件(具体的には技術点の高さ)があれば、[術]LAWを使うより武器戦闘のリスクを負うほうがよいと言えるだろうか。ここで検討してみたいのはその問題である。
まず、夜鷹4羽の技術点と体力点を掲げる([項目]第3巻-258)。
第一の夜鷹(夜鷹1) 技術点 7 体力点 5
第二の夜鷹(夜鷹2) 技術点 6 体力点 5
第三の夜鷹(夜鷹3) 技術点 7 体力点 5
第四の夜鷹(夜鷹4) 技術点 7 体力点 4
これら4羽の夜鷹を相手どって戦うルールは、項目中の説明によると、いわゆる同時戦闘方式である。すなわち、各回戦ごとに、自分は4羽の敵のうちのどれを狙うかを決めたうえで「技術点+DD」で攻撃力を求め、4羽の敵のほうは、狙われたものを含めて全個体が攻撃力を算出して、こちらの攻撃力といちいち比較するのである。敵側は、こちらの攻撃力を上回ったものがいるたびにこちらを負傷させるが、こちらは、狙った相手よりも攻撃力が高ければその相手に限り負傷させることができる。狙った個体以外との比較で自分の攻撃力が上回っていても、傷を負わせることはできず、単に攻撃をかわしたにすぎない。
これを3回戦にわたって続けた後に、自動的に戦闘終了となる。
この方式で4体の敵と同時に戦闘する場合、3回戦の間に自分は3回、敵は合計12回の攻撃チャンスをもつことになる。一般的に複数相手の戦闘が圧倒的に不利となる所以だが、今回の場合は注目すべき点が一つあり、それは夜鷹4の体力点が4点であることである。つまり、こちらの攻撃が二回成功すれば夜鷹4を仕留めることができ、それ以降は戦闘から離脱させられるのである。もっとも、体力点4点の相手を仕留めるには最低でも2回戦が必要であるから、夜鷹4を集中して攻撃したとしても、戦闘から排除できるのはせいぜい3回戦になってからということになる(注)。しかし、他の3羽はみな5点の体力点があり、2回戦までに仕留めきることができないのはどのみち確実であるので、ともかく夜鷹4の撃破を狙ってみることが最も賢明といえる。
(注)戦闘で攻撃が成功した際に運試しをできるというルールがあり、成功すればダメージを4点に倍加することができるため、戦術の幅は広がる。しかし、一般に体力点よりも重要な強運点を体力点節約のために消費することは合理的ではないから、この可能性は検討しなくてもよいであろう。
こうして1回戦と2回戦で連続して夜鷹4を狙って、あわよくば2回戦までで仕留めることにより敵側の攻撃チャンスを1回減らそうとする方針は、これに優る合理的行動が考えられないという点で、ここでの最適戦術と呼んでよいだろう。最適戦術をとることを既定方針としたうえで、3回戦の戦闘の間に、4羽の夜鷹からどれだけの体力点ダメージを受けることが見込まれるのか。そのリスクを自分の技術点ごとに評価して、[術]LAWを使った場合の体力点消費4点と比較してみることが、ここでの課題である。
計算の手順をイメージしやすくするため、まずは具体的な例を設けて考察を進める。
自分の技術点は10点であると想定しよう。夜鷹1・3・4との間には+3の技術点差、夜鷹2との間には+4の技術点差が存在する。
そして最適戦術に従い、1回戦と2回戦では夜鷹4を標的に選び、2回戦までに仕留めることを目標とする。夜鷹4以外の相手は、2回戦までに仕留められる可能性がない。夜鷹4を2回戦までに仕留められたならば、3回戦では残る3羽だけを相手にする。戦闘は3回戦で終了するので、夜鷹4を仕留められたか否かに関わりなく、3回戦の標的はどの相手を選んでもよい。戦闘中に運試しは行わず、自分の武器のダメージは原則通り2点とする。
以上のような条件で、戦闘終了までに受ける被ダメージの期待値を計算する。
まず、勝敗確率表を掲げる。
技術点差 | 勝ち | 引き分け | 負け |
---|---|---|---|
+5 | 1170 | 56 | 70 |
+4 | 1090 | 80 | 126 |
+3 | 986 | 104 | 206 |
+2 | 861 | 125 | 310 |
+1 | 721 | 140 | 435 |
0 | 575 | 146 | 575 |
-1 | 435 | 140 | 721 |
-2 | 310 | 125 | 861 |
-3 | 206 | 104 | 986 |
-4 | 126 | 80 | 1090 |
-5 | 70 | 56 | 1170 |
分母=1296を省略 |
勝敗確率表は、特定の技術点差のある敵との戦闘において、各回戦の自他の攻撃力(技術点+DDの値)を比較する際に、勝ち、引き分け、負けとなる確率がそれぞれどの程度あるかを示したものである。たとえば、技術点差が+3である相手(技術点が自分より3低い相手)との戦闘で、「技術点+DD」の値を比較したときに相手を上回る確率は1296分の986となる。
3回戦終了までに失う体力点の見込み値を知りたいので、カギとなるのは負けの確率である。これは技術点差に依存するので、夜鷹1・3・4と夜鷹2を区別する必要がある。いっぽう、相手にダメージを与えられるかどうか(勝ちかそれ以外か)は、夜鷹4についてのみ問題となるが、夜鷹4を仕留められるのは早くても2回戦終了時であり、それまでは夜鷹4の戦闘参加は確実であるから、1回戦・2回戦においては夜鷹4を別扱いする必要はない。
夜鷹1との技術点差は+3である。技術点+DDを比較して、勝ちまたは引き分けならば被ダメージはなく、負けならば2点のダメージを受ける。したがって、夜鷹1からの被ダメージの期待値は、
( 1296分の986 × 0点 ) + ( 1296分の104 × 0点 ) + ( 1296分の206 × 2点 ) = 1296分の412点
となる。夜鷹3と夜鷹4からの被ダメージの見込みも同じ計算である。
夜鷹2との技術点差は+4である。技術点+DDを比較して、勝ちまたは引き分けならば被ダメージはなく、負けならば2点のダメージを受ける。したがって、夜鷹2からの被ダメージの期待値は、
( 1296分の1090 × 0点 ) + ( 1296分の80 × 0点 ) + ( 1296分の126 × 2点 ) = 1296分の252点
となる。
以上より、1回戦で夜鷹1・2・3・4から受ける被ダメージの見込み値は、
( 1296分の412点 × 3羽 ) + ( 1296分の252点 × 1羽 ) = 1296分の1488点
である。
1回戦の結果にかかわらず、2回戦で戦闘から脱落しているものはいない(自分が死んだのでない限り)。したがって、4羽の夜鷹から受ける被ダメージの見込み値は1回戦と同じ計算となり、 1296分の1488点 である。
夜鷹1・2・3は5点以上の体力点をもつため、ここまでに脱落していることはあり得ない。いっぽう体力点4点の夜鷹4は、こちらの集中攻撃が奏功した場合には、2回戦までで死亡しており3回戦には参加しない。この可能性を考慮に入れる。
1回戦と2回戦において、技術点差が+3の夜鷹4に対して勝ちとなる確率は1296分の986である。1回戦と2回戦でいずれも夜鷹4を狙って勝ちを収めれば、2回戦までで4点のダメージを与えて夜鷹4を仕留めることができる。技術点差 +3 の相手に二回連続で勝つ確率は ( 1296分の986 )2 である。そこで、3回戦において夜鷹4が生存している(=死亡していない)確率は 1 - ( 1296分の986 )2 となる。
3回戦において夜鷹4が死亡していれば、夜鷹4からの被ダメージの可能性はなく、夜鷹4が生存していれば、これまでと同様に 1296分の412点 の被ダメージが見込まれる。したがって、3回戦に夜鷹4から受ける被ダメージの見込み値は、
( 1296分の986 )2 × 0 + ( 1 - ( 1296分の986)2 ) × 1296分の412 = 1296分の412点 - ( 9862 × 412 ÷ 12963 )点
となる。
以上より、3回戦ですべての夜鷹から受ける被ダメージの見込み値は、
( 1296分の412点 × 2羽 ) + ( 1296分の252点 × 1羽 ) + 1296分の412 - ( 9862 × 412 ÷ 12963 )
= 1296分の1488点 - ( 9862 × 412 ÷ 12963 )点
となる。変形後の式の第1項は、1回戦・2回戦と同じ値であり、あえて計算せずに残してある第2項が、夜鷹4の死亡の可能性によって減殺された分とみることができる。
以上により、1回戦から3回戦までを合計した戦闘全体の被ダメージの見込み値は、
( 1296分の1488 ) + ( 1296分の1488 ) + ( 1296分の1488 ) - ( 9862 × 412 ÷ 12963 )
= 1296分の4464点 - ( 9862 × 412 ÷ 12963 )点
である。最終式の第1項を「基本想定値」、第2項を「減殺想定値」と呼ぶことにする。これを小数値で表すと、
基本想定値 = 3.444444…
減殺想定値 = -0.184007…
となり、その合計(「被ダメージ想定値」と呼ぶ)は 3.260436… ≒ 3.26点 となる。
被ダメージ想定値 3.26点 は、夜鷹との戦闘を[術]LAWで乗り切った場合の体力点コスト4点よりも小さいことから、自分の技術点が10点である場合には、体力点を節約するためにリスクを取ってでも武器戦闘を選ぶのは不合理でないと結論できる。(ただし、実際の戦闘のダメージは負けの回数ごとに2点ずつと整数で決まるので、結局は4点のダメージを受けるのが最もありそうな結果ではある。)
以上の設例による考察を一般化して、自分の技術点がさまざまである場合に適用できる公式を導いておく。
技術点差 N =(自分の技術点)-(怪物の技術点)
まず、技術点差 N を上のように定めたうえで、勝敗確率表に若干の補充をして再掲する。
技術点差 N |
勝ち W(N) |
引き分け D(N) |
負け L(N) |
---|---|---|---|
+5 | 1170 | 56 | 70 |
+4 | 1090 | 80 | 126 |
+3 | 986 | 104 | 206 |
+2 | 861 | 125 | 310 |
+1 | 721 | 140 | 435 |
0 | 575 | 146 | 575 |
-1 | 435 | 140 | 721 |
-2 | 310 | 125 | 861 |
-3 | 206 | 104 | 986 |
-4 | 126 | 80 | 1090 |
-5 | 70 | 56 | 1170 |
U = 1296 |
ここで三つの関数 W(N)、D(N)、L(N) を定める。
W(N)は「技術点差が N であるときの勝ちの確率に 1296 を乗じた値」であり、W(+3) = 986 のように、勝敗確率表に記された整数値を返す。
D(N)は「技術点差が N であるときの引き分けの確率に 1296 を乗じた値」であり、D(+3) = 104 のように、勝敗確率表に記された整数値を返す。
L(N)は「技術点差が N であるときの負けの確率に 1296 を乗じた値」であり、L(+3) = 206 のように、勝敗確率表に記された整数値を返す。
N は整数値のみをとるものとする。また、定数 U = 1296 とする。
当然ながら、 W(N) + D(N) + L(N) = U の関係が、どのような N の値に対しても成り立つ。
夜鷹との技術点差 n =(自分の技術点)- 7
4羽の夜鷹のうち3羽は技術点が7点であるから、これを基準として採り、自分の技術点と7点との差を 夜鷹との技術点差 n とする。夜鷹1・3・4(技術点7)について計算する際は N = n とし、夜鷹2(技術点6)について計算する際は N = n+1 とする。
各回戦において、技術点差が n である相手に負けを喫する確率は L(n)/U であり、負けにより2点のダメージを被るので、この相手からその回戦に受ける被ダメージの見込み値は2・L(n)/U と表せる。また、技術点差が n+1 である相手に負けを喫する確率は L(n+1)/U であり、負けにより2点のダメージを被るので、この相手からその回戦に受ける被ダメージの見込み値は2・L(n+1)/U と表せる。
1回戦および2回戦においては、技術点差が n である夜鷹が3羽(夜鷹1と3と4)と、技術点差が n+1 である夜鷹が1羽(夜鷹2)とが、その回戦に参加することが確定している。よって、一回の回戦で見込まれる4羽からの被ダメージの見込み値の合計は、
( 2・L(n)/U ) × 3 + (2・L(n+1)/U ) × 1 = ( 6・L(n) + 2・L(n+1) )/U
となる。
3回戦においては、技術点差が n である夜鷹が2羽(夜鷹1と3)と、技術点差が n+1 である夜鷹が1羽(夜鷹2)とが、少なくともその回戦に参加することが確定している。よって、それらの3羽からのダメージ見込み値の合計は、
( 2・L(n)/U ) × 2 + (2・L(n+1)/U ) × 1 = ( 4・L(n) + 2・L(n+1) )/U
となる。
いっぽう夜鷹4は2回戦までで死亡している可能性があり、その場合には3回戦には参加しない。夜鷹4(体力点4)が死亡しているのは、1回戦と2回戦で連続してこちらの攻撃が成功した場合である。技術点差が n である相手に勝利を収める確率は W(n)/U であるから、これが二度続けて起こる確率は、
( W(n)/U )2
と表せる。よって、3回戦で夜鷹4が生存している(死亡していない)確率は、
1 - ( W(n)/U )2
となる。
3回戦では、夜鷹4が生存している場合に限り夜鷹4からのダメージが見込まれ、その見込み値は1・2回戦と同様の計算となるから、3回戦の夜鷹4からの被ダメージの見込み値は、
( 1 - ( W(n)/U )2 ) × 2・L(n)/U = 2・L(n)/U - ( 2・W(n)・W(n)・L(n) )/U3
である。
これを、3回戦における他の3羽からの被ダメージ見込み値と合計すると、
( 4・L(n) + 2・L(n+1) )/U + 2・L(n)/U - ( 2・W(n)・W(n)・L(n) )/U3
= ( 6・L(n) + 2・L(n+1) )/U - ( 2・W(n)・W(n)・L(n) )/U3
となる。
以上より、1回戦から3回戦までの被ダメージ見込み値の合計を求めると、
( 6・L(n) + 2・L(n+1) )/U + ( 6・L(n) + 2・L(n+1) )/U + ( 6・L(n) + 2・L(n+1) )/U - ( 2・W(n)・W(n)・L(n) )/U3
= 6 ( 3・L(n) + L(n+1) )/U - ( 2・W(n)・W(n)・L(n) )/U3
となる。最終式の第1項が基本想定値、第2項が減殺想定値であり、式全体が被ダメージ想定値を表している。
被ダメージ想定値 = 6 ( 3・L(n) + L(n+1) )/U - ( 2・W(n)・W(n)・L(n) )/U3
基本想定値 = 6 ( 3・L(n) + L(n+1) )/U
減殺想定値 = - ( 2・W(n)・W(n)・L(n) )/U3
ここで、夜鷹との技術点差 n のさまざまな値に対して、各想定値がどのような値をとるかを調べると、勝敗確率表を拡張した次の表が得られる。(自分の技術点は7点よりは相当大きいことが普通と考えられるため、 n が大きい方に表を拡張した。)
自分の 技術点 |
夜鷹(技術点7) との技術点差 n |
勝ち W(n) |
引き分け D(n) |
負け L(n) |
基本想定値 6( 3・L(n)+L(n+1) )/U |
減殺想定値 -( 2・W(n)・W(n)・L(n) )/U3 |
被ダメージ想定値 |
---|---|---|---|---|---|---|---|
17 | +10 | 1295 | 1 | 0 | 0.000 | 0.000 | 0.00 |
16 | +9 | 1291 | 4 | 1 | 0.013 | -0.001 | 0.01 |
15 | +8 | 1281 | 10 | 5 | 0.074 | -0.007 | 0.07 |
14 | +7 | 1261 | 20 | 15 | 0.231 | -0.021 | 0.21 |
13 | +6 | 1226 | 35 | 35 | 0.555 | -0.048 | 0.51 |
12 | +5 | 1170 | 56 | 70 | 1.134 | -0.088 | 1.05 |
11 | +4 | 1090 | 80 | 126 | 2.074 | -0.137 | 1.94 |
10 | +3 | 986 | 104 | 206 | 3.444 | -0.184 | 3.26 |
9 | +2 | 861 | 125 | 310 | 5.259 | -0.211 | 5.05 |
8 | +1 | 721 | 140 | 435 | 7.476 | -0.207 | 7.27 |
7 | 0 | 575 | 146 | 575 | 10.000 | -0.174 | 9.83 |
6 | -1 | 435 | 140 | 721 | 12.675 | -0.125 | 12.55 |
5 | -2 | 310 | 125 | 861 | 15.296 | -0.076 | 15.22 |
4 | -3 | 206 | 104 | 986 | 17.680 | -0.038 | 17.64 |
3 | -4 | 126 | 80 | 1090 | 19.703 | -0.015 | 19.69 |
2 | -5 | 70 | 56 | 1170 | 21.296 | -0.005 | 21.29 |
U = 1296 | 計算途中は小数第4位以下を切り捨て、結果は小数第3位を四捨五入 |
[術]LAWを使った場合の体力点の消耗が4点であるから、被ダメージ想定値が4.00を下回る場合には、武器戦闘を選んで体力点の節約をはかった方がよいことになる。これに当てはまるのは、夜鷹との技術点差が +3以上、すなわち自分の技術点が10点以上の場合と言える。ただし、サイコロの出目に左右される不安定さや、何度もサイコロを振る面倒もあるので、素直に[術]LAWを使ってしまってもよいだろう。
また、夜鷹4を集中して狙うことで2回戦までに倒してしまえば全体として被ダメージリスクを減殺できると考えたが、結論から言うと、ほとんど影響がないことがわかった。減殺想定値の絶対値は相当小さく、これを考慮してもしなくても、武器戦闘を選ぶべき閾値は技術点差 +3以上で変わりない。
なお、減殺想定値の絶対値は技術点差が +2 のときに最大(0.211)となっており、その前後で逓減している。これは、夜鷹4を最短で仕留める(2回連続で攻撃を成功させる)という戦術の成否が、技術点差 = +2 のときに最も不確定であることを示していると考えられる。つまり「攻撃を2回連続で成功させる」ことは、技術点差が大きくなるほど成功確実となり、技術点差が小さくなるほど失敗確実となって、いずれにせよ成否の見通しの確実性は高まる。そのために、技術点差が過大や過小の場合には、夜鷹4を首尾よく倒せるかどうかを確率的に考慮する必要性が減少するということであろう。
これは「『攻撃を2回連続で成功させる』ことがうまくいくかどうかの判定は、自分の技術点が2点高い場合に最も覚束ない」という事実を反映していることになり、どうせなら、そういう方向に分析を進めるほうがやり甲斐があるような気がしてきた。
そういうわけで以上のとおり、第3巻開始時において技術点が10点以上(とりわけ11点以上)ある場合には、[怪物]夜鷹を[術]LAWによって撃退するよりも、3回戦の武器戦闘での突破を試みるほうが有利であることがわかった。
張り切って細かい計算をしたわりには常識的に想像できる結論に収まってしまい、なんだかガッカリである。
(2024-09-13)
この項目が属するチャート 第3巻〈1〉王からの手紙
ゲームブックの情報論 ≫ ソーサリー ≫ 攻略データベース ≫ 第3巻 ≫ 〈1〉王からの手紙 ≫ 項目258 |