なぜチョムスキー正規形に変換するのですか?利点はありますか?チョムスキー正規形
3
A
答えて
1
文法を使用することができ、CNF(というかその派生ツリー)における文法は文脈自由言語の反復補題を証明するために使用されます。
3
0
チョムスキー正規形では、多項式時間アルゴリズムを使用して、文字列を文法で生成できるかどうかを判断できます。 動的プログラミングを知っていればアルゴリズムはかなり滑らかです...
入力の長さがnの場合、dim nxnの2次元配列(A)を取ることになります。 [i、j]は、サブストリングI(i、j)を導出することができる文法G中のすべての記号を意味する。
最後に、A [1、n]に開始記号(S)が含まれていれば、文字列IはSで導出できることを意味します。
def decide (string s,grammar G):
//base case
for i=1 to n:
N[i,i]=I[i] //as the substring of length one can be generated by only a
terminal.
//end base case
//induction
for s=1 to n: //length of substring
for i=1 to n-s-1: //start index of substring
for j=i to i+s-1: //something else
if there exists a rule A->BC such that B belongs to N[i,j] and C
belongs to N[j+1,i+s-1] then add A to N[i,i+s-1]
//endInduction
if S belongs to N[1,n] then accept else reject.
私はインデックスがかなり狂っていることを知っています。しかし基本的にここで何が起きているのですか?
-theベースケースは、私たちは秒未満の長さを持つすべてのソリューションからの長さの部分文字列のためのソリューションを構築する誘導ステップ-in
を考えるかなり明確です。
-sayインデックス1から始まる長さ5の部分文字列(sub
)の解を探しています。次に、ルール(A-> BC BとCがsubの2つの連続した部分集合と非共通部分列を導出し、そうであればすべてのAをN [1,6]に加える。
- 最後にN [1、n]に開始記号がある場合は、受け入れます!
関連する問題
- 1. チョムスキー標準形の正確
- 2. チョムスキー普通形に変換
- 3. チョムスキー標準形変換アルゴリズム
- 4. チョムスキー標準形 - 計算理論
- 5. フィールドの正規形
- 6. PHP正規形と入力
- 7. LISPリストと正規形
- 8. FQDN/URL形式バリデーター正規表現の正規表現2
- 9. チョムスキー正規形の導出に2n-1ステップが必要であることを証明するにはどうすればよいですか?
- 10. 第2正規形の定義
- 11. 正規表現の10進形式
- 12. 時間形式の正規表現
- 13. Javascriptの正規表現形式
- 14. Pythonの正規表現形式
- 15. Fluentdソースログ形式正規表現
- 16. mm-dd-yyyy形式正規表現javacript
- 17. 第3正規形は混乱
- 18. 第3正規形(3NF)への分解
- 19. 正規表現の通貨形式
- 20. データベースの3番目の正規形
- 21. 第3正規形一意性制約
- 22. 正規表現が不正な形式の多項式
- 23. 正規表現の正規表現の正規表現
- 24. 日付形式を超える正規表現xx-xx-xxxx
- 25. 正規分布を線形に変換する
- 26. 第4正規形への関係を分解する
- 27. Pythonのさまざまな日付形式の正規表現
- 28. Cで結ばれた正規形を解く
- 29. 正規表現でドル形式を取り除く方法
- 30. C#形式の一致と正規表現?
これは通常、1つの宿題や他の課題のために必要なことになります;-) –
いいえいいえ。これは私の心に来ました。 – crowso