いもあらい。

プログラミングや哲学などについてのメモ。

言語の限界に関する考察(5)。

2007-11-24 23:27:00 |  Study...
言語の限界に関する考察(4)。の続き。

自己言及問題



さて、言語について考察を加えていくときに、重要なことが一つある。
それを示すために、まず図3を見てもらいたい。
自分はこの問題を自己言及問題と呼んでいる。
この解答の一つは図4に示したようなもので、実際に数えてもらえば分かると思うが、確かに枠内に0の個数は1個、1の個数は7個、…、とちゃんとした答えになっている。

     【図3】         【図4】
┌──────────┐ ┌──────────┐
│この枠内に次の数字が│ │この枠内に次の数字が│
│いくつずつあるかを │ │いくつずつあるかを │
│数字で記入しなさい。│ │数字で記入しなさい。│
│0( )  5( )│ │0(1)  5(1)│
│1( )  6( )│ │1(7)  6(1)│
│2( )  7( )│ │2(3)  7(2)│
│3( )  8( )│ │3(2)  8(1)│
│4( )  9( )│ │4(1)  9(1)│
└──────────┘ └──────────┘


この問題で重要なのは、数字の二面性である。
すなわち、この問題において数字は数えるものであると同時に数えられるものでもあるということである。
例えば、1の括弧の中に入る数字は、この枠内に1が何個あるのかというのを数えるものであるが、それと同時にその数字は数えられる数字でもあり、解答例の場合、それは7という数字の1つとして数えられている。
そして、この二面性こそがこの問題に動的な要素を与え、この問題を困難なものとしている。*8

さて、言語について考えていこうとしたとき、言語にも同様な二面性があることに気がつくと思う。
すなわち、今言語について考えていこうとしているわけだが、そのとき何を用いているのかといえば、それは今まさに考えようとしてる対象でもある言語に他ならない。

この二面性は、次のような困難を生むことになる。

言語について考えること



言語について考察を加えることを考えよう。
そのとき、考察は当然言語を通して行われる。
では、その考察からなんらかの結論が得られたとして、その考察のときに用いた言語いうのも、その結論をちゃんと満たしているのだろうか?
こう言うと、「考察のときに用いた言語」に対して検証を行えばいいだけなのではないか、という声が聞こえてきそうである。
しかし、その検証はどうやって行えばいいのだろうか?
やはり言語を用いて検証が行っていくのでは、今度はそこで用いられた言語について検証を行わなければならないだろう。
そして、その検証においても言語が用いられたのなら、今度はさらにそこで用いられた言語について検証を行わなければならないだろう。
これでは、無限に続く言及に陥ってしまう。
これは、言語を用いて言語に対して考察を加える以上、それが本当にどんな言語に対しても成り立っているのかということは、決して検証出来ないということを意味する。

これは方法論の問題で、もっとうまい別の検証方法があるのだろうか。
それとも、これは言語の考察に対する一つの限界の限界を意味するのだろうか。
このことについて、少し違った視点からアプローチしていってみたいと思う。

(つづく)

*8 これに引数を与える問題を考えてたとき、括弧に入る数字を1 桁と限定した場合にはある程度のアルゴリズムが考えられるが、その限定を外したときどう解いたらいいのかは自分には見当もつかない。
・・・とレポートには書いたのだけれど、そのあと整数計画問題として記述出来ることが分かった。
これについては書きかけのエントリ(自己言及問題(整数計画問題編)。)になっている。。。