元ファイルの目次へ, 鼎談総集編の表紙

鼎談 9月号

[0084]根上 生也 1999-05-12 (Wed) 08:59:39
例えば,世の中には,どんなものでも,数式で書けると思い込んでいる人がいます.でも,それは幻想ですよね.そういう幻想を抱いている人は,数式で書けてこそ,数学の定理だと思い込んでいたりもします.

それに,仮に,数式で書き下せるにしても,本当に数式で書くことに意味があるのかと問いたくなるような公式もありますよ.

あまり抽象的な言い方をしてもわかりにくいので,すごく具体的な例でいいましょう.

例えば,有名なフィボナッチ数列を考えてみてください.その一般項は,黄金比のn乗とその相棒のn乗の差を何かでわったような式で表現できます.その無理数を含む式が整数になってしまうのは面白いことですが,たかがフィボナッチ数列をこんな複雑な数式で表現しなくたっていいのに,という気がしませんか.

だって,「1つ前とその前を足すと,次の数が求まる」というアルゴリズム的な理解をしたほうが,フィボナッチ数列がわかった気になれそうだらかです.

仮に,フィボナッチ数列の一般項の式が,数ページにおよぶ複雑な式だったらどうしますか.簡単な漸化式を繰り返し適用すれば,任意の項の値が求められるのに,無理に数式にするものだから,わけのわからない状態に陥ってしまう...

こんなふうに考えていくと,数式(渡辺さんが以前いっていた数式とは意味が違います)で書き下すよりも,操作とか計算手順とか,アルゴリズムとかいったもので表現したほうが,本当が見えてくる現象や構造がある.そういう現象や構造を対象とする研究が,コンピュータ・サイエンスから生まれる基礎科学なのではないでしょうか?

こういう見解は,渡辺さんの予言と矛盾するのでしょうか?
[0085]渡辺 治 1999-05-12 (Wed) 10:43:29
う..ん.

松井さんのコメントで,大分,進んだかなと思ったのですが,根上さんは,少々誤解されているのではないでしょうか?

松井さんは,作図の話に共鳴されたのではなくて,「17回コンパスを使う」方に共鳴されたのだと思うのですが,いかがですか?
[0086]根上 生也 1999-05-13 (Thu) 10:55:45
今回の私の発言は,多少,コンピュータ・サイエンスを擁護したつもりだったのだけれどなあ.

私も,「17回コンパスを使う」話を引き合いに出すのは良いと思いますよ.

でも,どうして計算とか操作とかに,注目しなければならないのか.そこを押さえておかないと思うわけです.「コンパス」の話はそういう観点の必要性を踏まえた上で,論じた方がよいのではないでしょうか?

それをしないと,作図の問題が単なる組合せの問題になってしまう気がするのですが.

手順の多さや,場合分けの複雑さとか,そういう計算の困難さに注目して,議論をするのなら,私の言い分は後回しにしてもいいですよ.
[0087]渡辺 治 1999-05-14 (Fri) 01:14:16

はい!そうしましょう.

根上さんの話を聞いていると,何となく「困難性」の議論ではなく,「不可能性」の議論に持っていきたいような雰囲気がしますね.でも,コンピュータ・サイエンスの真の特色は,不可能性の議論から困難性の議論に移ってきたところから出てきたように思うのです.つまり,ゲーデルやチューリングを卒業したところで,コンピュータ・サイエンスの特徴が出てきているように思うのです.
[0088]渡辺 治 1999-05-14 (Fri) 01:27:46

ただ,だからと言って,計算困難性の話だけが,コンピュータ・サイエンスと言っているわけではありません.あくまで,これはコンピュータ・サイエンスの一分野に過ぎません.

ただ,私自身がこの分野にたずさわってきたために,それを例としているだけです.ここで少し話しを整理してみますね.

1.はじめは,コンピュータ・サイエンスって何なの?という話から始った.
2.その問いに対する究極的な答えは,多分,「計算」を対象とした学問がコンピュータ・サイエンスである,だろう.
3.ここで渡辺が「計算」は,そんなに単純なものではない,むしろ,おそろしく難しい対象だ,ということを説明したくて,*例として*計算困難性の証明の難しさの議論を持ち出した.
4.さらに,なぜ,計算困難性の証明が難しいのか,の直観的な説明を理解を得てもらおうとして,構造の有無の話になっていった.

というのが今までの筋だと思います.つまり,あくまで,例として計算困難性の話をしているのです.
[0089]根上 生也 1999-05-14 (Fri) 05:07:51
混乱を避けるために,もう1つ整理をしてください.

というのは,計算自体が困難だというときの困難性と,その計算困難性の証明が困難だというの困難性が混同されてしまいそうだからです.

どちらの困難性にしても「構造がないから」が理由になっているようにも思えるし.

計算困難性の証明を与えることの1つの計算と思えるから,2つの困難性を分ける必要はないといえるかもしれないけれど,初めは分けておいた方がわかりやすいでしょう.
[0090]根上 生也 1999-05-14 (Fri) 05:21:18

それと,[0079]で渡辺さんが引き合いに出している正多角形の作図の問題のことをもう少し説明してください.

ただ「困難だ」の一言でかたずけてしまうのは,まずいです.

いったいどういう困難さなのかを問うことに意味があるのではないですか.

単に数学的な発想だけで捉えてしまうと,コンパスをn回使って作図できる点全体の中に,360度のm分の1の位置を与える点が含まれるかどうかという問題を考えているように思えます.となると,nとmの値が変わっても,問題の質は同じなのではないかと思う人がいても不思議ではないでしょう.

ところが,コンピュータ・サイエンティストが見ると,こういうふうに困難さが違ってみえるんだよ,という説明がほしいですね.それがわかってくると,すべてを数学の中に取り込んでしまおうといる私の野望が打ち砕かれることになります.
[0091]渡辺 治 1999-05-14 (Fri) 07:42:49

「困難」とは,計算の手間がかかるという意味です.一方,証明が困難な場合には,「難しい」という言葉を使ってきたと思います.(もしかするとどこかで混同していたかもしれませんが...)

作図の話については,もう少し考えさせてください.
[0092]渡辺 治 1999-05-14 (Fri) 07:58:06

ここで整理ついでにもう一つ.根上さんの発言 [0084]には,かなりの誤解があることを指摘させて下さい.(これにで横道にそれるとまずいですが.)

フィボナッチ数の場合,コンピュータ・サイエンスの目標は,むしろ黄金比を使った式を得ることだ,といった方が正しいと思います.漸化式は,計算手順を表しているのでいいのですが,それはある特定の計算手順でしかありません.ある意味でフィボナッチ数の一面しか表していないのです.それにとらわれすぎるとまずいのです.いわゆる数式での理解の方が「理解した」ことに近いと我々は思っています.

根上さんのおっしゃるように,「計算」を考えることは,ある種の限られた操作をどう組み合わせるか?ということです.確かに「限られた」操作ではあるのですが,その記述力が非常に豊富なために,人工物に対するすべての操作を書けてしまうのです.ですから,そういう自由度の高い操作の列で記述するよりも,より自由度の低い従来の数式での記述の方が理解が深まっているのだ,と考えるのです.
[0093]根上 生也 1999-05-15 (Sat) 21:01:19
誤解しているのは,渡辺さんのほうですよ.

私の誤解が指摘されるとするならば,せっかく松井さんが作図の問題に興味を示したのに,それにつながる話をしなかったということでしょう.

私は,あくまでフィボナッチ数という単語を比喩的に使っているだけで,具体的なフィボナッチ数のことなんかどうでもいいのですよ.私は,数式で書くことに執着することがあまり意味がなくて,計算という観点で捉えた方がより本質的な現象があるのではないか,という指摘をしただけですよ.

もしそうだとすると,コンピュータ・サイエンスの存在理由があるのではないかと思っているわけです.

具体的な名前を使うと,その具体的なイメージに引きずられてしまって,そこで比喩的に述べられていることの意図が伝わらないとなると,ちょっと寂しいです.比喩的に物を語るときには,引き合いに出したものの一面的な事象に焦点を当てているのが通例です.

私の話し方は,そういう比喩的な部分が多いので,そのつもりで読んでください.
[0094]根上 生也 1999-05-15 (Sat) 21:09:33

まあ,いろいろと行き違いはあるとしても,計算の困難さを「手間」の一言で片づけしまわないで,もう少し補足してもらえないですか.
[0095]渡辺 治 1999-05-18 (Tue) 10:37:03

そうですね.では,作図の話で言いましょう.(ただ,これもあくまで比喩です.[0090] で根上さんが指摘されたように,証明の難しさを示す例としては,不向きかもしれません.)

計算の困難さにおける「手間」とは,たとえば,作図でコンパスを何回,定規を何回使うか,ということに対応します.つまり,使うことのできる基本演算を何回使うか,ということが「手間」になります.また,作図の「やり方」がアルゴリズムです.同じ角の二等分でも,いろいろな方法(アルゴリズム)がありますよね.

さて,作図問題の「困難さ」を,最適な「やり方」の元での「手間」としましょう.つまり,最低限どの程度の手間が必要なのかを議論するのが,困難さの議論です.その場合,すべての操作の数を考えることもありますが,たとえば,コンパスを使う回数だけに注目して「手間」を評価することもあります.

先に例(比喩)としてあげた「正 n 角形を作図する問題におけるコンパスの使用回数」とは,そういった困難さの議論の一例なわけです.
[0096]渡辺 治 1999-05-18 (Tue) 10:54:09

さて,正 n 角形を作図する際に最低限必要なコンパスの使用回数を議論するにあたり,二つのことを十分に理解する必要があります.

目標に対する理解と手法に対する理解です.

目標に対する理解とは,たとえば正12角形の作図の場合,正12角形を作るとは,どんなことか?ということに対する理解です.ちょうど [0090] で根上さんが指摘されたようなことです.

もう一つの手法に対する理解とは,m 回しかコンパスを使わないということはどういうことか?ということに対する理解です.

実際,作図の不可能性が証明されたのは,コンパスと定規だけで作図するとはどういうことか?に対するきれいな特徴付けが得られたからです.同様に,m 回しかコンパスを使わないでできること,に対するうまい特徴付けがあるかもしれません.そうすると「困難性」の議論は非常にやりやすくなります.

しかし,もしも,仮にもしも「17回しかコンパスを使わないでできること」の特徴付けと「18回しかコンパスを使わないでできること」の特徴付けが,
まったく異なっていたらどうでしょう.つまり,m ごとに,「m 回しかコンパスを使わないでできること」の特徴が,まったく違っていて,同じような枠組みでは議論できなかったらどうでしょう,「困難性」の議論は一気に難しくなるでしょう.

実際の計算の困難性を議論しようとすると,どうしても,こういった難しさがあちらこちらに,それこそ,「犬もあるけば難しさに当たる」くらいいっぱい出てきてしまうのです.
[0097]根上 生也 1999-05-21 (Fri) 09:50:05
困難性が手数に比例したようなものだということはわかりましたが,単に手数が多いとか,少ないとかだけを問題しているのだとると,コンピュータ・サイエンスって,なんだかつまらないことを研究しているんだなあと思う人がいても不思議ではありません.

見るもの,触るものすべてを「難しいです」としか言ってもらえなかったら,犬だっていやになってしまいます.コンピュータ・サイエンティストの言うことなんか聞いたってしょうがないや.自分でなんとかしよう...

そんなふうに思われてしまったら,諸科学の根底を支える基礎科学としては意味がないですよね.

「確かに,難しいことは,難しいんだけれど,実は,こういうわけで難しかったんだよ.」「なるほどね.」という会話になれば,いいのですが.

つまり,計算の困難性を,単なる手数の問題にとどめないで,計算の質とか構造とかの違いから見えてくるものと捉えられないのでしょうか.きっと,そういう計算の質とか構造という観点の提供やその解析方法の提供が,基礎科学としてのコンピュータ・サイエンスに期待されていると,私は思います.

渡辺さんも「17回」と「18回」の特徴づけの差違について,触れていますが,そのへんをもう少し詳しくしりたいです.そこに私が期待している計算の質とか構造とかが隠されているのではないですか?
[0098]渡辺 治 1999-05-21 (Fri) 10:43:06

まず,確認させて下さい.

>見るもの,触るものすべてを「難しいです」としか...

この「難しい」とは,証明が難しいということですよね.(計算の)手間がかかるという意味ではないですよね.
[0099]根上 生也 1999-05-23 (Sun) 11:42:55

両方ですが,どちらかと言えば,逆です.

証明の難しさは,すでに,「何でもありなので,構造が特定しにくい」ということに原因していると,説明してもらっていますよ.それに対して私は,どんな分野でも,新しいものが作られる前には,そういう難しさが付きまとうと主張しました.

というわけで,計算の難しさを,手数の大小の単純比較とは異なる観点で,説明してもらえるといいのですが.

計算の難しさというのは,この計算は10手でできるけれど,こっちの計算は100手かかるので,こっちの方が難しい,というような単純なことではないですようね.少なくとも,コンピュータ・サイエンスのことを知らない人は,計算の手数とか,手間というと,値の単純比較以上の観点しか持っていないと思います.
[0100]渡辺 治 1999-05-24 (Mon) 03:45:48

とすると,根上さんの [0097] の発言は,私の [0096] の発言を誤解されているようですね.まず,その点から.

私はつねに「手間がかかる」という意味での計算の難しさについては,「困難」という用語を使っています.そして,そのたの難しさ,たとえば,証明の難しさについては「難しい」という風に言い分けています.([0091] 参照.)ですから,[0096] の

>実際の計算の困難性を議論しようとすると,どうしても,こういった難し
>さがあちらこちらに,それこそ,「犬もあるけば難しさに当たる」くらい
>いっぱい出てきてしまうのです.

は,証明が難しい予想がいっぱい出てきてしまう,という意味です.数学の分野でも,難しい予想がごろごろしている分野はありますよね.でも,だからと言って,

>見るもの,触るものすべてを「難しいです」としか言ってもらえなかった
>ら,犬だっていやになってしまいます.コンピュータ・サイエンティスト
>の言うことなんか聞いたってしょうがないや.自分でなんとかしよう...

とはなりませんよね.(そもそも自分でなんとかできるくらいならば,数学者がとっくに証明している?)

一方,「手間がかかる」という意味での困難な問題は,多いですが,そうでない問題も非常に多くあります.そうでなくては,アルゴリズムの設計屋さんが実際には活躍できませんよね.
[0101]渡辺 治 1999-05-24 (Mon) 03:57:41

さて,話を肝心なところに移しましょう.根上さんは

>計算の難しさというのは,この計算は10手でできるけれど,こっちの
>計算は100手かかるので,こっちの方が難しい,というような単純な
>ことではないですようね.

と言われましたが,まさに,その通り単純なことなのです!たかが手数の評価で,何が重要なのか?と思われるかもしれません.深遠で崇高な基礎理論の仲間に入れる価値があるのか?と.

でも,昔の議論 [0002,0003,0004] を思い出してください.計算の真の価値を示すことの重要性については,皆さん口にされましたよね.それを突き詰めていくと,真の価値を示すには,手数の評価が重要になるのです.

問題 X に対して,誰かが(通常のパソコン上で)2時間で解くプログラムを作ったとします.その真の価値を議論するには,そもそも問題 X を解くのにどれくらいの手数が必要かを明確にする必要があるのです.
[0102]根上 生也 1999-05-24 (Mon) 07:31:29
欠番
[0103]根上 生也 1999-05-24 (Mon) 07:32:48
誤解の指摘は了解です。

「計算の困難性」と「証明の難しさ」ですね。

私もこの使い分けをすることにします。
[0104]松井 知己 1999-05-26 (Wed) 06:13:38

うっかり寝過ごしてしまいました.
すいません.
作図の例に共感したのは,
「計算の困難性の証明が難しいことが,
よく分かって,いいですね.」と思ったからです.

[0105]松井 知己 1999-05-26 (Wed) 06:29:34

根上さんの
>計算の難しさというのは,この計算は10手でできるけれど,こっちの
>計算は100手かかるので,こっちの方が難しい,というような単純な
>ことではないですよね.
というのは,なかなかショックを受ける言葉です.
私も,渡辺さんの言うように,
「たかが手数の評価が,非常に重要なのだ」と思っています.

>困難性が手数に比例したようなものだということはわかりましたが,
>単に手数が多いとか,少ないとかだけを問題しているのだとると,
>コンピュータ・サイエンスって,
>なんだかつまらないことを研究しているんだなあと
>思う人がいても不思議ではありません.
「そう思う人」は,そんなに沢山存在するのでしょうか.
いや,そうかもしれない.

「そう思う人」が存在する理由のひとつが,
「手数が多いとか,少ないとかの問題」
が難しくないものに見えるからなのでしょうね.

渡辺さんの主張しているのは,
「手数が多いとか,少ないとかの問題」
は「難しい」ということですよね.
例えば,「手数が少なくできない」(すなわち「計算が困難である」)
という事を示すのは,
作図の例でもわかるように,難しい事でなのですね.

[0106]根上 生也 1999-05-27 (Thu) 05:46:17
例えば,テクノロジーが進歩して,今よりも10倍早いコンピュータが登場してしまえば,10手と100手の差なんて意味がないでしょう.コンピュータ・サイエンスでは,そういうテクノロジーの進歩によって吸収もしくは消滅してしてしまう研究しかしないのだとすると,そういうのって,基礎科学なのでしょうか?(私がそう思っているわけではないですよ.)

計算量のオーダーやらの概念を知らない人(数セミの読者には多いのでは)とかがここまでの議論を見ていると,そういう誤解をしかねないと思うのですが.

作図の話にしても,渡辺さんと松井さんだけの間の暗黙の了解があるのではないですか.
渡辺さんの発言の字面だけを追うと,証明の難しさに関して,「特徴づけに差がある」と述べているだけで,その差とは何ナノかがわかりません.文脈からだけだと,やっぱり「手数に差がある」という以上の意味が出てこないような気がするのですが.
[0107]根上 生也 1999-05-27 (Thu) 05:49:30

いずれにせよ,もう少ししたら,「計算の困難性の困難性」(間違いではありません)の話をしたいと思います.これは,単純な手数の大小以上の議論を含む内容ですよ.

この予告を念頭において,私の疑問に答えてほしいのだけれどな.
[0108]渡辺 治 1999-05-27 (Thu) 10:36:50

欠番
[0109]渡辺 治 1999-05-27 (Thu) 11:09:07

いま,忙しいんだけど,でも議論が進んでしまうと思うと仕事が手につかない...という訳でひとこと(麻薬のようですね)

根上さんの話を伺っていると,「コンピュータ・サイエンスらしさを示す手法を見せてくれ」と言っているように思えます.でも,それを示すのはかなり難しいのです.というのも,現在,困難性の解析のために我々が使っている手法は,まだまだ数学の土俵から大きく踏み出たものではないからです.

一方,私がこれまで述べたかったのは,コンピュータ・サイエンスが扱っている対象の特異性,数学が従来扱ってきた対象との違いなのです.この違いこそが新しい科学への分かれ目である,と予言したいのです.その違いに根ざした新しい解析手法や,もっと大きく言えば,学問の進み方は,大雑把にいえば,これから出てくるということです.


元ファイルの目次へ, 鼎談総集編の表紙