Tuesday, April 30, 2013

文法、ロジック、数学、物理学


西洋では文法とロジック(論理学)は強い関係があるが、日本語文法とロジックの関係は勉強不足のためかあまり聞かない。

コンピュータ言語というのがある。 Japan-wiki (2013-05-01付け) の説明は次の通り。


コンピュータ言語(コンピュータげんご)とは、コンピュータ技術において用いられる人工言語の総称であり、形式言語である(親しみやすさなどの目的で、自然言語風にデザインされることもある)。

 ”


コンピュータ言語は<間違い>と<曖昧さ>がないことが特徴。ソフトであるコンピュータ言語はもちろん、ハ-ドであるコンピュータの心臓部のCPUの中、また周辺機器の中にもロジック回路がたくさんある。ロジック、ロジック回路は<間違い>と<曖昧さ>がないように設計、製造されてい
る。

 形式言語は形式的な言語という意味ではなく、一般的には、意味を除いて言葉の形(from)だけ、あるいはこれを意味を取り除いた記号として見なし、記号の並び具合, つながり具合(syntax)だけからなる言語。しかし、並び具合, つながり具合には意味があり、また記述(表現)するためには意味がからんでくる。


またコンピュータ言語はプログラミング言語でもあるが、プログラミング言語はコンピュータを間違い(エラー) なく動かすため人工言語。コンピュータは電子)計算機という日本語があるが、コンピュータに使われるプログラムの日本語はないようだ。あきらかに<目録>ではない。


引用が多くなるがJapan-wiki (2013-05-01付け) の<プログラミング言語>の説明の中に次のような記述がある。


自然言語との違い

プログラミング言語は、人間がコンピュータに命令を指示するために作られており、コンピュータが曖昧さなく解析できるように設計されている。多くの場合構文上の間違いは許されず、人間はプログラミング言語の文法に厳密にしたがった文を入力しなければならない。

これに対して、一般に自然言語の文法規則はプログラミング言語にくらべてはるかに複雑であり、例外も多い。ただしこれは規則が一般にいいかげんであったり、曖昧であるということではない。一般に自然言語の規則は奥が深く、驚くほどの合理性に裏打ちされていることがある。

また、自然言語の意味は、その文脈(コンテキスト)によって定まる部分も多い。これに対して、プログラミング言語は、コンピュータによって扱いやすいように、文脈によって意味が変わることができるだけないように設計されている。

自然言語は、誤用や流行などにより長い時間をかけ、たくさんの人間の利用により、意図せざる形で変化していく。しかし、プログラミング言語の規則は、言語設計者の意図と作業によってのみ、変更される。

"

文法と深い関係がある言葉にアルゴリズムというのがある。

さらに引用が多くなるがJapan-wiki (2013-05-01付け) のアルゴリズムの説明は



アルゴリズム: Algorithm)とは、数学コンピューティング言語学、あるいは関連する分野において、問題を解くための手順を定式化した形で表現したものを言う。算法(さんぽう)と訳されることもある。
問題はそのを持っているが、アルゴリズムは正しくその解を得るための具体的手順を与える。さらに多くの場合に効率性が重要となる。
コンピュータにアルゴリズムを指示するための(電子)文書をプログラムという。人間より速く大量に正しい結果を導くことができるのがコンピュータの強みであるが、そのためにはプログラムは正しく効率的なアルゴリズムに基づくことが必要である。



冒頭で述べた<西洋では文法とロジック(論理学)は強い関係がある>はこのアルゴリズムがかかわっている。

グラマースクールgrammar school)というのがあるが、これは、<イギリスなどの英語を話す国の教育史における数個の異なった学校の一つで、中世のグラマースクールの当初の目的は、ラテン語を教えることにあった。>(Japan-wiki (2013-05-01付け) 。 なぜラテン語を教えたかというと、宗教キリスト教)と当時の欧州の国際語が関係しよう。またラテン語を教えたいうことはラテン語文法も教えたということだろう。日本の学校が現代の世界の国際語である英語と英文法を教えるのに似ている。

文法を学ぶとその副作用(副効果)としてロジックを学ぶことになる。だが、グラマースクールでこれが意識されたのはずっと後のことだろう。いずれにしても、文法とロジック(論理学)、さらには数学とのは関係が深い。文法、ロジック(論理学)、数学に共通しているのは程度の差はあれ、抽象性だろう。<A は B である。>、<A は B だ>, < A = B>のA、B は日常の言語ではなんらかの意味を持つモノやコトだが、文法、ロジック(論理学)、数学では任意で、抽象化されている。


上述の<自然言語との違い の説明の中に一般に自然言語の文法規則はプログラミング言語にくらべてはるかに複雑であり、例外も多い。ただしこれは規則が一般にいいかげんであったり、曖昧であるということではない。一般に自然言語の規則は奥が深く、驚くほどの合理性に裏打ちされていることがある。>というのがある。sptt Notes on Grammar で相手にするのは自然言語の文法である。物理学は自然言語の文法(学)ににている。物理学は自然の中の法則を見つけ出す学問である。文法(学)は自然言語の中の法則を見つけ出す学問である。


ドイツの数学者ヒルベルトにヒルベルトプログラムというのがある。公理論と数学の無矛盾性の証明に関する計画>のことである。そしてこれはゲ-デルの不完全性定理によって挫折させられる。内容を知らないと何のことだかわからないだろうが数学しろうとの目から見れば、数学はルールに基づいた、さらにはルール作りの学(したがって、大きな自由がある)。 しかしルールには必ず例外がある。ゲ-デルの不完全性定理数学でルールの範囲をでないので例外があるはずだ。したがって、ヒルベルトはそんなに悲観しなくてもいいのだ。これに反して法則は、神が作ったか自然が作ったか知らないが、完全であるべきものだ。

 

 sptt

No comments:

Post a Comment