ハト派とタカ派の比率が50対50の時のシミュレーションをC言語で書く

現在、「利己的な遺伝子」を読み進めている。読み進めていく内に、面白いシミュレーションが紹介されていた。それをC言語で実現してみる。その前に、簡単に本書やそのシミュレーションについて述べていこうと思う。

利己的な遺伝子 40周年記念版

利己的な遺伝子 40周年記念版

以前、「攻撃」を読んだ。

攻撃―悪の自然誌

攻撃―悪の自然誌

過去に、「攻撃」を参考にして私が書いた記事がある。
nmzfish.hatenablog.com

しかし、「利己的な遺伝子」の中では、「攻撃」の内容に関して、全面的にかつ完全に間違っていると評されている。
「攻撃」の内容を要約すると、「動物は互いの優劣を儀式めいた行為で決め、互いを傷つけない。それは、種の個体数を減らさない工夫であり、そのために動物は進化してきた」というもの。動物は、種の為に利他的に振舞っているとしている。
一方、「利己的な遺伝子」ではこう反論している。「動物は互いの優劣を、互いを傷つけない方法で決める。しかし、それは互いにとって最も利益の高い方法だからである。あくまでも利己的に振舞っているだけ」というものである。
面白い。同じ内容に関して書かれた別著者の本を読み比べたことはある*1。しかし、反対の論理を展開している2冊を読んだのは初めてかもしれない。まだ半分も読み進めていないが、比喩表現が絶妙で、その面でも楽しめている。

Gene.png
By Courtesy: National Human Genome Research Institute - [1] (file), パブリック・ドメイン, Link

利己的な遺伝子」では、13章ある内、5章では安定性について述べられている。安定性とは、自然界における動物種の数のバランスのことである。例えば、ある草を餌とする草食動物がいるとする。すると、その草食動物を餌とする肉食動物もいるだろう。草食動物が増えれば、餌の草が無くなり、肉食動物は増える。しかし、草が減れば、草食動物が減るので肉食動物も減る。自然界では、これらの数がそれ以上増減しない一定の比率で安定している。ここまでで述べたのは、捕食者と被捕食者の場合である。つまり、別種の動物間の関係である。では同種ではどうか。例えば、AとBとCという同種の動物がいるとする。この3者はオスであり、互いにメスや餌を争うライバルである。ある時、AがBと会ったとする。AがBを殺せばライバルが1人減る。しかし、それはCも同じである。Bを放っておけば、Cと殺しあうかもしれない。何もせずとも利益を得られる。AがBを殺すことは一見利益だが、間接的には他のライバルを助けることになる。平和主義の方が利益にも思えるかもしれない。しかし、戦いで被る不利益よりも、得られる利益の方が大きい場合もある。例えば、巨大なハーレムである。戦いに挑むかどうかを決定するために、これらの利益不利益に対して、損得勘定をすればいい。損得勘定、およびどのように戦うかについてを含めて「戦略」とする。「戦略」とは、例えば「相手を攻撃する。反撃してきたら攻撃をやめて逃げる。」というものである。メイナード・スミスは「戦略」について、「進化的に安定な戦略(ESS:Evolutionarily Stable Strategy)」を定義した。これは、その戦略を個体群のメンバーの大多数が採用すれば、他に取って代わられることのない戦略である。ESSの概念を、攻撃に当てはめるために、最も単純な攻撃パターンについて考察する。それが「ハト派」と「タカ派」である。「ハト派」とは、いわゆる儀式めいた行為によって優劣を決め、互いを傷つけないタイプである。彼らの勝敗は、五分五分であるとする。勝つと利益になるが、負けても不利益はない。しかし、儀式めいた行為には時間がかかる。これは損失になり、両者に発生する。一方、「タカ派」とは、徹底的に戦うタイプである。相手に深い傷を与えるまで戦い続ける。勝敗はこちらも同様に五分五分であるとする。しかし、負ければ負傷という大きな不利益を被る。
この2種類の戦略について、どちらが優れているかをシミュレートする。また、「優れた戦略」を評価するために、得点をつける。得点の高い戦略の方が優れているとする。本記事では、「利己的な遺伝子」において採用された配点を利用する。それは以下のようなものだ。

  • 勝てば+50点
  • 負ければ0点
  • ハト派同士の場合、儀式には時間がかかる。その損失として勝者敗者共に-10点
  • タカ派同士の場合、負ければ傷を負うので損失として-100点

Hawk on a ceremonial stand.jpg
パブリック・ドメイン, Link

以上がシミュレーションの条件である。これをC言語で書いていく。

早速だが、書いたプログラムを示す。コンパイラBCC (Borland C++ Compiler)である。なお、こちらのプログラムでは、ハト派タカ派の比率が50対50の場合の、ハト派タカ派の1羽辺りの1戦の平均得点を計算する。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int GetRandom(int min, int max);

int A,B;
int bird[100] = {};

int main(void){

    int i,pattern;
    int hato_hato = 0;
    int hato_taka = 0;
    int taka_taka = 0;
    float taka_total,hato_total = 0;

    for(i = 0; i < 100000; i++){

        A = GetRandom(0, 99); 
        B = GetRandom(0, 99);

        pattern = (A % 2) + (B % 2);

        switch(pattern){
            case 0:
                if(GetRandom(0, 99) % 2 == 0){
                    bird[A] -= 100;
                    bird[B] += 50;
                    taka_taka++;    
	       }
               else{
                   bird[A] += 50;
                   bird[B] -= 100;
                   taka_taka++;
                }
                break;

            case 1:
                if(A % 2 == 0){
                    bird[A] += 50;
                    hato_taka++;
                }
                else{
                    bird[B] += 50;
                    hato_taka++;
                }
                break;

            case 2:
                if(GetRandom(0, 99) % 2 == 0){
                    bird[A] += 40;
                    bird[B] -= 10;
                    hato_hato++;
                }
                else{
                    bird[A] -= 10;
                    bird[B] += 40;
                    hato_hato++;
                }
                break;
        }
    }

    for(i = 0; i <= 99; i += 2){
        taka_total += bird[i];
    }

    for(i = 1; i <= 99; i += 2){
        hato_total += bird[i];
    }

    printf("average of taka equal %f\n",taka_total/(50 * 1000 * 2));
    printf("average of hato equal %f\n",hato_total/(50 * 1000 * 2));
    printf("\n");
    printf("taka-taka =%d\n",taka_taka);
    printf("hato-taka =%d\n",hato_taka);
    printf("hato-hato =%d\n",hato_hato);

    return 0;
}

int GetRandom(int max, int min){

    static int flag;

    if(flag == 0){
        srand((unsigned int)time(NULL));
        flag = 1;
    }
    return min + (int)(rand() * (max - min + 1.0) / (1.0 + RAND_MAX));
}

出力は以下のようになる。タカ派の得点とハト派の得点は、計算によって得られた期待値とほぼ等しい。

f:id:nmzfish:20190815102426j:plain
出力
プログラムの内容を説明していく。ただし、重要だと思われる部分についてのみ説明する。

GetRondom関数は乱数を生成する。中身については以下の記事を参考にした。minとmaxの範囲の乱数を返す。

int GetRondom(int min, int max);

9cguide.appspot.com


メイン文内のforループである。ループ回数、つまり、行われる総対戦回数は10万回である。bird[0]からbird[99]のそれぞれの鳥が呼び出される回数、つまり、個々の対戦回数はおよそ2000回である。bird[A]で呼び出される場合とbird[B]で呼び出される場合があるため、試行回数を鳥の総数で割った数の2倍となる*2
AとBに乱数を格納する。これらに格納された番号の鳥を対戦させる*3。bird[偶数]の鳥はタカ派とし、bird[奇数]の鳥はハト派とした。pattern変数は、AとBに格納された変数のmod2の和を格納する。どちらもタカ派であれば、和は0であり、タカ派同士の対戦となる。また、和が1であれば、タカ派vsハト派あるいはハト派vsタカ派の対戦となる。和が2の場合は、ハト派同士の対戦となる。pattern変数の値がそのまま対戦形態となるので、switch文で分岐させ、上記の配点を記述する。タカ派同士とハト派同士では、bird[A]とbird[B]のどちらが勝つかは五分五分であるとした。発生させた乱数のmod2が0か否か、つまり、偶数であるかどうかで判定した。0から99までの範囲で乱数を生成させれば、その数が偶数である確率は50%である。

int main(void){

    int i,pattern;
    int hato_hato = 0;
    int hato_taka = 0;
    int taka_taka = 0;
    float taka_total,hato_total = 0;

    for(i = 0; i < 100000; i++){

        A = GetRandom(0, 99); 
        B = GetRandom(0, 99);

        pattern = (A % 2) + (B % 2);

        switch(pattern){
            case 0:
                if(GetRandom(0, 99) % 2 == 0){
                    bird[A] -= 100;
                    bird[B] += 50;
                    taka_taka++;    
	   }
                else{
                    bird[A] += 50;
                    bird[B] -= 100;
                    taka_taka++;
                }
            break;

            case 1:
                if(A % 2 == 0){
                    bird[A] += 50;
                    hato_taka++;
                }
                else{
                    bird[B] += 50;
                    hato_taka++;
                }
                break;

            case 2:
                if(GetRandom(0, 99) % 2 == 0){
                    bird[A] += 40;
                    bird[B] -= 10;
                    hato_hato++;
                }
                else{
                    bird[A] -= 10;
                    bird[B] += 40;
                    hato_hato++;
                }
                break;
        }
    }

上記に貼り付けた結果より、ハト派の1戦辺りの平均得点は7.5639点であり、タカ派は12.5925点である。計算で得られたハト派の期待値は7.5点であり、タカ派の期待値は12.5点である。得点が高いということは、利益が大きいということであり、個体数が増える。つまり、ハト派タカ派の安定的な比率は、タカ派の方が少し大きいことがわかる。今後は、ハト派タカ派のみの集団の場合の安定的な比率をC言語でプログラミングしたシミュレーションで求めてみたい。

利己的な遺伝子 40周年記念版

利己的な遺伝子 40周年記念版

攻撃―悪の自然誌

攻撃―悪の自然誌

*1:銃・病原菌・鉄とサピエンス全史

*2:ここが分かっておらず、結局、任意の1羽が呼び出される回数をカウントして気づいた

*3:AとBに同じ数が格納されることは考えていない

IE40PROのコスパに惚れて買ってしまうまでの話

先日、SENNHEISER の「IE40PRO」を購入した。カラーはブラックにした。値段は12,636円であった。

SENNHEISER製品は今まで、HD598、HD650を使用してきた*1SENNHEISER製品を購入するのは、IE40PROで3つ目となる。

www.e-earphone.jp

SENNHEISER(ゼンハイザー)とは、1945年にドイツで設立された音響機器メーカーである。イヤホンヘッドホンはもちろん、映像制作やレコーディングで使われるマイクなどもリリースしている。ピンと来ない方は、テレビ番組などの取材クルーを想像してみて欲しい。その中に、細長いモコモコしたマイクが付いた長い棒を持っている人がいると思う。その人が使うようなマイクで代表的なモデルが、SENNHEISERのMKH416だと言われている。そのくらい、いわゆるプロ用機器では有名なメーカーである。

同様に、我々が手にするイヤホンヘッドホンの業界でも有名である。HD25、HD650、HD800、IE800など、名機と呼ばれる機種を多数生み出した。これらの機種は、イヤホンヘッドホンの業界に馴染みの無い人にはよく分からないと思う。簡単に説明すると、これらは、いわゆる「イヤホンヘッドホンのオタクなら知らない者はいないだろう」という機種たちである。

f:id:nmzfish:20190801152628j:plain

SENNHEISER IE40PRO BLACK

本題のIE40PROは、発売発表時から「SENNHEISERのモニターイヤホン*2」ということで注目されていたように思う。しかも安い。

私は以前、IE80、IE800を視聴したことがある。その時、正直、好きではない音だと感じた。つまり、その時から私はSENNHEISERのイヤホンに対して*3あまりいいイメージを持っていない*4。発売発表時からIE40PROの値段は魅力的であったため、とりあえず買ってみるというのも出来そうだった。しかし、そのイメージが大きく、興味は湧かなかった。また、SONYの「MDR-EX800ST」を以前から使用していることもある。こちらもダイナミック1基のモニター用ということで、用途が完全に被っている。

それが確か今から半年くらい前のことである。SENNHEISERのイヤホンに対してはあまりいいイメージを持っていなかったが、私は聴いてもいないイヤホンを叩くようなオタクではない。ちょうどイヤホン専門店へ寄る機会があったのでIE40PROを試聴してみた。

 

まずは「WHITE ALBUM2 Original Soundtrack ~setsuna~」より「夢想歌

再生機器はDP-X1、フォーマットはflac 24bit/96kHzである。

www.e-onkyo.com

私がこれから聴くのは、まず、大好きな曲であるということ。大好きな曲が気持ちよく聴けるかどうかは重要である。それと、小木曽雪菜の透き通るようなヴァーカルがきちんと表現されているか、打ち込みがブーミーではないかがすぐに分かること。アニソンばかり聴くので、この2つは私が重視するポイントである。

いざ試聴。歌いだしのヴァーカルは後ろに何もなく、素晴らしい透明感。ハモリまで透き通って見通しがいい。そして流れるイントロ。低域は適度に重量感があり、中高域は明瞭。分離感も良好で、乱雑な印象が無い。低域の打ち込みが、ヴォーカルに被ることもない。流石モニターイヤホンといったところ。高域の主張が少々キツいと感じたが、よくよく聴いてみると全帯域に渡ってフラットなだけである。長らく使用しているEX800STが、低域寄りで少々高域が埋もれがちだったことを考えれば、EX800STで埋もれていた部分が聴こえただけであった。

 

次に「LoSe±CoNtRoL」。再生機器は同じくDP-X1、フォーマットもflac 24bit/96kHzである。

www.e-onkyo.com

この曲で定位、音場、分離感をチェックする。LoSe±CoNtRoLは音数が多く、空間を最大限に生かした音作りがしてある。そのため、先にあげた3つの要素が分かりやすい。好きな曲ということもあるが、チェック用という意味も大きい。

聴いてみると、広い音場に加え、分離感が素晴らしい。定位もよく、それぞれの音がどこで鳴っているのか明確に分かる。LoSe±CoNtRoLをしっかりと表現できている。IE80、IE800は少々低域が出すぎな印象を受けたが、IE40PROは控えめで私にはちょうどいい。

 

その時は、ただ試聴しに来たので金を持ってきていなかったことに加え、勢いで買うのはよくないと感じたので見送った。

 

その半年後、カスタムIEMをオーダーするために、イヤホン専門店へ寄る機会ができた。空き時間ができたので、IE40PROの試聴、2回目。これでいいイヤホンだと感じたら買おうと思っていた。前回の試聴のイメージが間違っている可能性もある。その時ハマっていたこともあり、一発目でアイカツステップを聴いてみた。特に何も考えることなく、アイカツステップを選択した。

 すると、皆がいた。

f:id:nmzfish:20190804215647j:plain

アイカツスターズ 」、100話より

イントロのコンプ感が気持ちいい。低域はブーミーでなく、密度感がある重量でドッシリと。高域はキラキラと表現しつつも、不快な刺さりがない。全帯域に渡って明瞭である。そして始まる

1・2・3 de アイカツ!

なんてったって 約一万

となりのレジへ 一直線

であった。アイカツステップがここまで気持ちよく鳴るのか、と....。もうね、惚れた。この音が13,000円って....。買ってしばらくしたが、大満足である。現在も使用率は高め。

 

 

参考までに、私が試聴で聴く楽曲を紹介する。

まずは「WHITE ALBUM2 VOCAL COLLECTION」の「Free and Dream」である。アルバム全体を通してヴォーカルの質感に優れている。その中でも、Free and Dreamに関しては、特にヴォーカルの定位がいい。上原れなと津田朱里の二人の声が非常に心地いい。ヴォーカルチェック用音源。

www.e-onkyo.com

次は「Pure AQUAPLUS LEGEND OF ACOUSTICS」の「夢想歌」である。イヤホン専門店は基本静かな環境ではないので、イヤホンの試聴ではあまり聴かない。だが、ヘッドホンの試聴では必ず聴く。楽器の数が少ないのと、それらの楽器がうまく帯域が分かれている。そのため、全体的なバランスや解像感が分かりやすい。ヴォーカルのチェックもできる。ヘッドホンやDAC、アンプの試聴ではこれだけをじっくり聴くこともある。
www.e-onkyo.com

 

さいごに

IE40PROは、約13,000円という価格*5でありながら、非常に優れたパフォーマンスをする。付属イヤホンをやめて、少しいいイヤホンで音楽を聴いてみたい、という人にはもちろんだが、イヤホンオタクにもオススメできる。

*1:HD598は1年くらいで手放した。HD650は現在も使用中

*2:楽曲制作時などにチェックするためのイヤホン

*3:IE80とIE800はSENNHEISERの代表的なイヤホンであるため

*4:私の趣味とは合わないなという意味

*5:付属イヤホン卒業で買う価格帯なイメージ

ニューロマンサーがいかにサイバーでパンクで男心をくすぐるか

先日、ニューロマンサーを読んだ。サイバーパンクの代名詞的作品である。

ニューロマンサー (ハヤカワ文庫SF)

ニューロマンサー (ハヤカワ文庫SF)

 

しかし、1回読み終わった時点で全く理解できなかった。本当に理解できないまま最後まで読んだ*1。読了後、感想を調べて補間しようとしたところ、感想の前に「解説」が出てきた。私と同様に、難解だと感じた人のために、解説している人がいた。これらを読み、用語、あらすじを理解した上で2周目に臨んだ。2周目を読み終えて、非常に面白い作品だと感じた。あまりにも少ない情景描写なども、まだインターネットが個人に広く普及する前の時代に、ようやく想像を膨らませた結果だと思えば味にも感じることができる。この世界観が、CPUクロックMHz、メモリがKBの時代に生まれたことに驚きだ。
nmzfish.hatenablog.com

タイトル通り、考察なども特に無く、ただ「いかにサイバーでパンクなのか」について書き連ねたいと思う。また、本作品の読み方について解説も行う。用語や世界観については、wikipediaにも書かれているので参照されたし。あらすじも書いてある。また、物語独自のガジェットや登場人物について、作中で解説は一切ない。読んでいる内に分かるだろう、で読み進めると、結局なんなのかよく分からないまま最後まで行ってしまう。先人の教え通り「まず最後まで読め」から2周目を読むのもいいが、予習することを勧める。または、何か分からない単語にぶつかるたびに調べる。

ja.wikipedia.org

読み方

本作品には、疑問符が登場しない。代わりに、「……」が使われる。具体的にはこうだ。

「煙草、いる......」

と踵ポケットからフィルターつき叶和圓の皺くちゃのパッケージを取り出し、一本すすめてくれた。ケイスはそれを取り、赤いプラスティック・チューブで火をつけてもらう。

ニューロマンサー (ハヤカワ文庫SF)

「煙草、いる......」は「煙草、いる?」と同義である。読む際は注意が必要だ*2

 

本作品を読んでいて最も困惑するのは、場面の切り替わりだ。一行空くと、もう場面がガラリと切り替わったと思った方がいい。

「じっとしてないと、喉首を切り刻んでやる。あんた、まだエンドルフィン抑制剤漬けなんだよ」

 

目醒めると、脇でモリイが闇の中に寝そべっていた。

ニューロマンサー (ハヤカワ文庫SF)

用語と場面を理解し、これらに気を付ければ、楽しみながら読み進められるだろう。

いかにサイバーでパンクで男心をくすぐるか

本作品が、いかにサイバーでパンクで男心をくすぐるかについて書き連ねていく*3

世界観

まず、書き出し。

港の空の色は、空きチャンネルに合わせたTVの色だった。

ニューロマンサー (ハヤカワ文庫SF)

TV noise.jpg
By Mysid - Self-taken photograph., パブリック・ドメイン, Link

この書き出しで、脳内がじっとりとしていてノイジーな灰色に染められる。詳しい情景描写よりも、こちらの方がストレートでいい。これは私の勝手な想像だが、ひどい日は頑丈なマスク無しでは外出できないくらい大気汚染が進行している。「空きチャンネルのTV色の空」とは、そういう空である。また、この表現が絶妙でいい。言葉選びがうまいのも本作品の魅力だ。その後のバーでの会話も、埃っぽくて、錆びついてて、どことなく退廃的な雰囲気を感じさせる。ちなみに、私が触れたサイバーパンク作品の内の一つに「鬼哭街」が挙げられる。「鬼哭街」も、冒頭から降りしきる雨が描かれる。それも、科学技術の発展に伴って環境汚染が深刻化していることを匂わせる酸性雨

舞台になる千葉は、臓器移植、神経接合、微細生体工学(マイクロバイオニクス)と同義になっているという設定。これは私の勝手な想像だが、東京埼玉神奈川は、とっくにこれらの技術が規制されている。規制から逃げて辿り着いた先が千葉なのだ。

主人公

主人公は元々「インターネット世界に意識を没入してハッキングする」凄腕のハッカーである。しかし、仕事で犯したタブーへの罰として、インターネット世界に意識を没入する能力を奪われてしまう*4。ハッキングこそが生きがいだった主人公は、その後クスリ漬けで堕落した日々を送るようになる。能力を取り戻すための治療を行う代わりに仕事を手伝わされるのだが、ここら辺の彼の心理描写が引き込まれた。冒頭から「生きがいを無くして堕落した主人公」が描かれてきたため、治療から復活までで、まさに生き返ったかのような主人公の心境がうまく描かれている。冗長でなく、しかし、言葉は足りている。能力を取り戻してからの初仕事で、大企業にハッキングを仕掛けるのだが、その様子が生き生きしていていい。錆びついた刀を研ぎなおし、その切れ味を見ているかのよう。それも、名刀である。主人公の師匠は伝説的なハッカーなのである。1週間で終えるよう指示された仕事が10日かかり怒られてしまうのだが、常人ならばそもそも終わらない仕事なのだ。少ない情景描写も、いいスピード感で爽快。

また、主人公が、能力を取り戻して堕落から抜け出したものの、結局、ヤク中精神が抜けていないのが見どころだ。

まず、治療後にクスリがもう効かないと分かったシーン。

「あんたの新しい膵臓だよ、ケイス。それに、肝臓の詰め物もある。アーミテジは、あんたの内蔵がシカトするようにさせたんだ、その手のものを」

とモリイは赤紫色の爪で八角錠を叩いて見せ、

「あんたは生化学的に、アンフェタミンでもコカインでも、舞い上がれないのさ」

「糞ッ」

とケイスは八角錠に眼をやり、それからモリイを見やる。

「飲んでみな。一ダースでも飲むといい。なんにも起こらないから」

飲んだ。何も起こらなかった。

ニューロマンサー (ハヤカワ文庫SF) 

ちなみに、治療のついでに、以前、神経に損傷を負わせた毒の入った袋が血液内に取り付けられている。時間がたてば袋が溶けて毒が回り、インターネット世界に意識を没入する能力はまた失われる。仕事を無事に遂行すればそれを取り除くことができる。治療のためとはいえ、勝手に膵臓と肝臓を交換されて大好きなクスリが効かない身体にされたら「糞ッ」と毒を吐きたくもなる。「なんだって、俺はこんなに不幸なんだ」と、ラノベ主人公なら呟きたくなるこの場面。この人間臭さが主人公の魅力である。その後、やはりクスリで舞い上がりたいらしく、怪しいクスリを調達してくるのだが、どうなるかは読んで確認してみて欲しい。

ネーミング

登場するガジェット類などの横文字のネーミングが絶妙だ。

 

IBM PC 5150.jpg
CC 表示-継承 3.0, Link

ジャック・インするために使うデッキ「オノ=センダイ・サイバースペース7

最高級コンピュータの「ホサカ・コンピュータ

主人公が復活して、最初にハッキングを仕掛ける巨大企業「センス/ネット

クローンが経営する巨大財閥「テスィエ=アシュプール

 また、対ハッキングセキュリティシステムである侵入対抗電子機器(ICE:Intrusion Countermeasure Electronics)の事を「氷(アイス)」と呼んでいるのもかっこいい。

 

なお、これらの用語についての解説は一切ない。唐突に登場し、まるで解説済みであるかのように作中を動き回る。

ラスト

ストーリーの本筋は、あまり賢いAIを作ってしまうと、チューリング機関という監視機関に消されてしまうので、消されるギリギリの賢さのAIを2体作る。そして、それらを合体させて神にも等しいようなAIを作ってしまおうという話。物語開始時では、すでにAIは2体存在する。主人公は、これらを合体する仕事を進めていく。

ラストの、合体したAIと主人公とのやり取りが面白い。

余談

上記で「鬼哭街」をサイバーパンク作品の例として挙げた。こちらに登場する朱 笑嫣(チュウ・シャオヤン)は、攻撃的な性格、得物が爪であることなど、ニューロマンサーのモリイそっくりである。攻殻機動隊の主人公である草薙素子も女性であるし、モリイが物語の中心人物として描かれたことから、やはり、ニューロマンサーはこれらの作品に大きな影響を与えたと感じる。

f:id:nmzfish:20190708222953j:plain

鬼哭街」より

最近、「萌え×ミリタリー」が流行っている。美少女が無骨な兵器を扱って戦う姿というのは需要があるのだろう。「戦う美少女」というギャップがいい。しかし、女性が肉弾戦をするというのは無理がある。そこで、サイバネティック技術である。まさに、朱などは違法改造戦闘サイボーグであり、バリバリ肉弾戦をこなす。生身部分がほぼないくらいに改造が施されている。それらは、女性どころか人間の繰り出すパワーを遥かに超えた破壊力を生み出す。

ニューロマンサーにおいて、バリバリ戦うモリイは「映える」。サイバーパンク作品において、戦闘する女性が欠かせないのは、モリイが映えたからであろう。

おわりに

1周読んだだけでは「なんだこれ....」という感想しかなかったが、ストーリーや用語をしっかり理解してから読むと見事にハマった。

調べてみると、何やら映画化が進行中らしい。私はアニメでもいいと思うが。

ニューロマンサー (ハヤカワ文庫SF)

ニューロマンサー (ハヤカワ文庫SF)

 

 

*1:まず最後まで読め、との先人の教えにより

*2:言われなくても雰囲気で気づくと思うが

*3:何が刺さったか自由に書く、ということである

*4:毒で神経に損傷を負わされて