第三話
さて、マナ操作の基礎を習得した俺は、次に魔術を習得……しようとはしなかった。
この世の魔術はもちろん習得したい。しかし魔術を使用している姿を人に見られるのだけはちょっとだけ避けておきたいのだ。
マナの操作までならば、最悪人に見られても何とかなる。生まれつきマナの操作が異様に上手い器用な子、というのは数少ないものの一定数存在するからだ。
俺がいかにマナの操作に抜きん出ていた所で「ああ、この子には生まれつきのセンスがあるんだな」「魔術の才能に恵まれて生まれてきたのか」と思ってもらえるレベルで済む。
しかし、魔術の運用が非常に卓越しているとなるとどうだろうか。
それも周囲の大人を差し置いて活躍するほどに魔術を使いこなしていたらどうなるか。
周りの噂になる、将来を期待されてエリートコースに進むことを強制される、平民上がりの天才魔術師を嫌う連中のやっかみを買う、等と色々思いつく。
周りにちやほやされたいのは事実だが、あまり良い展望が見えない。
所詮は五歳、発言力にせよ身体能力にせよ、本当に何につけても色々と足りないのだ。そんな奴が大人をしのぐ魔法技術なんざ持っていても周囲には迷惑をかけるだけだろう。
周囲の大人の事情をかき乱すような真似はしたくない。
例えば、俺が街の有力者に「悪魔の子供だ!」「魔族の血を引き継いでいるぞ!」だなんて言われた暁にはどうなる? 俺は捕まって殺されるかも知れないし、両親や妹だって、彼らも魔族かもしれないとあらぬ嫌疑をかけられて同じく処刑されるかもしれない。
そうじゃなくても、街で謎の火災が起きたりしたときに「この子のせいに違いない、この子なら火ぐらい簡単につけることが出来る」だなんて疑られるのも癪だ。街に疫病が流行ったら「お前達のせいだ!」と濡れ衣が被せられる可能性まである。
無論、そこまでは行かないかもしれない。この世界の人間は、ある程度魔法には理解がある者が多い。マナを感知できる人間は「いや、彼らは外出もしなかったし、そんな大掛かりな魔法なら俺も何かを感じ取っているはずだけど何も感じなかったし」と庇い立ててくれるかもしれない。
しかしだからといって、無条件に信用していい訳ではあるまい。
この世界において大人と認識される十一歳になるまでは、なるべく爪を隠しておいたほうがいい。
俺がこの世界において規格外である『現代魔術』を使えるだなんてことを、あまり他人に口外すべきではないのだ。
というわけで、俺がまず取り組んだのは『周囲にばれないような魔術を開発すること』である。
特に狙い目は、消費マナも少なく、常時展開可能でありながら有益な魔術。
この世界の魔術を習得するよりも先に、魔術を自分で開発というのも変な話だ。だが、この世界の魔術で『周囲の人にばれない魔術』『有益な魔術』という二つを満たすものが少なかった。
というか、周囲の人にばれない魔術だなんて、誰も本に書かない。
何故なら周囲の人にばれないようにそういう魔術を作ったのに、一体誰がそれを本に書いて公表しようと考えるだろうか。
それに第一、そんな『周囲の人にばれずにいつでも使える魔術』というのは、王国の治安維持の観点からすれば危険なものでしかない。誰にも魔術がばれないから、簡単に悪用が出来てしまうのだ。そんな危険な本は検閲段階で焚書されるだろう。
というわけで俺は、魔術を自作しようと悪戦苦闘している最中であった。
今取り組んでいるのは、皆の憧れの『鑑定魔術』である。
(目に入った対象の生命力、保有マナ量を即座に分析できる能力。……絶対便利だろうなあ)
などと一人で妄想に耽っては喜悦に浸ってにんまりしているわけである。
考えている構想としてはこうだ。
例として、対象の総マナ【MP】、および対象の魂の器【MaxMP】を求めると仮定しよう。
まずは対象の周囲に漏れ出ているマナ量を観測する。単位時間当たりに漏れだしているマナ量は、現在のマナ量【MP】を用いてp×【MP】と表記することができるだろう。pは一種のパラメタ(どれだけ上手に流出マナを遮断できているかという変数)である。
そして、単位時間当たりに周囲から回復できるマナ量は、魂の器の大きさに比例する。最大マナ容量が大きければ大きい分、時間経過によるマナ回復量も多いわけだ。適当なパラメタqを用いて、『-p × 【MP】 + q × 【MaxMP】 = (単位時間当たりのMP回復量)』と算出できる。
さて、周囲からマナを取り込む量と、周囲に漏れ出すマナ量がつりあった場合、その人はもう最大MPになっているはずだ。
上記方程式を『-p × 【MP】 + q × 【MaxMP】 = 0』と置いて解くと、普通に【MaxMP】 = p/q × 【MP】と分かるわけだ。
無論これは、複数の要素をかなり無視して解いた、大雑把な推定である。
しかし、pやqは変数だが、ある程度じっくり観察していればほぼ一定値として計算できるだろう。以上から、大雑把な近似計算によって、相手の最大保有マナ量【MaxMP】が計算により推定できることがわかった。
【MaxMP】が高ければ強い相手、【MaxMP】が低ければ弱い相手、と相手の強さのランクまで大雑把に推定できる。
こういった計算を出来るのが鑑定魔術の強みなのだ。
他にも、対象の最大体力【MaxHP】を導出できたら楽しそうである。相手の体力を大雑把に把握できたら、この魔物は一撃で殺せそうだから狩っとくかとか、この魔物はたくさん攻撃しなきゃいけないからMPをもっと回復してから戦おうとかが判断できるはずだ。
しかし……これは一筋縄では上手く行かないだろう。考えなくてはならない要素が多すぎるのである。
一般に、相手の身長や体重の値が大きければ大きいほど【MaxHP】は高いだろう。
また、相手の最大マナ容量【MaxMP】が多ければ多いほど強力な敵、つまり最大体力も高い可能性が高い。
他にも相手の筋力量だとか、相手の体の素材の頑強さだとか、複数のパラメタがあるに違いない。
このように、推定するためのパラメタが大量に必要となるわけだ。
そのため、これは機械学習によって解くのがいいだろう。
身長、体重、体脂肪率、筋力量、保有マナ量、体の素材の頑強さ、などなどをたくさんのパラメタで仮定し、それらのパラメタをシグモイド関数をおいて適当に重み付けする。
とりあえずはパーセプトロンを作るのがいい。
入力層、中間層、出力層、の三層を仮定する。入力層には先ほどのたくさんのパラメタの数値を代入。そこから中間層へ受け渡すわけだが、【身長】+【体重】、【身長】×【体重】、みたいに入力群をたくさんの組み合わせで演算したものが中間層に表れるようにするわけだ。
中間層から出力層への値の受け渡し方は、それぞれの値に適当な重み付けを行って、それを多数決によって決定する。
これを繰り返すことにより、適切な重み付けを発見することが出来るという仕組みだ。
問題は、答えがないと計算結果が正しいのか分からないということ。
答えさえ手に入れたら、逆誤差伝搬法から学習を強化できるのだろう。しかし、【MaxHP】なんてゲームじゃあるまいし、どうやって答えを得るというのか。
なので、経験と勘から大雑把に求めるほかないだろう。
幸い、俺には時間はたくさんある。これから十年ぐらいかけて、じっくり改良できたらいいな、というぐらいの気持ちで挑むのがベストだろう。
以上が俺の考えている大雑把な構想だ。
どうせなら、タグ付けすることで『ティターニア・アスタ』みたいに名前をポップアップ表示できるようにしたり、『今日は誕生日』みたいなメモを表示できるようにしたら、生活が捗るに違いない。
鑑定魔術、完成が楽しみである。
今の段階では、MP推定、MaxMP推定が精一杯だが、これから色々と拡張していけるはずだ。
(今俺は五歳だが、例えば五年後とかにはどうなっているだろうな。きっと日々の小さな積み重ねが、大きな差になっているはずだ)
一人ほくそ笑む。五歳児にしては、我ながら時間を有効活用しているのではなかろうか、と自画自賛。
かくして、両親やセルヴァンテ、妹に隠れて、俺の自己増強計画がひっそりと進むのであった。
ここだけの話、MaxMPの式に納得がいってません(p、qを変数と置けば良いだけなのかも知れませんが)。
もし良いアイデアがあればそれに修正したいなと考えております。