(五十嵐 悠紀:明治大学総合数理学部 専任准教授)
「情報科学」(Information Science)という学問分野をご存じでしょうか。
情報科学の理論は、みなさんが普段使っているパソコンやスマホ(ハードウェア)、そこで動くアプリ(ソフトウェア)でもたくさん応用されています。例えば、電車の乗り換えやカーナビなどでの経路探索。いくつもある経路から最短のものをすばやく見つけ出す方法は、情報科学の研究分野の一つです。
今回は、それらとはちょっと違う、意外な分野への応用例を、私が以前に行った研究からご紹介しましょう。
情報科学を手芸に応用してみる
情報科学のほかに、「コンピュータ科学(コンピュータサイエンス)」という言葉もあり、こちらの方が少しイメージしやすいでしょうか。言葉の使い方は人や組織や国によって多少違いがありますが、専門家でないなら大体同じものと思ってかまいません。
情報科学/コンピュータ科学には次のような分野が含まれます。
(1)組み合わせ数学、グラフ理論、計算理論、チューリングマシン、アルゴリズムなど
(2)プログラミング言語、分散コンピューティング、並列処理、ソフトウェア工学、暗号理論、データベース、人工知能、ロボット工学、コンピュータグラフィックス(CG)など
(2)の項目はコンピュータを使って実現しているもので、ときどき目にする言葉も多いのではないでしょうか。一方(1)の項目は、コンピュータ(ハードウェア)を必ずしも必要としない分野ですが、実際のコンピュータシステムには基礎的な部分として応用されています。
さて、今回、情報科学の応用例としてご紹介するのは手芸です。私は、情報科学と縁がないと思われるような「手芸」に情報科学を持ち込んで、課題を解決することを試みてきました。情報科学とコンピュータを使ったシミュレーションを利用して作成した、「ぬいぐるみ」と「ビーズ細工」をデザインするプログラムを説明します。
型紙への展開が難題
ぬいぐるみは完成品を買うことが多いでしょうが、自分で作る「制作キット」も売られています。そういうぬいぐるみもかわいいけど、自分でオリジナルのぬいぐるみが作れたら楽しいと思いませんか?
ただ、立体形状を考えたとしても、それから、布を切るための型紙(パターン)を展開するのは容易ではありません。通常型紙を作成するのは、パタンナーと呼ばれる専門家の仕事です。
その作業を、情報科学とコンピュータを利用して、しろうとでもぬいぐるみをデザインできるプログラムを作ってみたわけです。