言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

読書

「お」「と」「う」「さ」「ん」「の」「か」「お」

双子の次女が絵本を読んでる!

長女が割と早く字を読めるようになったからか、次女は文字に苦手意識があったようなのだが、いつの間にか声を出して本を読んでいた。僕もなんとなく初めて絵本を読めた時の事を覚えている。それまでは一つ一つの文字と音でしか無かったものが、初めてひと繋がりの文章として読めた時に、目の前の霧が晴れて新しい世界が広がったような気がした。今まさに双子がその時を迎える事が出来てめでたい。

成長といえば、双子はお風呂で自分で頭を洗いたがるようになった。なんでー?と聞くと、よっぽど僕の洗い方が下手らしいからという事だが、見てると頭を撫でるだけで全然洗えてないので強制的に「仕上げ」をする。体も自分で洗おうとするが、動きだけはいっちょ前に見える。このペースで自分で洗えるようになったらお風呂が楽になるな。

また、最近五歳になったこともあり、Scratch JR をやらせてみた。ただ家には iPad が一枚しか無いので双子が喧嘩して大変な事になる。僕が真ん中に座って注意深く順番こに使わせるようにしないとやばい事になるので非常に面倒くさい。もう一枚買ってやっても良いのだが、今のこの喧嘩しながらコラボレーションというのも悪くない気もしてるのでしばらく様子を見る。

Scratch JR で何をやってるかというと、とりあえずネコとか動物をお絵かきして、録音機能で動物の鳴き真似をして、動物をタッチすると鳴き真似が鳴るというのを延々と作っている。一度タッチすると音が鳴る仕組みの作り方を教えるといろんな絵と声で何十匹も作り続ける。たまに矢印タイルで画面上を動かしたりジャンプをしたりもする。ただパラメータ編集を教えるとどうしても大きな数を入れたがって、ジャンプ 999 とかになってしまい却って単調な動きになるので、どこまで親が介入するか難しい。

あと、個々のキャラクターを分けて描くというのがわからないので、どうしても一枚の絵に何匹も書いたり風景まで入れてしまい、巨大なキャラクターになって身動きが取れなくなる。お、これって昔 Squeak EToys をやってた時にありがちな問題だったじゃないかと思ってめちゃくちゃ懐かしくなってしまった。EToys と違って Scratch JR はベクター画像らしく、割と綺麗な線が出るのだが、塗りつぶし機能がベクターオブジェクトに適用されてしまいちょっと幼児には難しい。そういやベクター画像を塗りつぶす問題も Squeak でやったなー。昔 Andreas Raab の Flash Player を元にしたベクター画像エディタを作って、ちゃんとベクターで適当に書いた線でも塗りつぶせるようにしたのだが、陽の目を見ることが無かった。

最近週末ごとに天気が悪いので、雨でも遊べるネタが増えて嬉しい。ただ、うちの子たちはどうも運動が苦手っぽいので、何とか外で遊んでやりたい。雨は嫌だな。

式根島

式根島伊豆七島の一つで竹芝桟橋からジェット船で二時間半ほどのところにある人口五百ほどの小さな島だ。今年の夏休みは人里離れてここでしばらく過ごすことにした。船体を海面から出して進むジェット船というのに乗るのは今回が初めてだ。船旅というよりも、まるで飛行機にも乗っているかのような乗り心地だった。デッキは無くゆったり海を眺める事は出来ないがさほど揺れず助かった。味気ないけど実用的で良い。

島には何件も民宿があるが、小さな島なのでどこに泊まっても自転車ですぐに浜に行ける。式根島の海岸はデコボコなのが特徴で、湾になっているおかげで波がほとんど無く小さな子供と遊ぶには最適だ。我々は北側に位置する「中の浦海水浴場」で過ごした。海水は東京近辺の海とは比べられない程透明で、ちょっと沖に出ただけで沢山の魚たちと出会える。ソーセージを海中で握り潰すと肉のかけらに引き寄せられて数え切れない魚が寄って来る。

一度うっかりソーセージを水面下でぶらぶら持っていると、大きな魚にパクリと指ごと食べられてしまった。歯が無かったので無事だったが僕はびっくりした大声をあげてしまった。子供たちは魚に食べられるとしばらく大騒ぎ。

子供たちの服装は水着にラッシュガード、浮き輪とのぞきメガネと足には古い靴。大人は水着とラッシュガードとライフジャケットにマリンシューズ。他にも膨らますボートやら子供用のライフジャケットやら色々持ってきたが、全部持って海に入れる訳では無いのでもうちょっと絞れば良かった。

子供たちは靴に砂が入るのを嫌がり、岩のウニを怖いと言って嫌がり、とにかく大変だったが、沖で魚を見ると大喜びだった。結構長くプカプカ浮いていたが、夕方になっても海から出たくない程に海を好きになってくれて良かった。中の浦海水浴場にはシャワーも無く、潮でベタベタ気持ちが悪いのですぐに式根島温泉憩の家に向かう。温泉で体を休めてサッパリしたあとは民宿で海の幸を味わうという最高な一日だった。

民宿にはうちの子よりもちょっとだけお姉ちゃんな子供たちがいて、遊び相手にピッタリだった。宿の子の案内でヘリポートに行くと満点の星空に天の川。天の川を見るなんて何十年ぶりだろう。それから宿に帰ると花火大会。うちの子はまだ線香花火しか出来ないけど、宿の子たちが付き合ってくれて派手な花火で楽しんでくれたので盛り上がった。

そろそろ大丈夫にはなってきたのだが、寝るときは一応オムツを付けた。この感じでは来年はオムツいらないかな。

Maker Faire Tokyo 2019 「からくり計算器」ご報告

f:id:propella:20190804095016j:plain
からくり計算器 (MFTokyo2019)

「1 たす 0 は何でしょうか? 1 です。」

「へー!」

「1 たす 1 は何でしょうか? 2 です! これを 2 進数でイチゼロと書きます。」

「ほー!!!」

先日の Maker Faire Tokyo 2019 の「からくり計算器」ブースで繰り返し行われたやり取り。いま冷静に思い出すと変な会話です。当日も自分で言っててずーっと変だと思ってました。確かに自分で興味があって作り始めたからくり計算器なので、半加算器とか全加算器について知識のある人が仕組みやデザインに興味を持って持って頂けるのは想定どおりなのですが、「1 たす 1 は 2 です」という「計算が機械で可能である」その基本的な部分に感心されるとはどういう事?!

これは大げさな表現では無く、多くの方に文字通り「感動した」と言って頂きました。「感動」ってこんな時に使う言葉だったっけ?と内心戸惑いながらも、もしかしたら自分も半加算器を初めて知ったときは感動(?)したのかも知れない、もしかしたら自分は「計算が機械で可能である」という驚きをもはや忘れてしまったのかも知れないと思ったりします。もしも自分の作品が、当たり前過ぎて忘れていた驚きを思い出すきっかけになったとしたら、これほど嬉しい事はありません。

京都に続いて二度目の展示となる今回、出来るだけ多くの時間をお客さんとの対話に使いました。話す内容はワンパターンですが、映画『男はつらいよ』の寅さんの如く、お客さんの受けるポイントを探りながら声を出していると、我ながらすごい鉱脈を見つけたのでは?とじわじわ思えて来ました。

「からくり計算器」は決してハイテクではありません。どのコンピュータよりも機能が低く、技術的にも多分数百年前でも作れた物です。そして実現している内容は人類が数を発明してから変わらない知識である「1 + 1 = 2」が出来るだけです。なのに人々はどういうわけか面白みを見つける事が出来るのです。と言うことは、数百年前の人類に見せても、数百年後の人類に見せても、やっぱり面白いはずです。まあ確かに誰にとっても面白いというわけには行きませんが、少なくとも Maker Faire に来るような特殊な性癖の人々にとっては本当に面白いらしいのです。

また Maker Faire での展示で、自分の中の隠れた偏見に気付かされました。制作中に無意識に想定していたターゲットは、自分のようなオタク成人男性でした。展示中も無意識に男性と女性で説明の仕方を変えてしまうのですが、実際には男女での反応の違いはありませんでしたし、説明を工夫すれば小学生にも十分に楽しんで貰えました。

このように嬉しい誤算が沢山の良い機会となり、今後の活動のヒントも沢山ありました。特に多くの方に自分でも欲しいと言われたので、なんとか量産したいと思ってます。阿部さんから『メイカーとスタートアップのための量産入門』の著者の方を紹介して頂き、早速本を読んで勉強している所です。また、ペーパークラフトにして誰でも型紙をダウンロードして作れるようにするのも良いかなとも思ってます。

今回展示内容は以下です。京都で展示した内容 https://propella.hatenablog.com/entry/2019/06/10/233345 に加えて、木製加算器を改良した他、説明用マンガを追加しました。

カラクリ計算器とは何か?

f:id:propella:20190715164716j:plain

ラクリ計算器 (Kinetic computers) とは、今まで私が作ってきた木製の計算器や論理機械の事です。以前 Maker Faire 京都に申し込む時にこの造語を付けました。格好つけてあえて定義すると、コンピュータの発明以後にわざわざ電気を使わないで作った計算機の事とします。

ラクリ人形というとお茶を運んだり弓を射ったり人間の動きを機械で再現して楽しむ物ですが、その例えを使うと、カラクリ計算器とは外から見える人間の動きではなく、人間の内にある知能の動きを機械で再現して楽しむカラクリといえます。

江戸時代に多く作られたカラクリの動いている所をご覧になった事はありますか?これが結構凝っていて、弓を射る時のちょっとした首の傾け方とか、筆を持った時の視線の流れとか、相当よく人間を観察して作った物だと関心します。実際の人の動きを見ていたとしても見逃してしまう何気ない仕草でも、カラクリで表現されると改めて新鮮に目に映ります。

同じように、カラクリ計算器の狙いも、人間の知性を再現し、改めて注目してみようという物です。と言ってしまうとぎょっとして、計算器を知性と呼べるのか?とか、カラクリなんかで知性を再現出来るのか?とか疑問が思い浮かぶかも知れません。機械で知性を作れるかという問いは興味深いですが、まさか私もカラクリで完全な知性の模倣が出来るとは思ってないのでそこは横に置いておきます。完全な知性の再現ではなく、知性の一部だけでもカラクリで作って楽しもうというのが主眼だからです。

どんなに複雑な機械も分解していくと単純な部品の組み合わせで出来ています。同じように複雑な知性も「論理」という最小単位まで分解出来るという考え方があります。この「論理」という部品レベルになるとようやくカラクリでも再現出来るようになります。カラクリ計算器で扱う論理は義務教育で習う程度の簡単な物ですが(多分ありますよね?)、実際に作ったり動かしてみると意外な発見があるものです。

何気ない人の仕草もカラクリ人形が真似をするのを見て新鮮に感じるように、わかったつもりでいる論理も実際にカラクリ計算器で動かして見ると案外思わぬ発見があります。

例えば、論理和などの非可逆演算ではある入力に対して必ず出力が一つに定まっていますが、カラクリ計算器では簡単に逆に出力側を動かしてみる事が出来ます。そうすると入力側は空回して位置が定まりません。一方で否定などの可逆演算では出力を動かすと空回りせず入力は決まった所を示します。理屈では当たり前の事ですが、カラクリ計算器では非可逆性が空回り性と対応している事がわかります。このように、逆演算を簡単に試してみたり、真偽値に対して、入力が真と偽の途中にある時にどうなっちゃうのか試せるのは、電子計算機に対するカラクリ計算器の強みです。


Wooden Half Adder 2016

コンピュータ時代に何故わざわざ電気を使わないで計算機を作るのでしょうか?その答えは、電気を使わない事でむしろ知性の原理に近づけると私が考えているからです。大げさなたとえを使うと、19 世紀の写真の発明が画家たちを写実から開放し絵画を一変させたように、20 世紀の電子コンピュータの発明によって大規模な論理回路の追求から開放された今こそ、むしろカラクリで作られた論理回路で知性の形を再現する事に意味が出てきたんじゃないか、カラクリこそがコンピュータ時代に最もふさわしい表現の形なのでは無いかと思っております。

Maker Faire Tokyo 2019 計画

この夏 8月3,4日に東京ビッグサイトで開催される Maker Faire Tokyo 2019 https://makezine.jp/event/mft2019/ に出展する事になりましたので、いま計画を立てています。基本路線は京都での発表と同じですが、前回の経験を生かして、よりパワーアップした作品をお見せしたいと思っています。ただ、会期が土日とも京都より一時間長いので、そんなに体力が持つかどうか心配です。。。

基本計画: 論理機械楽しいよ!

京都の展示で色々な質問を受けました。「なぜこれを作ったのですか?」「これはどういう仕組ですか?」お恥ずかしい話ですが、これらの質問にろくに答える事が出来ませんでした。というのも、平日はサラリーマン土日は子育てと自分の時間が取れず、やっとモノを完成させるのに精一杯だったのです。

しかも最初期の作品から数えると二十年くらい経つため、正直なんで作り始めたかどうでも良いというか、もう半分忘れてしまっています。仕組みについても最近まで子供に邪魔されてノートすらつける事が出来なかったので、目をつむって脳内だけで設計する癖がつきます。そうなると途中経過を忘れてしまい何故動いているか自分でも分からなくなってしまいました。

f:id:propella:20190611234618j:plain
計算ガイコツ 1998 最初期の計算機械

しかし京都の展示で、ストーリーというか、説明の大切さが身に沁みました。作品を作るときはかなり細かいどうでも良い所まで作り込んでしまうのですが、Maker Faire のような大人数を相手にする対面形式だと折角の技もまず細かすぎてお客さんに伝りません。むしろ他の方の展示を参考にすると、単純なメッセージがど〜んと直球で来るのが一番のようです。

私の場合、単純なメッセージとは「論理機械楽しいよ!」です。

論理機械、それは人間の知性を再現しようとした人類の無謀な企てです。古くは 13 世紀のルルスの円盤から John Venn の画期的なベン図Lewis Carroll のユニークな論理ゲーム、William Jevons の論理ピアノ、そして電子計算機の発明まで、人類は自分達の手で知性を形あるものとして作り出そうとしてきました。その究極の形態である人工知能は微細で複雑な電子回路の電子の流れとして作られていますが、知性の本質は、誰でも直感的に理解出来る美しい物であるはずだという信念を私は持っています。

これだけややこしい物を作っていてまだまだ説得力無いですが、誰でも手にとって動きを把握出来るシンプルなからくりで、知性の本質を直感的に理解出来るはずだと言うのが私の主張です。仏像やマントラが仏教世界の象徴であるように、論理機械は知性の象徴なのです。

対象として加算器を選んでいる理由は、加算器が「足し算」という身近な計算を表しているという事と、加算器の本質が XOR という丁度良い具合に複雑な論理演算である事です。これがただの AND や OR だと面白みがありませんが、XOR というのは最近流行りのニューラルネットの最初のサンプルに使われるほど丁度良いのです。

全加算器を作って分かったのですが、全加算器に使われる 3 ビット XOR は、AND と OR を使って表現出来る 3 ビット演算のうち最も複雑な物です。カルノー図を描くと市松模様になるので最適化のしようがありません。とか、こういう話を続けるとキリがないですが、シンプルにバ〜ンと分かるようにしたいなーと思っています。

木製全加算器 2019 新バージョン

京都で発表した全加算器に、いくつか改良を加えます。

  • 三桁の入力を横一列に並べる。
    • 京都のやつは入力が奥行き方向一列に並んでいたので、正面から見てすべての入力を一覧出来ないという問題がありました。それを横一列に並べることによって、各入力の状態を見やすくします。
  • 出力を左右対称に並べる。
    • 京都のやつは Carry が左端で Sum が中央になっていました。この位置はある程度自由に置けるので、デザイン的には左右対称な方がよろしいです。

木製半加算器 2019 新バージョン

現在のやつは説明が難しいので、もうちょっと素直に作ったやつ。

ペーパークラフト版半加算器

持ち帰って自分で遊べるやつ。Maker Faire で見た風で動くインスタントロボ かっこよかったです。ああいうの作りたい。

説明用冊子

これは無理かな。チラシでも良いので説明用の何かを作りたい。

Maker Faire Kyoto 2019 「からくり計算器」記録

f:id:propella:20190504100640j:plain
「からくり計算器」展示作品

先月のゴールデンウィークに、けいはんなで開かれた Maker Faire Kyoto 2019 に出展しました(https://makezine.jp/event/makers-mfk2019/m0093/)。その記録と感想です。

木製全加算器 2019

f:id:propella:20190505094726j:plain
木製全加算器 2019

まず今回のメイン作品がこの『木製全加算器 2019』です。1 + 1 + 1 = 3 までの計算が出来る加算器です。加算器の作品を初めて作ったのは 2009 年 (https://propella.hatenablog.com/entry/20081124/p1) の事ですが、当時から自然の発想として、次のステップは全加算器だと思っていました。それから怖ろしいことに全加算器の完成まで十年を費やしてしまいました!!!なぜこんなに時間がかかってしまったかと言いますと、全加算器を実現するだけの加工精度と低摩擦を得る方法を思い浮かばなかったのと、なかなか集中出来る時間がとれなかったからです。それでも諦めずにいればなんとかなるもんですね。

ド・モルガンの円盤 2019

f:id:propella:20190505094742j:plain
ド・モルガンの円盤 2019

木製全加算器の前に Fusion 360 の練習として作りました。これまでは Illustrator だけで設計を行っていたのですが、やっぱり平面だけだと部品の干渉に気が付かなかったり、ボリュームの確認が出来なかったりして手戻りが多かったので、頑張ってこの 3D CAD を練習しました。3D で確認出来るので重宝してますが、構造が複雑になるとすぐに重くなるのが難点です。

この作品は基本的な論理演算である AND と OR を簡単な機構で実現したものです。他のすべての回転型論理器械で同じ仕組みを使っています。ド・モルガンの法則を物理的に示す事が出来ます。

木製半加算器 2017

f:id:propella:20190505094750j:plain
木製半加算器 2017

小型の半加算器です。アートスペース虹の最後のグループ展で展示した物です。基本的な仕組みは半加算器 2016 と同様ですが、二つの軸を同じ方向に回転させる平行クランクの採用により小型化を実現しました。

木製半加算器 2016

f:id:propella:20190505094736j:plain
木製半加算器 2016

初めて作成した回転型の論理器械です。回転の動きを使うことによって摩擦が減り、将来の全加算器の実現が可能になりました。また、部品がバラバラにならず、作者が展覧会場に常駐しなくても壊れないメンテナンスフリーな点も画期的でした。

ブールそろばん 2010

f:id:propella:20190505094807j:plain
ブールそろばん 2010

スライド式論理器械の機構を説明するために作成した物です(https://propella.hatenablog.com/entry/20100509/p2)。スライド式は回転式よりも扱いが難しいですが、動きがより直感的なので説明には向いています。

木製半加算器 2009

f:id:propella:20190505094756j:plain
木製半加算器 2009

初めて展覧会で発表した木製加算器です(https://propella.hatenablog.com/entry/20091202/p1)。この頃はスライド式の機構で、しかも部品はジグソーパズルのように台に置くだけなので、作者が不在だとすぐに壊されるという展示しづらい作品でした(この写真もうっかり部品の置き方を間違ってしまっています)。この展示の苦労から後の回転式の機構が生まれました。スライド式は高い工作精度が要求され、何かの拍子に動かなくなるのも難点です。今回も最初全然動かなかったのですが、なぜか会期後半にはラクラク動くようになりました。

チラシ

https://drive.google.com/file/d/1OQ04TiBMRlbmNoBKzczilhJcIdFEo5V5/view?usp=sharing

簡単ですが、今回の展示作品の仕組みについて簡単に解説した物です。

感想

f:id:propella:20190504154636j:plain
Maker Faire Kyoto 2019 展示風景

Maker Faire に出展するのは三度目でした。前の二回は電子工作でしたが、今回はなんの変哲も無い木工作品なので、果たして Maker Faire の客層的にウケるかどうかとても心配でした。蓋をあけると皆様大変好意的で、とても楽しい展示となりました。

特に意外だったのが子供にめちゃくちゃ受けた事です。作品内容がかなりマニアックなので、自分みたいなコンピュータエンジニアを想定客としていたのですが、どういうわけか沢山の小学生がガッツリと前に陣取ってあれこれ遊んでしました。小学生にブール演算について説明出来るほどの説明スキルが自分に無く適当にお茶を濁していたのですが、自分でも子供がどこに興味を惹かれているのかよく分かりませんでした。

幸いにも次回 8月3,4日に開催される Maker Faire Tokyo への出展が決まりましたので、その計画もまた書きます。

参考

はずかしい

今日はミニ遠足の日だった。お弁当を持たせて、体操服を着せて通園バスに乗せようとしたところ、長女が

「はずかしい!」

と言って乗ろうとしない。僕は耳を疑った。え、今なんて言ったの???

よく見ると、車内の年長組のお兄ちゃんお姉ちゃんは普通の制服を着ている。今日のミニ遠足は年中組だけなので、他の学年は体操服を着ていないのだ。それを長女は、間違って体操服を着てしまったと誤解してしまったらしい。ちなみに双子の次女は全く平然と乗っている。

長女は家ではおっちゃんみたいなキャラで、自由奔放でマイペースで唯我独尊なタイプだ。なので、「はずかしい」と言ったのを聞いてびっくりしてしまった。この天真爛漫な我が子もついに「はずかしい」を覚えたのかと複雑な気持ちになった。