幸谷智紀・國持良行「情報数学の基礎」森北出版

[ Amazon ] ISBN 978-4-627-05271-0, \2310
intro_discrete_math_cover.png
 いやぁ~,長かった長かった~。一年半余り,艱難辛苦を乗り越えて(大げさ)やっと書き上げ,推敲し,出版の運びとなったのである。・・・って,矢先に東日本大震災に見舞われてしまい,流通経路が怪しいという状況。版下は完成していても発売がいつになるやら分からないのである。まぁしかし当初予定の4/15は怪しいとしても,近刊には間違いないのであるから,ここで宣伝も兼ねてあれこれ思い出すことなどを書き出しておく。ちなみにサポートページを作ったので,bug情報はこちらに随時更新して書き出しておく予定。
 本書の章立ては次の通りである。
   第1章 情報数学基礎への準備
   第2章 数の表現方法
   第3章 命題と論理演算
   第4章 集合
   第5章 写像
   第6章 関係
   第7章 述語と数学的帰納法
   付録A コンピュータ内部での小数表現
   問題の略解/章末問題の略解/参考文献/索引
 ワシ世代(高校で数学I・基礎解析・代数幾何・微分積分を履修した世代)なら,第6章の関係を除いて全部高校数学ので扱う内容であることに気が付くだろう。今更そんな初歩的なことを大学でやるのかと,古い世代の人達からは言われそうだが,実際やる必要があるんだから仕方がない。コンピュータというものを理解するために必要不可欠なN進表現,命題論理,集合,写像・関係,帰納法という離散数学の初歩知識を得るためのテキストとして本書は執筆されたのである。
 とはいえ,まるっきり数学的素養のない人間にも腑に落ちる名解説があるかと言われれば?である。中学校の数学で躓いた数学大嫌い人間にとっては本書の解説は苦痛以外の何物でもない筈で,当方としてもそういう人間は相手にしていない。不可能なことは不可能なのである。正直に言えば,そーゆー方々は,少なくともプログラマーにはならないで下さい,なろうとしないで下さい。迷惑だし金の無駄だ。本書の位置づけは,高校までの数学知識が怪しくても,数学を受け取るだけの地頭のある人,かつ,意欲がある人向けに,コンピュータ,特にプログラミングで必要となる知識を得るための基礎教養を身につけるためのものなのである。
 このテキストは次のような流れでできあがってきたものである。

  1. 情報システム学科(現・総合情報学部)1年生向けの必修科目として「情報数学基礎」が設置される
  2. 幸谷,國持がそれぞれ「情報数学基礎」用のテキスト(大学内でのみ使用)を執筆
  3. 幸谷・國持バージョンをマージして「情報数学基礎」(大学内でのみ使用)を作成
  4. 出版社・営業さんに出版を持ちかけ→出版計画スタート
  5. 執筆

 まず1から説明する。全国的に旧帝大・早慶クラス以下の大学では入学者の多様化・・・つまり低レベル化が進み,高校での数学知識をアテにできなくなってきた。本学もご多分に漏れず。数学知識が必要な科目では独自にフォローアップを図ってきたがそれも限度があり,「これを知らなきゃテキストも読めないぞ!」という最低限の離散数学の知識と,それを身につけるための基礎教養を身につけるための科目を設置することになった。これが「情報数学基礎」である。少人数クラスできめ細かくフォローアップをする,という目的で4人の教員が分担して1年生全員の面倒を見ることになったのである。
 とゆーことで2のように各教員がテキストを作って教えだした訳だが,同じシラバスなのにテキストがばらばらでは困る,少しはテキストの種類を減らせという上からの指示があり,3のようにワシ(幸谷)と國持のテキストをマージしてLaTeXテキストを作った訳である。
 しかしこのマージしたテキスト,お世辞にも出来がいいものとは言えない代物であった。ワシは高校数学,とゆーよりは中学生にも分かる程度のごく簡単な定義と演習問題を付けた薄いものを使っていたのに対し,國持の方ではもっと本格的かつ標準的(本学レベルだと難しいもの)な離散数学の立派なものを使っていたのである。それを無理矢理一緒にしてマージしたモンだから,数学用語の一本化は不十分だし,説明の仕方もまるで異っているものがそのまま残ったという体たらく。ま,それでもテキストの種類は減った訳だから,これで当分は凌ごうと二人で3年程使っていたのである。
 そんな折,毎年本学に営業に来られていた森北出版の方に「こーゆーレベルのテキストない?」と,暗に「これをお前のところで出版してくれたら使ってやらんでもない」と交渉してみたら思いのほか良い感触が得られたのである。最終的には,編集担当のKさんと営業のEさん,それと森北社長と面談し,「とぉおおっても易しい,高校数学の教科書スタイルのテキストに書き直してくれるならいいよ」ということで企画がスタートしたのである。これが4。
 そっからが苦難の道,っつーか,書き直し作業は困難を極めたのである(自己評価)。マージしたテキストを土台として書き直しするので,題材は揃っている。しかし,水と油のような記述が残っているものはそのままでは使えない。結局,原型は章立てと題材の順番がにその痕跡を留めている程度で,冒頭の説明や簡単な演習問題は全部書き直しとなった。その作業が1年あまり。そっからKさんの閻魔様のような書き直し要求が立て続けに押し寄せ,思考力をなくした著者二人はひぃひぃ言いながらもほぼ「仰せのままに」書き直し作業を進めたのである。それが大体2月上旬には終了した訳である。
 しかし運命は(と勝手に責任転嫁するが)皮肉なもので,最後の最後,あと一歩で完成稿だ,というところでトラブルが発生した。ちょっとした行き違い,というレベルではなく,二人で異なる数学用語の定義を使い,そのずれを放置したままだったのが露見したのだ。それが判明した結果,最終段階の書き直し作業を行っていたワシがストレスに耐えかねて爆発してしまったのである。どういうズレだったのかについては後ほど書くことにするが,まぁそれからは何だかんだあって,何とか収束,ようやくアトは印刷にかけるだけという最終稿が仕上がりつつある(←今ココ)。
 以上で愚痴は止めるが,ともかく普通の共著のように,各章で分担を決めて個別に書いたものをマージした,というものではなく,共著者がお互いに互いの原稿を丸ごと手を入れながら作ったのが本書なのだ。故に,真の意味での共同作業(+喧嘩成分入り)なので,まぁどっちの負担が大きかったとかどっちが主担当だとかと揉めることはない。完全イーブンの関係で本書はできあがったのである。 だから,かえって記述内容は易しくしようとして失敗している感じもする。自分の数学観を確認しながらの解説は,結婚式における年寄りのスピーチの如く,回りくどくてすぐに頭の中には入りづらい・・・かも。本書のタイトルは最初「かんたん」とか「やさしい」という冠を付けたものを提案されたが,類書に比べて実際簡単かというとそうでもなさそうな気がしてきたので,形容詞抜きのシンプルなものになった。しかしながら(我ながらくどいが),扱っている知識量はごく少ないものに留めてあるので,まぁ,半期の我慢の結果はしっかりと定着させたいという狙いは貫徹できたかな,と思っている(ワシだけかも)。
 あくまで本書は数学のテキストである,という方針を貫くため,コンピュータとの関連については章末にコラムという形で触れておく程度に留めた。ちょっとこじつけ的な説明になっちゃったかな,というものもあるが,どこに役に立つ知識であるか,その例示ぐらいはしておかないと情報系学部における「情報数学基礎」の意味がなくなるような気がしたので,付録以外の全章分に書き下ろすことにしたのである。
 抽象的な概念の提示より先に具体例が示される,という書き方は森北社長からの入れ知恵であるが,それなりに忠実に従って書いたつもりなので,「高校数学の教科書スタイルのテキスト」には一応なったかな,とは思う。それが果たして「わかりやすさ」に繋がっているかどうかは不明だが,とかく概念理解が苦手な低レベル(って断言しちゃうけど)学生への配慮としてはこれが限界だろう。うまい例示が見つかれば「記述の改善」はできるだろうが,学生さんの頭の中に手ぇ突っ込んで知識を大脳新皮質に塗り込むことができない以上,抽象的概念の獲得は自力でやって貰わねばならない。そこが厳しいようであれば,もう技術職としてのプログラマーは諦めて欲しい,というのがワシの考える「最低ライン」としての「情報数学」の「基礎」確認作業であり,本書はそのために執筆された,最低ライン確認用ツールなのである。