オートマトン L = {ww^R: w ∈ {a, b}+}の中心の見つけ方

このQ&Aのポイント
  • オートマトン L = {ww^R: w ∈ {a, b}+}の中心の見つけ方について調査を行いました。
  • L = {ww^R: w ∈ {a, b}+}というオートマトンについて詳しく説明し、構成要素や遷移規則について述べました。
  • また、中心を見つけるための遷移規則について疑問があり、具体的な例を交えながら説明を求めました。
回答を見る
  • ベストアンサー

オートマトン L = {ww^R: w ∈ {a, b}+}の中心の見つけ方

下記のようなオートマトンがあります。 L = {ww^R: w ∈ {a, b}+} M = (Q, Σ, Γ, δ, q0, z, F) Q = (q0, q1, q2), Σ = {a, b}, Γ = {a, b, z}, F = {q2}. (1)wをスタックに載せるために: δ(q0, a, a) = {(q0, aa)} δ(q0, b, a) = {(q0, ba)} δ(q0, a, b) = {(q0, ab)} δ(q0, b, b) = {(q0, bb)} δ(q0, a, z) = {(q0, az)} δ(q0, b, z) = {(q0, bz)} (2)どこが文の中心か見つけるために(状態がq0からq1に変わる): δ(q0, λ, a) = {(q1, a)} δ(q0, λ, b) = {(q1, b)} (3)w^Rと一致させるために: δ(q1, a, a) = {(q1, λ)} δ(q1, b, b) = {(q1, λ)} (4)最後に: δ(q1, λ, z) = {(q2, z)} とあります。 問題の中にこれを元にしてL = {wcw^R: w ∈ {a, b}*}のnpdaをつくりなさい、 というのがありますが、それは(2)を δ(q0, c, a) = {(q1, a)} ←cが入力されたらそこが中心 δ(q0, c, b) = {(q1, b)} に変えて δ(q0, λ, z) = {(q2, λ)} ←何も入力されなかったら文字を受け付ける(* → +なので) を付け加えればよいですか? (多分、そうですよね?) それと、上の(2)がどうやって中心を見つけているのか分かりません。 入力中は何文字入力されるかなんて分かりませんよね。 例えばbaabbaabという文があったとすると最初の四文字でbaabで 「さては中心はbaとabの間だな!」とか勘違いとかしないんですか? 入力がλということは毎回毎回入力がある度にチェックしているということでしょうか? 混乱している私に分かりやすい説明ができる方、どうかお願いします。

  • oxford
  • お礼率95% (146/153)

質問者が選んだベストアンサー

  • ベストアンサー
  • hpsk
  • ベストアンサー率40% (48/119)
回答No.1

先の2つの御質問からすると、non-deterministic(非決定的)なPDAを考えているわけですよね。 非決定的なオートマトンでは、「1つの入力系列に対して複数の遷移経路が考えられるが、そのうち1つでも受理状態で遷移が終了する経路が存在すれば、オートマトンはその入力を受理する」と考えます。 baabbaabの例であれば、"b"しか入力されていない状態、"ba"まで入力された状態、...、"baabbaab"まで入力されてしまった状態、のどこで(2)の遷移をやってもいいんです。 そのうち"baab"の状態で(2)の遷移をすれば受理状態で遷移が終了するので、このオートマトンは"baabbaab"を受理するといえるわけです。 > それは(2)を > .... > を付け加えればよいですか? (多分、そうですよね?) そこはそれで合っていると思いますよ。

oxford
質問者

お礼

ああ! ではnfaとまったく同じ考え方なんですね。 non-deterministic(非決定的)というのはそういうことなんですね。 ということは、 スタックが'z'になって後はλの入力さえあれば受理、という状態もある一方で、 今まで入力された文の逆文の入力待ちになっている状態も同時に存在する、ということですね。 理解できました。 これからももっともっと勉強してみます。 本当にありがとうございました!

関連するQ&A

  • (a+b)(a-b)=a^2+b^2

    別の方の質問で表題の式は間違いかどうか尋ねるものを見かけて気になったので質問します。 実数や複素数のように可換な体で考える分には自明な場合(b=0)しかありませんが、そうでない場合、たとえばa、bを2行2列の行列と考えて、aの(i,j)成分をa(i,j)と表記するとして、数c,d,s,u(u≠0)を用いて a(1,1)=d a(1,2)=-(s^2)c/(u^2) a(2,1)=c a(2,2)=d b(1,1)=s b(1,2)=-(s^2)/u b(2,1)=u b(2,2)=-s によってaとbを定義すると、(a+b)(a-b)=a^2+b^2を満たすことがわかります。このときb^2=0でありab=baです。 一般の環でも同様のことは言えますか?つまり上記より強く、(a+b)(a-b)=a^2+b^2を満たすには、「b^2=0かつab=ba」は必要条件になるでしょうか? 初歩的なことかと思いますが、よろしくお願いします。

  • 偏角の公式δ=l/2R×180°/πの導き方を教えてください

    偏角という用語は色々な使われ方をするようですが,ここでの偏角(deflection angle)は,次の文章で説明される∠DABを指します。(図解した方がわかりやすいのですが,文章から読み取ってください。) 点Oを中心として点A点Bを通る円(以下「基準円」と呼びます)の一部である扇形ABOの弦ABと,基準円の点Aにおける接線ADがなす∠DABを「偏角」という。 弦ABの弦長を「l」(Lの小文字),基準円の半径OAを「R」,円周率を「π」とすると,偏角δ=l/2R×180°/πという公式があるのですが,この公式の導き方を教えてください。 なお,「l」は弧ABの長さではないか,という説もあります。

  • ベクトルA,B,C A×(B×C)=z(BA・C-CA・B)

    「ベクトルA,B,C A×(B×C)=z(BA・C-CA・B)この式では、A,B,Cに関して 線形だからzはこれらの大きさに依らない。」 ってどいうことなのかわかりません。特に線形が何を意味するのか。 解かる方教えて下さい。

  • Aを(l,m)型行列、Bを(m,n)型行列にする

    Aを(l,m)型行列、Bを(m,n)型行列にする (1)ABが正方行列になるとき、積BAも定義され、正方行列になることを示せ (2)ABとBAがともに同じ次数の正方行列となる条件を求めよ この問題をできる人! 良い解答解説をお待ちしています

  • AB=BAならA,Bとも同じユニタリ行列で対角化可能を示せ

    Cを複素数体とする。VをC上の有限次元内積空間とする。 A,Bが正規行列(AA^*=A^*A,BB^*=B^*B)ならABも正規行列となる。 下記の問に答えよ。 [問] AB=BAならA,Bとも同じユニタリ行列で対角化可能を示せ。 P^-1AP,Q^-1BQ (P,Qはユニタリ行列)とA,Bは対角化されたとしてこれから P=Qを示したいのですが頓挫しております。 どうかお助けください。m(_ _)m

  • (a-b)^2+(b-c)^2+(c-a)^2を簡単にせよ、という問題です。

    いつもありがとうございます。 高1の数学の問題で、 次の式を簡単にせよ。 (a-b)^2+(b-c)^2+(c-a)^2 という問題です。 =a^2-2ab+b^2 +b^2-2bc+c^2 +c^2-2ca+a^2 =2a^2-2ab-2ac+2b^2-2bc+2c^2 にしてみました。なんかこういう書き方があったような気がしたからです。 それで、答えに書いてあったのは、 =2a^2+2b^2+2c^2-2ab-2bc-2ca でした。 全部文字が二つずつなのですが、aが入ってる順じゃない?んでしょうか。 順番をどうやって考えればいいでしょうか。 もしよかったら教えてください。 よろしくおねがいします。

  • オートマトン npda(=non-deterministic pushdown automata)について

    オートマトン npda(=non-deterministic pushdown automata)について質問です。 npdaを勉強しているのですが例題が少なすぎて理解できていません。 本ではL={a^n b^n: n>=0}ではnpdaは δ(q0, λ, z) = {(q2, z)} δ(q0, a, z) = {(q0, 1z)} δ(q0, a, 1) = {(q0, 11)} δ(q0, b, 1) = {(q1, λ)} δ(q1, b, 1) = {(q2, λ)} δ(q1, λ, z) = {(q1, z)} ということです。問題はL={a^n b^2n: n>=0}のnpdaです。 bがaの二倍ということなのでaが入力されたときに スタックに二つ積めばいいのでは、と解釈して δ(q0, λ, z) = {(q2, z)} δ(q0, a, z) = {(q0, 1z)} δ(q0, a, 1) = {(q0, 111)} ←ここだけ変えました δ(q0, b, 1) = {(q1, λ)} δ(q1, b, 1) = {(q2, λ)} δ(q1, λ, z) = {(q1, z)} で良いでしょうか?

  • 順列・数え上げ

    よろしくお願いします。 ここに下のような390個の文字があります。 (A,B,C,D,E,F,G,H,I,J,K,L,M がそれぞれ10個ずつ、 N,O,P,Q,R,S,T,U,V,W,X,Y,Z がそれぞれ20個ずつあります。) この390個の文字から235文字を選んで一列に並べる方法は全部で何通りありますか。 A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z 以下、私が考えたことを書きます。 この390個の文字から235個の文字を選ぶ組み合わせの総数は、 (Σ[k=0~10]x^k)^13*(Σ[k=0~20]x^k)^13 を展開したときのx^235の係数ですから、 23463540513956137996043929988 通りだということは分かります。 この23463540513956137996043929988 通りのそれぞれについて235個の文字 の順列(同種のものを含む順列)を数え上げれば答えは出ると思いますが、これは あまりにも大変な作業です。 何かよい知恵はないでしょうか。

  • 高さh、幅wの長方形a,b,c,dがあるとします。また長方形の中心点を

    高さh、幅wの長方形a,b,c,dがあるとします。また長方形の中心点をoとします。 a ーーーーw ーーーー b |          | |          | |     o      h |          | |          | c ーーーーーーーーー d この長方形a,b,c,dのcを中心にn度回転させます。回転後の長方形の中心点をo2とします。 この点o2と元の中心点oとの座標の差が知りたいです。 別の表現をすると、点o2を点oに移動させる事により、oを中心に回転した結果と同じにしたいです。 移動させる座標xとyを式で求めるにはどうしたら良いですか?

  • (a+b+c)^2 について

    数学の課題となっている冊子で (a+b+c)^2 という問題が出ました。 自分は a^2+b^2+c^2+2ab+2bc+2ac と、したのですが、模範解答では a^2+b^2+c^2+2ab+2bc+2ca と、なっていました。 並び方は、下の方が美しいとは思うのですが、 「文字はアルファベット順に並べる」に合って無いんで、模範解答が間違ってる気がするのですが、どうなんでしょうか? よろしくお願いします。