第8話 母の織物
豊穣の祈りの儀式から二日経った。
わたしは毎日、頭の中であの五つの模様を何度も反芻していた。
特に中央に浮かんだ「もしAであればB、そうでなければC」の構造。
あれはわたしが知っているあらゆるプログラミング言語の、最も基本的な要素だった。
(……書きたい)
それが本音だった。
「読める」ことは確かめた。
じゃあ次は「書ける」のか確かめたい。
——でもどうやって?
魔法陣を「書く」と言っても、わたしには何のソースもない。
ペンと紙だけでいきなり「ベシリア」のような魔法を作れるとは思えない。
そもそもわたしには魔力がないから、自分で発動できない。発動できないものを書いても検証ができない。
(……ハードウェアがない状況でのソフトウェア開発みたいだ)
前世での感覚にそれは近かった。
考えれば考えるほど、頭がこんがらがってくる。
わたしはいったん頭を冷やすために家の中をぶらぶらと歩き始めた。
◇◇◇
家の北側の、半屋外のような一角。
そこがエマの織物部屋だった。屋根はあるけれど、壁は腰の高さまでしかない。
近づくと、エマが織機の前に座ってリズミカルに布を織っていた。
カタン、と横糸を通す音。
カタン、と踏み板を踏む音。
カタン、カタン、カタン——
「あら、リナ。眠れないの?」
エマが振り返らずにそう言った。背中越しにわたしの足音を聞き分けたらしい。
「ううん。お母さん、それ見てていい?」
「ええ、もちろん。ここに座って」
エマが自分の隣の小さな椅子を軽く叩いた。
わたしはその椅子にちょこんと座った。
「織物って、見たことあった?」
「ううん、見たことない」
「そう? わたしはリナくらいの頃にはもう、母の隣で糸を結ぶのを手伝ってたよ」
エマが可笑しそうに笑って踏み板を踏んだ。
カタン、と織機が動いた。
◇◇◇
しばらくわたしはただエマの手元を見ていた。
織機は思っていたよりも複雑な機械だった。
縦糸が何十本も整然と並んでいる。
それを半分ずつ上下に分けるために、二枚の板(綜絖というらしい)が足元の踏み板に連動している。
エマが右の踏み板を踏むと、上半分の縦糸がぱっと上がる。
エマが左の踏み板を踏むと、上半分が下がって下半分が上がる。
そうやって縦糸の上下を交互に開いて、その隙間に横糸をシャトル(杼)と呼ぶ小さな木の塊で通していく。
カタン、とシャトルが行く。
カタン、と踏み板を踏む。
カタン、とシャトルが帰る。
カタン、と踏み板を踏む。
(……これ)
わたしはもう一度しっかりと目を見開いた。
(これ、二進数だ)
頭の中でぴたりと何かがハマった。
上の縦糸が上がる——1。
上の縦糸が下がる——0。
エマの足元の踏み板の動きが、その上下を決めている。
シャトルが横糸を通すたびに、その時点での「上下のパターン」が布に織り込まれていく。
(これはビット列だ)
それぞれの横糸の一行がビット列。
それを縦に何百行も積み重ねていくと最終的に、模様のある布が出来上がる。
「お母さん、それ模様、決まってるの?」
「うん? ええ、決まってるわよ。今は市松模様」
エマが織りかけの布をわたしに見せた。
たしかに白と黒の市松模様。
「どうやって決めてるの? ぜんぶ頭の中?」
「ふふ、頭の中でね。何度も繰り返す模様だから覚えてるの。ただし複雑な模様だと、目印に小石とか紐で結んだ印を踏み板の脇に置いておくのよ」
エマが織機の脇を指差した。
小さな箱の中に、結んだ紐がいくつか入っていた。
——紐の、結び目。
その瞬間、わたしの頭の中でまた何かが繋がった。
(——記憶された命令列)
エマは頭の中に、織り上げたい模様の「命令列」を持っている。
その命令列に従って踏み板を、シャトルを操作する。
——もしこれを、
(——もしこれを機械化できたら?)
エマの頭の中ではなく何かに、その命令列を「書き込んで」おいたら?
そして、その「書き込まれたもの」が機械を自動で動かしたら?
(——書き込みは再利用できる)
胸の奥が激しく震えた。
(複雑な模様でも命令列を保存しておけば再現できる。
別の人が織っても同じ命令列を使えば同じ模様になる)
——プログラム、だ。
これはもう間違いなくプログラムだ。
そして、その「命令列を保存しておく媒体」がもし作れたら——
——わたしは「魔力なき者」のままで、ものを動かせるかもしれない。
「リナ、どうしたの。またぼうっとして」
エマがまたわたしの顔を覗き込んだ。
「お、お母さん、その紐の結び目見せて」
「ええ? いいけど」
エマが箱から紐を一本取り出してわたしに渡してくれた。
長い亜麻色の紐。
ところどころに堅く結ばれた結び目。
ある結び目は大きい。ある結び目は小さい。
それから結び目同士の間隔もまちまちだった。
(……これは)
(……これはすごい)
わたしの中である言葉が自然と湧いてきた。
(これ、再利用できる)
エマが優しくわたしの頭を撫でた。
「リナは本当に変わったところに興味を持つわね」
わたしは頷くこともできずにただその紐を握りしめていた。
(これ、再利用できる。
これ、量産できる。
これ、配布できる。
これ、——)
頭の中で止まらなくなった。
(これ、わたし、絶対欲しい)
両手が無意識にその紐を強く強く握りしめていた。
何かがわたしの中で、爆ぜるように燃え始めていた。
前世で深夜の三時に新しい技術仕様書を読んでいるときの、あの——
「リナ、リナ、ちょっと痛い、リナ、紐、紐ね」
エマがわたしの手から紐をそっと引き抜いた。
「あ、ご、ごめんなさい」
「いいのよ。本当にリナは何か面白いものを見たのね」
エマが笑っていた。
だけどその目は少しだけ戸惑っていた。
わたしは頷いた。
喋れなかった。
頷くだけで精一杯だった。
カタン、とエマがまた踏み板を踏んだ。
カタン、とシャトルが行った。
カタン、と新しい一行が布に織り込まれた。
頭の中ではまだ、結び目の紐がぐるぐると回り続けていた。
■あとがき・解説
母エマの織機を見たリナが、突然「これは二進数だ」と気付く回でした。実はこの「織物とコンピュータ」の繋がり、現実の歴史にも深い縁があるのです。
■この話で出てきた言葉
■「二進数」
数を「0」と「1」だけで表す書き方です。普段わたしたちが使う数は0から9までの10種類を使う「十進数」ですが、コンピュータの中では電気が「流れている/いない」を「1/0」として扱うため、すべてが二進数で動いています。第8話でリナが見たのは、織機の縦糸が「上がる/下がる」という二つの状態しか取らないという事実。一本一本の縦糸が「1か0か」、そして横糸が一本通るたびにその並びが布に焼き付けられる――これは、まぎれもなくコンピュータが情報を扱うやり方そのものです。
■「ジャカード織機」
19世紀初頭のフランス、ジョゼフ・マリー・ジャカールという人物が発明した織機です。それまで複雑な模様を織るには熟練の職人が必要でしたが、ジャカール織機は「穴の開いた厚紙のカード」を読み込ませることで、誰でも同じ模様を再現できるようにしました。カードの穴がある場所では針が通り、ない場所では通らない。この単純な仕組みで、絹織物の精緻な絵柄が自動で織れるようになったのです。第8話でリナが「再利用できる、量産できる、配布できる」と興奮した正体は、まさにこの発明への直感でした。
■「パンチカード」
紙に穴を開けて命令や情報を記録する媒体のことです。ジャカード織機のカードがその祖先で、後に世界初期のコンピュータでもプログラムを入力する手段として広く使われました。「コードを紙の穴で表現する」というアイデアは、織物から始まってコンピュータへと受け継がれた、人類の大発明のひとつなのです。
■「エイダ・ラブレス(コラム)」
19世紀イギリスの数学者で、「世界初のプログラマー」と呼ばれる女性です。チャールズ・バベッジが構想した計算機械にパンチカードを応用しようとしました。「機械は人間の指示通りに、いつか音楽さえ作るかもしれない」という、当時としては夢のような未来を見抜いていた人です。リナがこれから歩む道は、どこかこの先駆者の系譜と重なるかもしれません。
母の織機が「魔力なき者でも世界を動かせる」と教えてくれた――そんな回でした。
次の話もお楽しみに。




