• Tidak ada hasil yang ditemukan

計算の理論 命令の実行 (= 「計算」 ) とは - pweb

N/A
N/A
Protected

Academic year: 2024

Membagikan "計算の理論 命令の実行 (= 「計算」 ) とは - pweb"

Copied!
31
0
0

Teks penuh

(1)

計算の理論

命令の実行 (= 「計算」) とは、

レジスタまたは主記憶の

現在の値(状態)に従って、

その値を変更(書込)すること であった。

(2)

プログラム内蔵方式(von Neumann)では、

プログラム・データを区別なくメモリ上に置いて いたが、やはり本質的に違うもの。

プログラム: 一つの問題では固定

データ: 可変な入力

どんな(有効な)データ(入力)が来ても、

所定の出力を返すことが要請される。

(3)

或る問題の「計算が可能」

m

その計算を行なうプログラムが存在

計算機の機能 ( = 「計算」のモデル) を決めて議論する

ここでは、代表的な「計算のモデル」を

幾つか紹介する。

(4)

入力(データ)

プログラム

出力・動作 原理・理論を考える際には、

出力は最も単純に「0 か 1 か」とする。

0 : 拒否(reject)

1 : 受理(accept)

(5)

入力(データ)

プログラム

受理か拒否か

解くべき「問題」: 入力を受理する条件

(6)

「問題」の例

入力の範囲: 文字 a, b から成る文字列

ab との個数が同じ

a が幾つか続いた後に

b が幾つか続いたもの

aで始まり a, bが交互に並んでb で終わる

• 同じ文字列 2 回の繰返しから成る

回文(palindrome) などなど

(7)

それぞれの「問題」に対し、

定められた計算モデルで、

受理/拒否判定が可能(問題が解ける)? 受理される文字列が

「文法的に正しい」文字列だと思えば、

「問題」とは「文法(言語)」である。

「文法的に正しい」かどうかの判定

· · ·「構文解析」

(8)

代表的な計算モデル

• 有限オートマトン(有限状態機械)

プッシュダウンオートマトン

チューリングマシン

(9)

有限オートマトンの例(状態遷移図による表示)

q0 q1 q2

q3 a

a b

b a b

a,b

(10)

有限オートマトンの形式的定義 M = (Q,Σ, δ, s, F) ここに、

• Q : 有限集合 · · · 状態の集合

Σ : 有限集合 · · · 入力文字の集合

“alphabet”

δ :Σ→Q : 遷移関数

s ∈Q · · · 初期状態

F ⊂Q · · · 受理状態の集合

(11)

先の例では、

Q={q0, q1, q2, q3}

Σ = {a, b}

δ :ΣΣ : q0 q1 q2 q3 a q1 q1 q3 q3 b q3 q2 q2 q3

s =q0 ∈Q

F ={q2} ⊂Q

(12)

Σ : 入力文字の有限集合 · · · alphabet 入力は Σ の元の有限列()

w=a1a2· · ·an (ai Σ) その全体 Σ

Σ :=

[ n=0

Σn0 ={ε}:空列) 言語 : Σ の部分集合

言語 A⊂Σ に属する語 w∈A

· · · 言語 A に於いて“文法的に正しい”

(13)

有限オートマトン M = (Q,Σ, δ, s, F) が 語 w=a1a2· · ·an を受理する

m

∃r0, r1, . . . , rn ∈Q:

r0 =s

δ(ri1, ai) = ri (i= 1, . . . , n)

rn∈F

L(M) : M が受理する語の全体

· · · M が認識する言語 M は言語 L(M) の文法で、

M が受理する語は“文法的に正しい”

(14)

演習問題:

Σ ={a, b} とする。

次の言語を認識する有限オートマトンを構成し、

状態遷移図で表せ。

(1) A={a2nb2m+1 n, m≥0}

(a が偶数個( 0 個も可)続いた後に、

b が奇数個続く) (2) B ={vabbaaw|v, w∈Σ}

(部分列として abbaa を含む)

(15)

ちょっとしたコツ(tips):

「後に続く文字列が何だったら受理か」

が全く同じ状態は一つの状態にまとめられる。

これが違う状態はまとめられない。

(違う状態として用意する必要あり)

(16)

有限オートマトンでの計算可能性問題

言語 A Σ に対し、

A を認識する有限オートマトン M が存在するか ?

有限オートマトンによって

認識可能な言語はどのようなものか ?

−→ 正規言語・正規表現

(17)

語の演算

v =a1· · ·ak, w =b1· · ·bl Σ に対し vw:=a1· · ·akb1· · ·bl

: 連結・連接 (concatnation) 連接演算により Σ は単位的自由半群を成す

S = (S,·) : 半群 m

·:S×S−→S : 二項演算で結合律を満たす

(18)

正規演算

言語 A, B Σ に対し、

A∪B :={w|w∈Aまたはw∈B} : 和集合演算

AB =A◦B :={vw|v ∈A, w∈B} : 連結(連接)演算

A :={w1w2· · ·wn|n 0, wi ∈A}

: star演算 (言語全体の集合 P) 上の演算)

(19)

正規表現

alphabet a Σ は正規表現

空列 ε は正規表現

• 空集合 ∅ は正規表現

正規表現 R, S に対し

(R∪S) は正規表現 ((R|S) とも書く)

正規表現 R, S に対し

(R◦S) は正規表現 ((RS) とも書く)

正規表現 R に対し R は正規表現

以上のものだけが正規表現

· · · 帰納的導出による定義

(20)

正規表現 R に対し、言語 L(R) を次で定める。

L(a) ={a}

L(ε) ={ε}

L() =

L(R∪S) =L(R)∪L(S)

L(R◦S) =L(R)◦L(S)

L(R) =L(R)

正規表現で表される言語 · · · 正規言語

(21)

定理:

L : 正規言語 m

L が或る有限オートマトンで認識される このような一般論を考えるには、

有限オートマトンの概念を

少し一般化する方が良い。

· · · 非決定性有限オートマトン

(22)

非決定性 · · · あてずっぽう有り 状態の遷移先を一意に決めない

(幾つかあって分岐していく)

−→ どれかが受理すればOK!!

どの道を辿れば良いか知っていて、

受理が検証出来れば良い、

と考えることも出来る。

(23)

非決定性有限オートマトンの形式的定義 M = (Q,Σ, δ, s, F)

ここに、

Q : 有限集合 · · · 状態の集合

Σ : 有限集合 · · · alphabet

δ :∪ {ε})→P(Q): 遷移関数

· · · 可能な遷移先全体の集合

s ∈Q · · · 初期状態

• F ⊂Q · · · 受理状態の集合

(24)

非決定性有限オートマトン M = (Q,Σ, δ, s, F)

が、語 w を受理する m

∃a1, a2,· · · , an Σ∪ {ε}: w=a1a2· · ·an

∃r0, r1, . . . , rn ∈Q:

r0 =s

ri ∈δ(ri1, ai) (i= 1, . . . , n)

rn∈F

L(M) : M が受理する語の全体

· · · M が認識する言語

(25)

ri ∈δ(ri1, ε) とは、

「入力を読まずに

 状態ri1から状態riに移って良い」

ということ

δ(ri1, ai) = (矢印が出ていない)

ということもある

−→ 受理されない分岐の

行き止まりに入ってしまった

−→ 他の分岐が生きていれば問題無し

(26)

非決定性有限オートマトンの例

(状態遷移図による表示)

q0 a q1 b a q5

a,b

q2 b q3 a q4

a,b

(27)

定理:

L が或る(決定性)有限オートマトンで

認識される m

L が或る非決定性有限オートマトンで 認識される 非決定性有限オートマトン M に対し、

L(M) を認識する決定性有限オートマトン M0 が 構成できる

(28)

定理:

L : 正規言語 m

L が或る有限オートマトンで認識される

(29)

定理:

L : 正規言語 m

L が或る非決定性有限オートマトンで 認識される

(30)

正規言語:

L(a) ={a}

L(ε) ={ε}

L() =

L(R∪S) =L(R)∪L(S)

L(R◦S) =L(R)◦L(S)

L(R) =L(R) 言語 A, B を認識する

非決定性有限オートマトンから、

言語 A∪B, A◦B, A を認識する

非決定性有限オートマトンが 構成できれば良い。(それは比較的容易)

(31)

A∪B を認識する

非決定性有限オートマトンの構成

q0 ε ε

NFArecognizing A

NFA

recognizing B

Referensi

Dokumen terkait

事業活動収支決算書は、企業の損益計算書にあたるもので、収支状況を、経 常的なものと臨時的なものとに区分し、さらに経常的収支を、教育活動と教育 活動外の金融収支とに分けて把握できるようになっています。全体として、基 本金組入(設備投資)前の収支バランスがどうかをみます。令和 3 年度は、学 費、寄付金、補助金収入などの経常的な教育活動収入は、前年度より1億2,900

8 さらに、全額返金保障(30 日以内)をつけることで、多少の事では悪い評判をいう人も出ず、 世の中には良い口コミが出回りさらに新規の会員を獲得するという循環を生み出す事業戦略を とっていた。 今までは年間70億ほどの広告宣伝費をかけて集客をしていたが最近では、広告宣伝費を抑え

(仮説3)巨人の成績が振るわなかったために、視聴者の興味が徐々にそがれていきそれに伴い視聴 率も低下していった ○様々なメディアにおいて、ここ数年の巨人戦の視聴率の落ち込みは成績の不振により早い段階から 視聴者の興味がそがれていったしまったことが原因であり、成績さえ上向けばまた以前のように視 聴率も戻り、当たり前のように

しかし、この方法では、 プログラム部分を書き換えてしまうため、 プログラミングし難い。 面倒で、間違い易く、読み難い。 −→ 実機では、 指標レジスタindex registerを使って 計算が行なえるように実装するのが普通。 —電子計算機概論I 15—... しかし、この方法では、 プログラム部分を書き換えてしまうため、 プログラミングし難い。

第1章 序論 本研究の概要 本論文では、人気ラーメン店「ラーメン二郎」の行列の理由を研究する。 ラーメン二郎は、近年のラーメン業界のトレンドとはかけ離れたラーメン店であるにも関わらず、 毎日のように長い行列ができている。 『なぜ二郎はここまで人気があるのか?』この単純な疑問が

2 1. はじめに 2015年にイングランドで開催されたラグビーワールドカップでの、日本代表選手たちの飛躍 的な活躍により、今日の日本ではラグビーブームになっている。日本の根強いラグビーファンた ちは、この状況に驚きを隠せない人も多いだろう。というのも、日本の一般世間の人々にとって ラグビーとは、“過去のスポーツ”であるからだ。

はじめに 突然だが、テレビ朝⽇系のドラマ“ドクターX〜外科医・⼤⾨未知⼦〜”をご存知だろう か?私の家族は、このドラマの放送がスタートした 2012 年から観続けている。放送当時は なぜこのドラマに惹かれたのかわからなかった。過去にも医療ドラマは放送されていた。し かし、このドラマの設定は型破りだった。それは、主⼈公が「フリーランス」の外科医とい

もう一つは、事例を蓄積するとか研修するとい うのは、答えのできれない部分、たとえばワーク ブックなんかでも「こういったことを科学者がし ました。それについては許されると思いますか、 許されないと思いますか」というかたちの問いが 何十も含まれています。その中にコメントがつい ていて、「これは、やはり良くないのである」と いう答えもありますけれども、それのない問いも