タグ付けされた質問 「formal-languages」

形式言語、文法、オートマトン理論に関する質問

3
文脈自由文法にパラメータを追加するとどうなりますか?
私は、インデンテーションに敏感な言語の文法を考えていましたが、パラメータと組み合わせた場合、CF文法がトリックを行うようです。例として、ANTLRのような形式の単純化されたPython文法の次のフラグメントを考えます。 // on top-level the statements have empty indent program : statement('')+ ; // let's consider only one compound statement and one simple statement for now statement(indent) : ifStatement(indent) | passStatement(indent) ; passStatement(indent) : indent 'pass' NEWLINE ; // statements under if must have current indent plus 4 spaces ifStatement(indent) …

2
単項言語は、その指数が線形関数である場合に正規ですか?
正式な言語とオートマトンコースの現在の割り当てを行っている間、単項言語(適切な用語であることを望みます)、つまり単一の文字に基づいた言語に関する演習に行き詰まりました。ただし、特定の演習については聞きたくありませんが、私が思いついたはるかに一般的な推測については聞きたくありません。 ましょうと。私の推測は次のとおりです:Σ ={a}Σ={a}\Sigma=\{a\}L = {af(n )∈Σ∗:N ∈N0}L={af(n)∈Σ∗:n∈N0}L=\{a^{f(n)}\in\Sigma^*:n\in\mathbb N_0\} Lは 規則的である⇔ ∃ のx 、y∈ N0:f(N )= X ⋅ N + YL 定期的です⇔∃バツ、y∈N0:f(n)=バツ⋅n+yL\text{ is regular}\Leftrightarrow \exists x,y\in\mathbb N_0:f(n)=x\cdot n+y この質問は以前に科学的な治療を見たことがありますか?「明らかに」true / falseですか? 私には、明らかに「」方向は1つがちょうどでDFAを構築することができますので、本当であるを循環していることの状態後の状態を一読した状態と、それは状態番号である場合に限っ受け入れ。⇐⇐\Leftarrowx + yバツ+yx+yバツバツxyyyyyy

2
「生産」という言葉は、どのようにしてコンピューターサイエンスの文脈で「ルール」という言葉と同義語になったのでしょうか。
私は正式な言語と生産ベースシステム(ルールベースシステム)を研究していますが、これら2つの「生産」と「ルール」という言葉がコンピューターサイエンスの多くの文脈で同じことを意味する理由について少し混乱しています。 英語では、同じことを意味していないようです。私は英語のネイティブスピーカーではありませんが、ルールは人について話すときにやるべき/すべきでないこと、または何度も繰り返されると同じ結果が得られることを指し、いくつかのルールで機能すると言います(毎回同じであるいくつかのプロトコル/手順によって定義される動作方法)。 生産とは、完全に異なるものを指します...現在製造/生産されている物理的な商品またはソフトウェアのフェーズ。物理的または芸術的作品、文章、絵、誰かの身体的または精神的な能力で作られたものを作る行為。特定のものが生産されると言います。 しかし、コンピューターサイエンスでは、英語ではまったく異なるものを表すこれらの単語は、CSでは同じものを意味します。この用語はどのようにしてCSでも似たものになりました。 コンピュータサイエンスのための何らかの語源辞書がありますか。コンピュータサイエンスの用語がどのようになったのかを教えてくれる辞書? ところで、興味深い事実:どちらの生産もルールもこのStack Exchangeサイトのタグではありません。

3
決定不能な問題とその否定は決定不能
それにもかかわらず、多くの「有名な」決定不能な問題は、少なくとも半決定的であり、それらの補数は決定不能です。何よりも1つの例は、停止する問題とその補完です。 しかし、問題とその補数の両方が決定不可能であり、半決定不可能である例を誰かに教えてもらえますか?対角化言語Ldについて考えましたが、補数が決定できないとは思えません。 その場合、チューリングマシンMは識別しようとしている言語の一部であるため、代わりに認識される必要がある文字列を「失う」ことができるということですか?

1
計算の複雑さとチョムスキー階層
一般的に、計算の複雑さとチョムスキー階層との関係について疑問に思っています。 特に、ある問題がNP完全であることを知っている場合、その問題の言語は文脈自由ではないということになりますか? たとえば、クリーク問題はNP完全です。クリークを持つモデルに対応する言語は、Chomsky階層の複雑さを最小限に抑えているということですか(モデルを文字列としてエンコードするすべて/いくつかの方法について)?

2
{ww | …}コンテキストフリー?
言語定義LLLとしてL = { 、B } *を - { wはW | W ∈ { 、B } * }L={a,b}∗−{ww∣w∈{a,b}∗}L = \{a, b\}^* - \{ww\mid w \in \{a, b\}^*\}。つまり、LにLLは、2回繰り返される単語として表現できない単語が含まれています。あるLのLL文脈自由かどうかは? LLLをa ∗ b ∗ a ∗ b ∗と交差させようとしましたa∗b∗a∗b∗a^*b^*a^*b^*が、まだ何も証明できません。パリクの定理も調べましたが、助けにはなりません。

1
パワーセットのサブセットの最短表現を見つけるにはどうすればよいですか?
次の問題に対する効率的なアルゴリズム、またはNP硬さの証明を探しています。 ましょうセットとすることがのサブセットのセット。ごとに、となるが存在する最小長のシーケンスを見つけます。。Σ A ⊆ P(Σ )Σ W ∈ Σ * L ∈ A のk ∈ N { W K + I | 0 ≤ I &lt; | L | } = LΣ\SigmaA⊆P(Σ)A\subseteq\mathcal{P}(\Sigma)Σ\Sigmaw∈Σ∗w\in \Sigma^*L∈AL\in Ak∈Nk\in\mathbb{N}{wk+i∣0≤i&lt;|L|}=L\{ w_{k+i} \mid 0\leq i < |L| \} = L たとえば、場合、単語は問題の解決策です。には、場合はです。A = { { a 、b } …

4
グループ理論と形式言語のブリッジ定理
数学グループとCS フォーマル言語、またはチューリングマシンなどのその他のコアCSコンセプトを関連付けたりリンクしたりする自然な方法または注目すべき方法はありますか? 参照/アプリケーションを探しています。ただし、セミグループとCS言語の間のリンク(つまり、有限オートマトン経由)を認識していることに注意してください。(セミオートマトンに関するこの文献は「グループオートマトン」を見たことがありますか?) 私は何年も前に、TM遷移テーブルをバイナリ操作、場合によってはグループ、おそらくTM状態テーブルの何らかの対称性に基づいて変換する1つの論文を見ました。それは特にそれを探求しませんでしたが、それも除外しませんでした。 また、特に、有限群の分類に関する数学研究の大部分に関して、TCSで何らかの意味や解釈がありますか?数学的研究のこの巨大な建物の「アルゴリズムレンズ」ビューとは何ですか?計算の潜在的な隠された構造について「言っていること」は何ですか? この質問は、他のいくつかのメモから一部影響を受けています: TCSでの代数構造の使用 グロモフの定理に関するRJリプトン

1
セマンティクスとは何ですか?
多くの一般的な言語があります。しかし、コンピューター科学者は、これらの言語でのプログラムの動作を明確かつ明確にプログラムの動作を論証する(たとえば、その身元を証明する)には、それらを別のよく理解された言語に翻訳する必要があると言います。彼らはそのような言語を「セマンティクス」と呼んでいます。著者は多くのセマンティクスの1つを提案します。彼らはその構造の意味と、あなたの言語をどのように翻訳できるかを説明します。そうすれば、誰もがあなたのプログラムを確実に理解するでしょう、と彼らは言います。 よさそうだ、まだ、私は何かを理解していません。彼らは最初の言語を理解するために別の言語を導入すると言っていますか?なぜ私たちは元のものよりもそれをよく理解するのですか?なぜこのセマンティクスがそれよりも優れているのでしょうか?Cのセマンティクスを記述するために、別の言語を発明するのではなく、Cのセマンティクスをすぐに学習しないのはなぜですか?同じことが構文にも当てはまります。構文に関して同じ質問をしないのはなぜですか? PSコメントでは、セマンティクスは別の言語やその意味への翻訳を意味しないと聞いています。しかし、VHDLのFormal Semanticsは、何かを1つの方法でしか理解できない場合、それを理解せず、別の(既知の)言語に翻訳するメカニズムを備えた言語に「意味」を指定できると述べています。つまり、「意味論は形式的なシステム間の関係」です。Semantics of Programming Languagesの Hennessyは、セマンティクスが BNFまたはシンタックスダイアグラムとして提供されている場合、セマンティクスによってプログラムの「意味」を正式に処理できると述べています。言語でない場合の正式なシステムとは何ですか? PS2ゲートの相互接続への特定のHDLプログラムのHW合成は、セマンティクス抽出のプロセスであると言えますか?その後、(高レベルの)説明を、理解できる(低レベルの)言語に翻訳します。

2
固定言語による正しい商に対する閉鎖
私はあなたの次の支援を本当に楽しみにしています: 以下のための任意の固定以下の演算子の下の閉鎖があるかどうかを決定するIの必要性:L2L2L_2 Ar(L)={x∣∃y∈L2:xy∈L}Ar(L)={x∣∃y∈L2:xy∈L}A_r(L)=\{x \mid \exists y \in L_2 : xy \in L\} Al(L)={x∣∃y∈L:xy∈L2}Al(L)={x∣∃y∈L:xy∈L2}A_l(L)=\{x \mid \exists y \in L : xy \in L_2\}。 関連するオプションは次のとおりです。 通常の言語は、 respの下で閉じられます。、すべての言語A r L 2AlAlA_lArArA_rL2L2L_2 一部の言語場合、通常の言語はそれぞれの下で閉じられます。、および一部の言語場合、通常の言語は respの下で閉じられません。。A l A r L 2 A l A rL2L2L_2AlAlA_lArArA_rL2L2L_2AlAlA_lArArA_r 私は(1)の答えは(2)であると信じていました。なぜなら、と単語を取得すると、がに変わる場所を推測できるオートマトンを構築できるからですが、それを検証する必要がありますに属し、それが規則的でない場合、それはそれをどのように行うのでしょうか? その答えは(1)です。w∈Lw∈Lw \in Lw=xyw=xyw=xyxxxyyyyyyL2L2L_2 これらの演算子を正しく分析し、通常の言語がそれらの下で閉じられているかどうかを判断するには、どうすればよいですか?

2
通常の言語が左商の下で閉じていることを証明する方法は?
LLLは、アルファベット正規言語です。に関するの左商は言語 L のw ∈ Σ * W - 1 L := { V | W V ∈ L }Σ = { a 、b }Σ={a、b}\Sigma = \{a,b\}LLLW ∈ Σ∗w∈Σ∗w \in \Sigma^*w− 1L := { V | W V ∈ L }w−1L:={v∣wv∈L}w^{-1} L := \{v \mid wv \in L\} が正規であることをどのように証明できますか?w− 1Lw−1Lw^{-1}L


4
なぜ正規表現に順列がないのですか?(通常の言語でこれができるように見えても)
問題 正規表現で順列を取得する簡単な方法はありません。 順列:数または文字の種類を変更せずに、単語 ( "aabc")を別の順序に取得する。w=x1…xnw=バツ1…バツんw=x_1…x_n 正規表現:正規表現。 確認のため: 「繰り返しのない正規表現順列」答えは、これがより単純であると仮定して、正規表現の代わりにJavaScriptコードを作成します。 「特定のテキスト内の特定の単語のすべての順列を見つける方法」 –答えは正規表現も使用していません。 「すべての{1、2、3、4}を繰り返しなしで照合するための正規表現」 –答えは正規表現を使用しますが、適応可能でも単純でもありません。 この答えはさらに、「正規表現はあなたが望んでいることを実行できません。文字列から順列を生成することはできません」と主張します。 私が探しているソリューションの種類 それは次のような形式でなければなりません: »aabc«(またはその他の開始括弧と終了括弧を使用できます) (aabc)!((abc)に似ていますが、最後に別の記号が付いています) [aabc]!([abc] +に似ていますが、最後に別の記号が付いています) これらのソリューションの利点 彼らです: 簡単 適応可能 再利用可能 これが存在する理由 正規表現は、通常の言語の文法を記述する方法です。彼らはあらゆる種類の通常の言語であるための全力を持っています。 通常の言語は順列に対して十分強力であるとしましょう(以下の証明)–これを表現する簡単な方法がないのはなぜですか? だから私の質問は: (なぜ)私の証拠は間違っていますか? それが正しい場合:順列を表現する簡単な方法がないのはなぜですか? の証拠 正規表現は、正規言語の文法に注意する1つの方法です。通常の言語の文法を記述できます。 通常の言語(アルファベット内の文字数が有限)を説明する別の方法は、(状態の数が有限の)非決定的オートマトンです。 文字数に制限があるため、このオートマトンを作成できます(例:正式:下記を参照) 「abbc」の順列を受け入れる文法: (上の数字を求めてください、おそらく誰かがこの部分をより見栄えよくする方法を知っています) s-&gt;ah¹ s-&gt;bh² s-&gt;ch³ h¹-&gt;bh¹¹ h¹-&gt;ch¹² h²-&gt;ah¹¹(タイプミスなし!同等) h²-&gt;bh²² h²-&gt;ch²³ h³-&gt;ah¹² h³-&gt;bh²³ h¹¹-&gt; bc h¹¹-&gt; cb …

1
POSIX BREはすべての標準言語を表現できますか?
POSIX.1-2008で定義されている「Basic Regular Expressions」は代替をサポートしていないようですa|b(ただし、一部のgrep実装はエスケープバージョンを認識しますが\|)。 定義上、通常の言語は結合の下で閉じられているため、これはPOSIX BREが有限オートマトンよりも表現力が低いことを意味しますか?または、他の構造を使用して交互をシミュレートする方法はありますか?

3
2つの正規表現操作だけでは表現できない通常の言語
すべての正規言語は正規表現で表現できると思っていました(言語が正規の場合は正規表現で表現できます)が、そのためには3つの正規操作(連結、結合、スター)がすべて必要であると言われました保持する。 たとえば、共用体と連結の正規表現操作(3つのうち2つ)しか使用できない場合、これら2つだけでは説明できない通常の言語があると言われました。 Kleeneスターとユニオンだけで同じです。これのいくつかの例は何ですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.