正式な言語を使用して数学表記を研究できますか?


8

質問:最適な表記法の研究にそれをどのように適用するかを論じる正式言語またはプログラミング言語理論の紹介テキストはありますか?

特に、スタック言語、解析ツリー、インデックスとは何か、そして特定のタイプの表記法が指数関数的な冗長性につながる時期を予測する方法に興味があります。

数学の専攻として私が学んだ唯一のコンピュータサイエンスは、アルゴリズムとグラフ理論、および複雑さの理論とブール関数の非常に控えめな中級者でした。したがって、これを論じている唯一の本が入門書ではない場合、指数表記の爆発を論じているそのような本と、私の質問に直接取り組む本を準備する入門書をリストした回答の両方に感謝します。

コンテキスト:この質問は、主にPhysics.SEへの回答に触発されており、次のように述べています。

括弧はスタック言語(Chomskyの分類では文脈自由文法)によって解析されるので、括弧はスタックを使用して解析できないため、テンソルインデックスの縮約を再現する括弧表記がないことを(厳密に)証明するのは非常に簡単です。グラフ。括弧は構文解析ツリーを生成し、グラフ内には常に指数関数的に多くの最大ツリーがあるため、表記には指数関数的な冗長性があります。

残りの回答では、「指数表記の爆発」の他の例について、たとえば計算生物学のペトリネットを使用して説明します。

たとえば、ここで言及されているよう、関数と引数に適用される関数が明確に区別されていない場合、数学表記が解析しにくい他の例もあります。この関数は、引数になり、引数は、たとえば、関数となる場合には特に混乱になることができ、ここで


3
この質問は非常に広範に聞こえます。絞り込めますか?また、用語を定義できますか?「最適な表記法」とは正確にはどういう意味ですか?「指数冗長」または「指数表記ブローアップ」とはどういう意味ですか?記法について話すとき、どのような文脈で?どのようなステートメントを表現するための表記ですか?
DW

3
また、解析ツリーなどが何であるかを知りたいと言っています。まあ、それをすべて説明するのは長すぎて単一の回答では提供できません。標準のリファレンス(例:教科書、オンラインコースノート)を読んでから、読んでいるときに特定の質問がある場合は、戻って混乱している特定の事項について尋ねることをお勧めします。
DW

3
まだ広すぎると思います。1つのトピックへの参照をリクエストする方がよいでしょう。また、スタック言語、解析ツリー、およびインデックスをカバーする参照を要求するだけの場合、残りのすべて(表記の冗長性など)は無関係で邪魔になるため、削除する必要があります。最後にそして最も重要なこと:あなたはすでにどんな研究をしましたか?あなたはすでにどんな参考文献を見つけましたか?なぜ拒否したのですか?参照の評価に使用する予定の基準は何ですか?たとえば、あなたはすでにどんな背景を持っていますか、そして教科書はどのレベルにあるべきですか?
DW

3
基本的に、フォーマル言語理論のリファレンスが必要です。標準的なものはinfolab.stanford.edu/~ullman/ialc.htmlですが、このトピックに特化した大学のコースがあることを知っています。トピックは非常に幅広いので、午後に取り上げられるとは思わないでください;-)
chi

3
「最適な表記法」とは何ですか?
ラファエル

回答:


6
  1. 正式な言語理論は、言語のセマンティクスには関係しません。私たちは言語を何かを伝えるためのメカニズムと考える傾向があるので、それは奇妙に思えるかもしれませんが、それについて考えると、言語を理解する実際には2つのレベルがあります:言語はストリームである表面レベル語彙素、および表面表現から多かれ少なかれ分離された基礎となる表示レベル。(ChomskyはCFGのいくつかの制限を回避するために中間の「変換」レベルを提案しましたが、ここでは関係ありません。)したがって、異なる言語で「同じこと」を言うことは可能です。チョムスキーはワーフィアンではありません。(簡単な概要についてはWikipediaを参照してください)。

  2. それにもかかわらず、文脈自由文法は、正しい発話と正しくない発話を区別するには十分ではありません。Chomskyは古典的な例を提供しました:無色のアイデアは猛烈に眠ります(彼は間違ってつづり、USianです)。再びウィキペディアを参照してください。(残念ながらウィキペディアにはカナダ英語版がありません。)構文エラーと意味エラーを正確に区別することは不可能ではないにしても難しいので、CSの分野ではこのトピックについてかなりの議論がありましたが、ここでは説明しません。私はいつもトラブルに巻き込まれるので、ここで議論しようとさえします。ただし、多くの人間の言語に存在する1つの古典的な文法規則、名詞/動詞の一致を特定できます。同意しないSNPsgVPsg|NPplあなたralVPplあなたral、しかし、より複雑な合意規則(たとえば、性別)を使用すると、列挙が言語で手に負えなくなることは簡単にわかります。

  3. NPSNPバツVPバツバツ

  4. それがまさにテンソル指数の縮約の問題です。テンソルインデックスの縮約は、インデックス変数の使用に特定の要件を課します。インデックス変数は、厳密に2回使用する必要があります。その場合、左側に配置することはできません。ハンドサイド。(私は物理学者ではないので、インデックス変数を正確に2回表示する必要があると言ってしまいがちですが、自由変数とプレースホルダー変数には意味上の違いがあります。これは、式。)ここでは、インデックス変数の単純な有限コレクションはなく、使用されるプレースホルダーの数に制限はありません。さらに、新しい名前が式の他の場所で使用されていなければ、プレースホルダーの名前を変更してもセマンティクスには影響しません。

  5. 前の例のように、文脈自由文法は文脈の一致を捕捉できないという主張を厳密に証明することは実際に可能です。それは引用された主張が主張していることと関係があると思います。あなたがどれほど素晴らしくてかによっては、もっと学ぶのは興味深いかもしれませんが、あなたが求めていると思われる哲学的または物理的な洞察に特に関連することになるとは思いません。

  6. 数学的表記での不幸な表面形態に関する他のリンクされた記事は、単なる逸話です。私の知る限りでは、ある人の魚が別の人のポイズンであるという有名なジョークがロマンスの言語学について漠然と洞察していないように、それらのどれも、正式な言語理論に関連する深いまたは表面的なポイントを作成していませんおかしい(IMO)。


これは興味深いです。言語学とコンピュータサイエンスの間にこのような重複があることに気づきませんでした。これは、テンソル/アインシュタイン表記について私を非常に混乱させるものの1つが、フリー変数とプレースホルダー変数の区別であるため、非常に関連性があるようです。たとえば、math.stackexchange.com / questions / 2001893 /を参照してください。レコードについては、問題の答え私は自分自身の議論を理解していませんが、参照は括弧表記であり、インデックス表記自体ではないようだと述べました。
Chill2Macht

つまり、括弧が「スタック解析」されているかどうかは、それらが「スタック言語」であることを意味します。これは、それらが「構文解析ツリー」に対応することを意味します。グラフのサイズで指数的になるので、どういうわけかこれは、すべて単一のインデックス式と同じことを意味する指数式に多くの括弧式があることを意味しますか?スタック(LIFO)とは何か、最大スパニングツリーとは何かは知っていますが、構文解析または構文解析ツリーの意味がわかりません。
Chill2Macht

2
文脈自由文法を解析するには、「プッシュダウンオートマトン」が必要です。これは、スタックを備えた有限状態マシンです。(適切なアクションを見つけるには、オラクル、アルゴリズム、または忍耐力も必要です。理論上のオートマトンは非決定的です。)したがって、「スタック言語」です。括弧式の問題は括弧ではなく、むしろインデックスがないという事実です。
rici 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.