表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
魔力ゼロですが、魔法はぜんぶコードなので問題ありません 〜前世プログラマーの少女、キーボードで異世界をデバッグする〜  作者: せい | 健康優良不良プログラマ
第1部 ③村を変える小さな発明

この作品ページにはなろうチアーズプログラム参加に伴う広告が設置されています。詳細はこちら

PR
55/211

第55話 布で数を覚える

翌朝、わたしは織物部屋の小さな椅子に座っていた。


エマは織機の前で、糸の束を整理していた。生成色と藍色の縦糸が、整然と束ねられた状態で床に並べられている。エマの手は迷いなく動いていた。何十年もこの作業を繰り返してきた指先の動きだった。


「リナ。何から始めようか」


「お母さん、ちょっとだけ、絵を描いていい?」


「絵?」


「説明したいの。機械が読める布が、どんな構造になるか」


エマが「ええ」と頷いて、床の隅から古い木の板を取ってくれた。父が修理用に使っていたメモ板だった。


わたしは炭の細い棒を握って、板の上に格子を描いた。


縦に細い線を二十本。横に細い線を二十本。

小さな枠が、四百個できた。


「これがね、布の上の小さな目、一つ一つだと思って」


「ええ」


「ここに、糸が表に出てれば『一』。出てなければ『〇』」


エマが板を覗き込んだ。


「『一』と『〇』って?」


「えっと——」


少し迷ってから、説明した。


「『ある』『ない』、みたいなもの。お父さんの機械の中で、歯車が回ってる時は『ある』、止まってる時は『ない』って数えてるの」


「機械が、ある・ない、を数える」


「そう」


エマが少し首を傾げた。それから、織機の方を見た。


「縦糸が上にいれば『ある』、下にいれば『ない』、ということ?」


——あ。


頭の奥で、エマが一瞬で本質を掴んだことに気付いた。


「そう。そう、それ」


「だったら、わたしの織機でも、できるかもしれないわ」


エマが急に手を動かし始めた。糸の束から細い縦糸を一本取って、織機の上端に張った。


「普段の織物だと、縦糸は上下二段に分けるだけ。だけど、リナが欲しいのは『一目ごとに、上か下かを変える』ってことよね」


「うん。一目ごとに、独立して」


「だったら、縦糸を、もっと細く分けないと」


エマが織機の上の木の棒を見上げた。普段の織物では、縦糸を二段に分けるための『綜絖』と呼ばれる棒が二本ある。それを操作することで縦糸の上下が決まる仕組みだった。


「普段の二段では、足りないの」


「そう。一本ずつ、上か下かを決めたい」


エマがしばらく黙ってから、答えた。


「そういう織り方も、できなくはないわ」


「本当に?」


「縦糸を一本ずつ独立した綜絖に通せば、一本ずつ操作できる。ただし手数が増えるし、時間もかかる」


「お母さん、それでいい。時間がかかっても、わたしも横で見てる」


エマが、ふっと笑った。


「リナがそんな顔をするなら、やってみる」


◇◇◇


その日の午後から、エマは織機の組み直しを始めた。


縦糸を細く分けるための綜絖を、エマが自分で作っていた。木の細い棒に細い穴を開けて、そこに縦糸を一本ずつ通す。普段の織物では使わない作業だった。


わたしは横で炭の棒を握って、別の木の板に試作の設計を書いていた。


最初は小さく始めることにした。

縦に二十目、横に十目。合計二百個の小さな枠が並ぶ布。


その上に『1 + 1 = 10』という二進数の式を表現することを目標にした。

入力の左側に『一』『一』の二目、間に動作の合図、出力の右側に『一』『〇』の二目。


枠の数は四目分しか使わない。残りは『〇』で埋める。それでも、布全体としては「一つの式を覚えた状態」になる。


「お母さん、設計、こんなふうにしたい」


エマが手を止めて、板を覗き込んだ。


「黒い目と、白い目」


「そう。黒い目が『ある』、白い目が『ない』」


「リナが書いた通りに、わたしが縦糸を上下させる」


「お願い」


エマがしばらく板を見つめてから、頷いた。


「やってみましょう」


◇◇◇


二日目。


エマが綜絖を二十本完成させた。一本につき一本の縦糸が通っている。エマの指は普段の倍以上の動きを要求されていた。けれど、文句は一切言わなかった。


「リナ、ちょっと見て」


エマがわたしを呼んで、織機の前に立たせた。


「一段目を、こうやって動かす」


エマの足が、織機の下の木の踏み板を踏んだ。普段の織物では二本の踏み板だが、エマはそれを二十本に増やしていた。それぞれが一本の縦糸の上下を司る。


エマが一本の踏み板を踏むと、対応する一本の縦糸だけが下に下がった。


「すごい」


「これで、リナの設計通りに、一目ずつ動かせる」


「お母さん、ほんとうにすごい」


エマが少し照れたように笑った。


「織機は、わたしの一番慣れた道具だから」


その日の午後、わたしたちは最初の数行を織り始めた。


エマは横で、わたしが指示した通りに踏み板を踏む。横糸を一本通す。

わたしは隣で、二十本の縦糸の状態を確認する。設計の板と見比べる。


最初の横糸が通った瞬間、エマが息を飲んだ。


「リナ」


「うん」


「これ、わたしが見たことのない織り方」


黙って頷いた。


「目が、こうやって独立してるのね」


エマの指が、織り上がった一行の上をなぞった。藍の縦糸が表に出ている目と、生成色の縦糸が裏に隠れている目が、一目ずつ独立して並んでいた。


普段のエマの織物は、複数の縦糸が組になって模様を作る。けれど今エマの目の前にあるのは、一目ずつばらばらに『ある』か『ない』かを示す不思議な布だった。


「これ、わたしの織物だけど、わたしの織物じゃない」


エマがそう呟いた。


胸の奥で、何かが温かくなった。


◇◇◇


三日目。


布が、ようやく完成した。


縦に二十目、横に十目。合計二百個の枠。そのうち、四目だけが藍色で、残りは生成色だった。


エマが布を織機から外して、机の上に広げた。


「これが、リナの言ってた『機械が読める布』ね」


「そう」


「藍が『ある』で、生成色が『ない』」


小さく頷いた。


エマが布を眺めて、しばらく黙った。


「リナ」


「うん」


「この布は、何を覚えてるの?」


少し迷ってから、答えた。


「『一に一を足したら、十になる』」


エマが、首を傾げた。


「『一に一を足したら、二』じゃないの?」


「お父さんの機械の中では、二は『十』って書くの」


「変わってるのね」


「うん。変わってる。でも、それで動く」


エマが小さく笑った。


「リナの言うことは、半分くらいしか分からないけど」


黙って頷いた。


「半分は、分かる」


胸の奥で、また熱が広がった。


◇◇◇


午後、わたしは布を持って、父の工房に行った。


机の上の数表生成機の隣に、織り上がった布を置いた。布の藍色の目が、夕方の光を受けて、わずかに紫がかって見えた。


(——布はできた)


(——でも、これを機械が読み取る方法は、まだない)


頭の中で、次の問題が立ち上がっていた。


布を機械に渡して、藍色の目で『一』を、生成色で『〇』を歯車に伝える仕組み。


それは、織機とは別の道具が要る。


(——針)


(——布の上を針が走って、糸の組み方を読み取る)


(——そして、その読み取りを歯車に変換する)


父がドライバーを置いて、机のこちら側に椅子を回してきた。机の上の布をじっと見つめた。


「リナ」


「うん」


「これは、何だ」


「お母さんが織ってくれた、機械の言葉」


父が短く息を吐いた。


「機械の、言葉」


「うん。お父さんの機械に、覚えさせたい計算が、ここに織られてる」


「読めるのか、機械は」


「まだ読めない」


父が短く息を吐いた。


父はもう一度、布をじっと見つめた。それから、視線を上げてわたしを見た。


「読み取る道具を、作るんだな」


「やります」


「明日からか」


深く頷いた。


父がふっと、笑うように口角を上げた。


「ふん。やってみい」


それだけ言って、自分の作業に戻った。


布は机の上で、夕方の風にわずかに揺れていた。


(——明日)


(——布を、機械に話しかけさせる道具を、作る)


胸の中だけで、そう呟いた。


工房の窓の外で、麦の刈り入れが終わった畑が夕陽に赤く染まっていた。


■あとがき・解説


第55話は、リナとエマが三日間かけて、機械が読むための布を実際に織り上げる回でした。エマが「縦糸を一本ずつ独立した綜絖に通す」という、普段は使わない織り方に踏み込み、二十本の踏み板を自分で増設して、リナの設計通りに藍の目と生成色の目を一目ずつ並べていきます。今回はその試作工程について、ゆるく解説していきます。


■この話で出てきた言葉


■「プロトタイピング」——小さく、安く、まず作ってみる


縦に二十目、横に十目。合計二百個の枠の中で、四目だけが藍色で、残りは生成色。本当はもっと大きな布で長い計算式を表現したい。けれどリナは、まず一番小さな構成で「1 + 1 = 10」だけを表現する布から始めることを選びました。


前世の言葉でいうと、これが「プロトタイピング」です。本番のものを最初から作るのではなく、いちばん小さい・いちばん安い・いちばん早く作れる試作物をまず一つ用意して、原理が成り立つかどうかを確かめる。原理さえ通れば、あとはそれを大きくしていけばいい。原理がダメだったら、大きく作る前に気付ける。


プログラマーの世界でも、新しい仕組みを作る時はだいたいこの順番です。小さく作って、動かして、確かめて、それから本番に育てる。エマと二人で初めて触る織り方を、いきなり大きな布で挑むより、二百個の枠で済むサイズで一度試してから本式に入る方が、後で迷子になりにくい。


■「カスタム素材」——既存の道具を、本来と違う使い方で


エマが綜絖を増やす作業。普段の織物では二本で済む踏み板を、エマは自分で二十本に増設しました。元々の織機の構造を壊さないまま、本来の用途とは少し違う仕事ができるように改造する。


前世の世界でも、新しい仕組みを作る時に「既存の道具を、本来と違う使い方で組み直す」という工夫がよく登場します。汎用の部品を組み合わせて、目的に合わせた専用の道具に仕立て直す。エマの増設した二十本の踏み板は、布を織るための織機を「機械の言葉を書くための装置」に組み直したものでした。


「織機は、わたしの一番慣れた道具だから」というエマの一言。一番慣れた道具を、本来とは違う角度で使い直す勇気は、何十年その道具と付き合ってきた人にしかない強さでした。


■「ハードウェア記述」——形のあるもので、命令を書く


藍の目と生成色の目が一目ずつ独立して並ぶ布。エマが「これ、わたしの織物だけど、わたしの織物じゃない」と呟いたあの瞬間。


前世のプログラマーが書く命令は、たいていは画面の上の文字でした。けれどコンピュータの内部では、その命令はやがて電気信号の並びに変換され、最終的には半導体の上の小さな穴や凹凸として「形のあるもの」に固定されます。命令を、紙やシリコンの上に、形として刻む。これが「ハードウェア記述」と呼ばれる仕事の出発点です。


エマが織り上げた布は、まさにそれでした。藍色の目という凹凸として、計算式の命令が布の上に固定されている。「布が、機械の言葉を持ち運ぶ媒体になる」——リナと、機械と、エマの織機の三者が、布という素材の上で初めて出会った場所でした。


エマが「リナの言うことは、半分くらいしか分からないけど、半分は分かる」と笑った場面。あの「半分は分かる」が、共作の現場でいちばん大事な姿勢かもしれません。次の話もお楽しみに。


評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ