プロフィール
著者(PN):
月下香治
(かすか・よしはる)
Yoshiharu Kasuka

メール
y-kasuka@jewelryeyes.net


2006年3月15日

2007年3月15日



2006年9月19日(火)

当期の研究成果等

 前回の更新から半年もの間、右欄の各コーナーをその時々にちまちまと更新してきたのを除いて、何の策も立てずに放置してしまいました。生活パターンの変化に加えて、『GUNS BAR ROSES』に行く頻度が若干増えたため、サイト更新のためにまとまった時間をとることがさらに困難になったのです。
 光ファイバー通信の導入や無線LANの敷設のために私が駆り出されるのは、まあいいでしょう。しかし、ROSES周辺の店舗を紹介するページの作成や、ROSESメンバーの店内掲示用のカードの作成までも任されるのは、若干プレッシャーを感じます。私は元来テキスト型、かつシステム肌の人間ですので、プレゼンテーションに堪えうる美術デザインの作出には自信がないのです。しかし、コンピューター回りの事柄については他のメンバーよりも通暁しているとみなされている現状においては、このあたりの違いについてはあまり勘案してもらえず、すぐに私に仕事が回ってきます。キャプテンの苛烈な要求を受け止めたり受け流したりしながら、今日も作業に勤しんでいるところです。
 というわけで、サイトの更新までには至らなかったのですが、個人的な研究については寸暇を捉えて少しずつ進めています。今回は、その研究の現況についてご報告したいと思います。私が現在研究しているのは3分野、「ユーログラム」と「国際点字」、それと「ホフスタッター数列群」についてです。
−−−−−−−−−−−−−−−−−−−−
 まずは、「ユーログラム」についてお話ししましょう。
 「ユーログラム(Eurogram)」とは、私が構想している人工文字の体系で、漢字と類似の形態を持ち、漢字と同様の原理で構成され、インド・ヨーロッパ語族の各言語について同一の語源を持つ単語を同一・類似の字種で書き表す、ほぼ1音節1文字の対応を持つ表語文字です。詳しくは、2月12日の記事をご覧ください。
 この「ユーログラム」を発表するページを9月15日に公開するべく、8月半ばごろからページ表示用プログラムを組み上げる予定だったのですが、ちょうどこのころからROSESに赴く機会が多くなったこともあり、うやむやになってしまいました。ごめんなさい。明確にお約束はできませんが、機会を捉えてなるべく早くに皆様のご覧に入れたいと思います。
 この間進展がなかった、ということはもちろんなくて、少しずつ構成を進めてきた結果、現在までに約650の字種に定義を与えるに至りました。世界人権宣言第1条のフランス語・スペイン語・イタリア語バージョンについては、ほぼ全文をユーログラムで書き表すことができるようになっています。しかし、JIS第1水準では約3000字、第2水準では約6000字の漢字があるように、1言語に普通に出現する表現をほぼ全部カバーするには3000〜6000の字種が必要であろうと推測されています。ユーログラム全体では、3万〜6万字種にもなろうかと予想されます。まだまだ全然足りていません。
 また、定義する字種が増えてくると、新たに追加・訂正することが困難になってきます。全部をひとつのファイルにまとめて管理すると全体を見渡しにくくなりますが、複数のファイルに分けると変更を全部のファイルに反映させるのが面倒になるというジレンマがあります。悩ましい限りです。
 管理をしやすくする方法は、いくつか考案しています。字種それぞれに固有のコードを割り振って管理する方法などです。
 たとえば、2月12日の記事にある[龍]という字種のコードは"p00-16a-dra"となっています。"p00"の部分は「部首コード」で、"p"(アルファベットの16番目の文字)は16画の部首であること、"00"はそのうちの1番目(00から始まる)の部首であることを表し、全体として部首「龍」を表します。"16a"の部分は「画数コード」で、"16"は16画の文字であること、"a"は一般的な語幹("b"は接頭辞、"c"は活用語尾等)であることを表します。"dra"の部分は「発音コード」で、[龍]の標準発音"drac-"の最初の3文字からなっています(3文字に満たない語幹の場合は数字を充填します)。複数の字種でこれらのコードの全部が一致する場合は、「補助コード」として3桁の数字を添えて区別します。
 このコードのASCIIコード順に全字種を配列すると、ちょうど一般の漢和辞典のような部首別画数順配列になります。このコードを発音コード・画数コード・部首コードの順に並べ替えると、中国語辞典や一部の漢和辞典のような発音順配列になります。画数コード・部首コード・発音コードの順に並べ替えて、画数索引を作ることも可能です。
 全字種のそれぞれに互いに異なるコードを付与して区別することは、非常に重要なことです。Unicodeでも、それぞれの文字に異なる名称を付与することによって、世界中の文字をコード化しています。この、世界中の文字を1種類のコードで一括して扱おうというUnicode、実は一部の人工文字も自然文字と同等の資格で収録されはじめています。「ユーログラム・プロジェクト」の最終目標は、夢は大きく、Unicodeの多言語面1面分、65536文字分の領域をユーログラム割り当て領域として獲得することです。
(それより前に、「欧米の書字体系を無用に混乱させた功績」とかいってイグノーベル文学賞とか獲れたりしそうですが)
−−−−−−−−−−−−−−−−−−−−
 次に、「国際点字」についてお話ししましょう。
 ここでいう「国際点字」とは、「権威ある国際機関が統一的に定めた、世界中で同一の規格で使用される点字」ということではなく(そんな機関はもちろん存在しないのですが)、「世界のそれぞれの地域で使用されている点字のシステムを収集したもの」という意味です。当コンソーシアムの学術サイト『REMWIN研究所』内の『日本語研究室』内の「点字研究室」に掲載されている「点形別国際点字辞典」には、日本語や英語などの馴染みの点字に並んで、中国語や韓国語、ロシア語やギリシア語、アラビア語やヘブライ語から、タイ語やインド系諸言語に至るまで、世界中のさまざまな地域で使用されている点字が収録されています。
 この「点形別国際点字辞典」の更新が、1年以上も停滞しています。世界中の点字を収集しおえたわけではありません。新たにカンボジアのクメール語やエチオピアのアムハラ語などの点字に関する情報を得ることができました。では、それらの情報がなぜ「点形別国際点字辞典」に収録されないのかというと、そこには非常に深い問題があるのです。
 実は、このクメール文字やアムハラ文字といったものは、日本で普通に購入し、普通に使用している状態のパソコンのブラウザでは文字として表示させることができないのです。クメール文字やアムハラ文字がUnicodeに収録されたのは最近になってからのことですので、ほとんどのフォントにはこれらの文字のデータがありません。それぞれの言語用の特殊なフォントをダウンロード・インストールすれば表示させることはできるでしょうが、それではサイトの閲覧者に同じように見せるために同じ手間を強制することになります。文字を画像として表示させるより他にないということになりますが、文字を画像に変換しようにもそもそも文字が表示されませんし、著作権のない画像などというものもありそうにありません。それではどのようにしてこれらの言語の点字の情報を入手したのかというと、クメール語の場合は日本の福祉団体が無償配布しているクメール語の点訳ソフト、アムハラ語の場合はUnicodeのコードと発音が付記された表形式のデータを掲載した英語のページからです。
 世界にはさまざまな文字体系がありますが、現在の独立国の公用語に使用されている主要な文字体系の中で、私がその点字システムを把握していないものは、ミャンマーのビルマ文字、ラオスのラオ文字、アルメニアのアルメニア文字、グルジアのグルジア文字の4種を残すのみとなっています。私は暇を見つけては、これらの言語の点字システム、特にアルメニア語のものを検索エンジンで探し回っていました。実は、アルメニア文字やグルジア文字は数値文字参照を使用してブラウザ上に表示させることができるので油断していたのですが、日本の現在のブラウザ(あるいはInternet Explorerだけか)はアルメニア語やグルジア語にエンコードを合わせることができないため、これらの国の国民自身が作成したページを閲覧することができないのです。そういえば、インド系諸言語の点字システムの情報源も、画像を使用した英語のページでした。
 このように、世界の点字に関する情報を自力で獲得するのはけっこう大変な仕事です。地域によっては個人でウェブサイトを開設できるほどインターネットが普及していないところもありますし、そもそも点字のような「公共知」に関することを個人があらためてネット上で皆に知らせようとはしないのかもしれません。英語と同じラテン文字を使用しているルーマニア語やインドネシア語、ロシア語と同じキリル文字を使用しているウクライナ語やベラルーシ語の点字システムもまだわかっていませんし、もちろん北朝鮮の点字に関する状況も謎に包まれています。日本のように、知っている人はすでに知っていて、知らない人は知ろうともしない「点字」に関するページを嬉しがって、英語でもフランス語でもスペイン語でもイタリア語でもその他多くの言語で使用されている"braille"に関するページよりも多く作成してしまう(Google調べ)国は珍しいのかもしれません。
 そこで、クメール語の経験に倣って、他の言語でも点訳ソフトをダウンロード・インストールして調べてみることにしました。"Ukrainian braille"などというキーワードで検索しているとよくヒットしていた『Duxbury Systems』という点訳支援サイトには、アフリカーンス語からヨルバ語まで数十の言語の点字システムに一手に対応した点訳ソフト「DBT 10.6」というものがありまして、デモンストレーション版というものがありましたので、ダウンロードしてみました。使用規約はもちろん英語で、正確なことはよくわからなかったのですが、どうやらデモ版の使用期限は90日であるらしいということで、本来ならばこの記事を書きおえた後でインストールしてじっくり調べるべきところを、ちょっと時間が余っていましたのでそのままインストールしてしまいました。とりあえず、アフリカーンス語の点字では、"ei"や"ie"のような二重母音のほかに"an"や"en"や"aan"といった綴りにも略字が設定されていたり、単独で"w"と書かれていたら英語の"will"に相当する"wil"、"j"と書かれていたら英語の"you"に相当する"jy"という単語の略語であるというようなことがわかりました。長く険しい道程になりそうです。
−−−−−−−−−−−−−−−−−−−−
 最後に、「ホフスタッター数列群」についてお話ししましょう。
 「ホフスタッター数列群(Hofstadter sequences)」とは当コンソーシアム独自の用語で、アメリカの数学者ホフスタッター(D. R. Hofstadter)が著書『ゲーデル,エッシャー,バッハ あるいは不思議の環』で発表した数列と類似の方法で生成した数列の総称です。当サイトでは特に、「ホフスタッター・コンウェイの10,000ドル数列Hofstadter-Conway 10,000-dollar sequence)」を一般化した「ホフスタッターのドローブリッジ数列(Hofstadter's drawbridge sequences)」を研究してきました。
 「ホフスタッターのドローブリッジ数列」とは、次の再帰式によって定義される数列です。
・H{c,m,g}[n]=1(1≦n≦c+m)
・H{c,m,g}[n]=H{c,m,g}[H^(g){c,m,g}[n-m]]+H{c,m,g}[n-H^(g){c,m,g}[n-m]](n≧c+m+1)
(ただし、H^(0){c,m,g}[n]=n, H^(t){c,m,g}[n]=H{c,m,g}[H^(t-1){c,m,g}[n]] とする)
 c, m, g, n の各変数は自然数で、10,000ドル数列の研究に深く関与する数学者の名前に因んで、c を「コンウェイ成分」、m を「マローズ成分」、g を「グリッチュク成分」と呼びます。c=m=g=1 のときは、この数列は10,000ドル数列になります。
 m を1に固定し、c や g を動かした場合の数列の挙動については、一定の規則性があることがわかっています。これに対して、m を2以上に設定した場合は、規則性の把握がとたんに困難になります。これは、m が c や g とは本質的に異なる作用をしている(定義の再帰式の全域に同等に作用を及ぼしていない部分がある)ことによるとも思われます。
 そこで、このマローズ成分を廃止し、新たに次の再帰式によって定義される数列とすることを検討しています。
・H{c,a,g}[n]=1(1≦n≦c+a)
・H{c,a,g}[n]=H{c,a,g}[H^(g){c,a,g}[n-a]]+H{c,a,g}[n-(a-1)-H^(g){c,a,g}[n-a]](n≧c+a+1)
(a は「アレンビー成分」と呼ぶことにします)
 a=1 ならば、元の定義式の m=1 の場合と同じです。十分に検証していないのですが、a≧2 の場合、m≧2 の場合よりもその変化が大人しめのような気がします。これらの定義のどちらを採用するかについては、今後の研究を俟つことになろうかと思います。
 実は、この半年間、この分野においての研究はほとんど進んでいませんでした。『MathWorld』で見かけた「ワイトホッフ配列Wythoff array)」などの他所事に関心が移って、こちらのほうを少しばかり検証していたのです。
日本語版Wikipediaでは"Withoff"は「ワイソフ」と訳されていますが、独自に調査した結果、当コンソーシアムでは「ワイトホッフ」と表記することにします)
 「ワイトホッフ配列」とは、次に示すような無限配列です。
  1  2  3  5  8 13 21 ...
  4  7 11 18 29 47 76 ...
  6 10 16 26 42 68 110 ...
  9 15 24 39 63 102 165 ...
 12 20 32 52 84 136 220 ...
 14 23 37 60 97 157 254 ...
 17 28 45 73 118 191 309 ...
 : : : : : : :
 まず、最初の行としてフィボナッチ数列を置きます。次に、次の行の先頭にそれまでに出現しなかった自然数で最小のものを置きます。ここでは4ということになります。この4とその真上の数1との差は3であり、これはすでに配列の中に出現しています。これを「1に3を加算して、その下に置く数を作った」とみなして一般化し、その右隣の2の下に置く数を、2に3の右隣の5を加算して、7とします。以下順番に、3に8を加算して11、5に13を加算して18…というように、配列に置く数を決定していきます。この行に置く数が全部決定したら、以下同様に、4の下にそれまでに出現しなかった6を置き、6と4の差は2なので、7の下には3を加算して10を置き、11の下には5を加算して16を置き…という操作を繰り返していきます。このようにして構成された配列が、ワイトホッフ配列です。
 この配列は、次の性質を満たします。
(0) 行も列も無限個存在する
(1) どの行もどの列も単調増加する
(2) すべての自然数がそれぞれ必ず1回出現し、2回以上は出現しない
(3) ある位置にある数が他の行の隣接するふたつの項の間の値を取るとき、これらのふたつの行のそれ以降の項を大きさの順に並べると、交互に互いを挟みあう
 このような性質をすべて満たす配列を「インタースパージョン(Interspersion)」(あえて日本語に訳すなら「散布配列」といったところか)と言います。(3)の性質が一見厳しそうで、インタースパージョンの実例は少なそうに思えますが、実際は無限に存在します。最初の列に奇数列を置き、その右隣に2倍した数を次々と置いていって構成した配列もこの性質を満たし、案外簡単に構成できるものなのです。
 それでも、特段そのようには考えずに数を加算して構成していったにもかかわらず、(2)のような性質が現れるというのは驚くべきことです。このことを無限に広がるこの配列の全ての数において証明するのは非常に難しそうに思えますが、全ての自然数を隣り合わないフィボナッチ数の和によって一意に表現する「ゼッケンドルフ展開(Zeckendorf expansion)」という概念を導入することによって、比較的簡単に証明することができます。
 それでは、上の方法で構成されるインタースパージョンは他にもないのでしょうか(この分野においてフィボナッチ数列のみが特権的な地位を占めているのでしょうか)。たとえば、フィボナッチ数列は F[n]=F[n-1]+F[n-2] という再帰式によって定義されますが、この式の中の n-2 を n-3 に置き換えて作った 1, 2, 3, 4, 6, 9, 13, 19, ... という数列ではどうでしょうか。実際に構成してみると、この数列でも同じようにインタースパージョンが構成できることがわかりました。のみならず、この n-3 が n-4 でも n-5 でも、他のどの n-m に置き換えて作った数列であっても構成することができます。上で例示した奇数列を倍々にする配列は、n-1 に置き換えた再帰式 F[n]=F[n-1]+F[n-1]=2F[n-1] から生成される2の累乗の列から構成される、このインタースパージョンの系列の特殊例です。これらについても、それぞれの数列についてゼッケンドルフ展開に似た表現法を適切に設定することによって証明することができます。
 ゼッケンドルフ展開を用いると、ワイトホッフ配列の特定の位置に存在する数を直接計算したり、特定の数が存在するワイトホッフ配列上の位置を計算したりすることができます。この性質を利用して、ワイトホッフ配列を表示するプログラムを作ってみたりもしました。面白い性質が発見できるかもしれません。
 ワイトホッフ配列ばかりにかまけて、肝腎の「ホフスタッター数列群」についてはおろそかになってはいまいかとご心配くださる奇特な方がいらっしゃるかもしれません。実際、これらのふたつの概念には直接的にはあまり関連がありません。しかし、ワイトホッフ配列フィボナッチ数列に関連し、ドローブリッジ数列が、c や g の値を変えると、フィボナッチ数列一般化フィボナッチ数列に関係する性質を示すことなどを考えると、ワイトホッフ配列の研究がドローブリッジ数列の研究の進展に寄与する可能性もまったくないとは言い切れません。数学はひとつの巨大な概念と論理のネットワークであり、どんなものでも互いに繋がっているので、突拍子もないところから問題の解決に繋がることがよくあります。そこが数学の面白いところでもあるのです。
−−−−−−−−−−−−−−−−−−−−
 さて、このようにこの半年間、いろんなことを研究したりしながら、ゆる〜く過ごしてきたのですが、ここに来て、長らく懸念してきたことがついに起きてしまいました。116GBもあったDドライブの残り容量が、減価償却期間に遠く及ばない1年半という使用期間のうちに、とうとう20GBを切ってしまったのです。
 主たる原因は、美少女ゲームの体験版のダウンロードのしすぎです。旧パソコンを使用していたころは、27GBの容量を使い回すために、一度プレイした体験版は泣く泣く定期のメンテナンスの際にまとめて削除していました。新パソコンに移行して容量が格段に増えたので、プレイした体験版も記念として残し、古い体験版ももう一度ダウンロードして記念館的なデータを作ろうとしたところ、昨今の美少女ゲーム界の体験版の数の増加と、ゲーム内容の長大化との影響をまともに受けて、予想よりも遥かに早くHDDを圧迫する結果となったのです。このまま漫然とダウンロード・インストールを続けていては、早晩(今年中にも)HDDが満杯になってしまうことは予想に難くありませんし、実際、現在も必要なソフトをインストールするのがためらわれているような状況です。
 今は外付けHDDがかなり安くなっていて、250GB程度のものなら1万円台で買えるようですが、この容量でもまだ心許ありません。できればテラバイト級のHDD(現在メーカー希望小売価格約10万円〜)が欲しいとかねてより考えていたのですが、7月のアニメ新番組に合わせて2番組同時録画・中継延長対応・HDD/DVD/VHSビデオレコーダーを急遽購入したばかりですので、自由に使えるお金が今はないのです(3月に買っていれば『涼宮ハルヒの憂鬱』が全部保存できたのに)。
 そこで、一時的な措置ではありますが、既プレイの体験版のうち、手動でインストール・アンインストールできるものをDVD-Rに移し替えることにしました。8枚のDVD-Rに約200本の体験版を移し替えた結果、19GBにまで落ち込んでいた残り容量が47GBまで回復しました。CD-Rだと50枚は必要になったであろうことを考えると、DVDは偉大であると感じざるを得ません。
 しかし、今はこれ以上進めることはできません。体験版はまだ100本ほど残っているのですが、未プレイなのです(「積みゲー」とは体験版を積み上げることなどとは思いも寄りませんでしたよ)。1本のプレイにどの程度の時間が必要かわからない体験版をプレイできるのは、次の日が休みである金曜日か土曜日のうち、ROSESに行かない日の夜、週に1回6時間程度しかありません。この時間帯は、上記の分野の研究やサイトの更新・メンテナンスの作業とも競合しています。当初は最大の律速段階になろうと思われていた『FINAL FANTASY XII』も、途中(ブルオミシェイスに向かう途上)でプレイが止まったままです。
 これからしばらくは、休む暇もなさそうです(とは言っても休むときは休みますが)。次の仕事は、『GUNS BAR ROSES』の掲示板にも頻繁に来るようになった鬱陶しいスパム投稿を排除できる、セキュリティーを高めた掲示板スクリプトの作成ということになるでしょう。その後、なるべく早いうちにユーログラムの概要をお見せできるようにしたいと思いますので、いましばらくお待ちいただけるようお願いいたします。
 それでは、今回はそういうことで。


BACK