1 CNFからDNFへの変換がNPハードであることの証明 この質問は、Computer Science Stack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 CNFからDNFへの変換がNPハードであることをどのように証明できますか? 私は答えを求めているのではなく、それを証明する方法についていくつかの提案をしています。 20 complexity-theory np-hard satisfiability sat-solvers normal-forms
2 ラムダ計算の「適用順序」と「通常順序」 適用順序:関数自体を評価する前に、常に関数の引数を完全に評価します- (λx.x2(λx.(x+1) 2)))→(λx.x2(2+1))→ (λx.x2(3))→ 32 → 9(λx.x2(λx.(x+1) 2)))→(λx.x2(2+1))→ (λx.x2(3))→ 32 → 9(\lambda x. x^2(\lambda x.(x+1) \ \ 2))) \rightarrow (\lambda x. x^2(2+1))\rightarrow \ (\lambda x. x^2(3)) \rightarrow \ 3^2 \ \rightarrow \ 9 通常の順序:式はのように外側から縮小されます- (λx.x2(λx.(x+1) 2))→ (λx.(x+1) 2)2→ (2+1)2 →32 → 9(λx.x2(λx.(x+1) 2))→ (λx.(x+1) 2)2→ (2+1)2 →32 → 9(\lambda x.x^2 … 14 logic lambda-calculus normal-forms
3 CFGのチョムスキー標準形のような標準形の重要性 文脈自由文法は文脈自由言語を表すために使用できることを理解しています。曖昧さがあるかもしれません。ChomskyやGreibachの正規形のような正規形もあります。その必要性を理解できませんでした。 なぜそれらは言語の理論において重要なのですか?私が言及したすべての教科書は、これらの通常の形式について語っていますが、その重要性については何も語っていません。 12 formal-languages context-free formal-grammars normal-forms
1 DNFからCNFへの変換:簡単または難しい CNFからDNFへの変換がNP-Hard(および関連するMathスレッド)であることを証明するスレッドに関連して: DNFからCNFへの他の方向はどうですか?簡単ですか、難しいですか。 このペーパーの 2ページ目では、「CNF表現からDNF表現(またはその逆)に切り替えるときのサイズの最大の拡大に関心がある」と言うと、両方向が等しく難しいことを示唆しているようです。 しかし、DNF-SATはPにあり、CNF-SATはNP完全です。したがって、DNF式与えられると、長さが長さの多項式である、等価な CNF式が存在するはずです。また、変換は、ポリ時間で実行できます。これは正しいです?ϕ1ϕ1\phi_1ϕ2ϕ2\phi_2ϕ1ϕ1\phi_1ϕ1→ϕ2ϕ1→ϕ2\phi_1 \to \phi_2 編集:変更同等にequisatisfiable(であるが、追加の変数がで許可されている)。ϕ2ϕ2\phi_2 10 complexity-theory logic satisfiability normal-forms
1 PEGをBNFに変換 解析式文法(PEG)は明確であり、表面的にはBNFに類似した構文を持っていますが、3つの重要な違いがあります。 順序付き選択演算子e1 / e2 / e3。 と述語&。 not演算子!。 少し質問があります: PEGによって認識される言語はすべて文脈自由ですか? (1)の答えが「いいえ」の場合、明確な文法のみを生成することが保証された表現力のある文法形式はありますか?特に、ドロップ&し!てコンテキストフリーの文法のみを生成するでしょうか? すべてのPEGがコンテキストフリーである場合、アルゴリズムを介して同等の BNF に変換できますか? コンテキストは、Chomsky–Schützenberger列挙定理を使用して、PEGライブラリの生成関数を計算したいということです。これには、BNFに類似した標準形式での文法の仕様が必要と思われます。 7 context-free formal-grammars normal-forms