• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數據加載中……

            維基百科----下推自動機

            綜述

            下推自動機比有限狀態自動機復雜:除了有限狀態組成部分外,還包括一個長度不受限制的;下推自動機的狀態遷移不但要參考有限狀態部分,也要參照當前的狀態;狀態遷移不但包括有限狀態的變遷,還包括一個的出棧或入棧過程。下推自動機可以形象的理解為,借由加上讀取一個容量無限堆棧的能力,擴充一個能做ε-轉移的非確定有限狀態自動機。

            下推自動機存在“確定”與“非確定”兩種形式,兩者并不等價。(對有限狀態自動機兩者是等價的)

            每一個下推自動機都接受一個形式語言。被“非確定下推自動機”接受的語言是上下文無關語言。

            如果我們把下推自動機擴展,允許一個有限狀態自動機存取兩個,我們得到一個能力更強的自動機,這個自動機與圖靈機等價。

            下推自動機作為一個形式系統最早于1961出現在 Oettinger 的論文中。它與上下文無關文法的等價性是由喬姆斯基1962發現的。

            [編輯] 形式定義

            PDA 形式定義為 6-元組:

            clip_image001這里的

            • clip_image002狀態的有限集合
            • clip_image003是輸入字母表的有限集合
            • clip_image004字母表的有限集合
            • clip_image005: clip_image006轉移函數
            • q0 是“開始狀態”
            • clip_image007是“接受狀態”的集合
            • clip_image008
            • clip_image009

            計算定義 1

            對于任何 PDA clip_image001,計算路徑是一個有序的(n+1)-元組 clip_image010,這里的 clip_image011,它滿足如下條件:

            (i) clip_image012對于 i = 0, 1, 2,......, n-1,

            這里的 clip_image013

            (ii) clip_image014使得

            clip_image015

            在直覺上,PDA 在計算過程中任何一點上都面對著多種可能性,從棧頂讀一個符號并把它替代為另一個符號,從棧頂讀一個符號并刪除它而不替換,不從棧頂讀任何符號但壓入另一個符號進去,或什么都不做。所有這些都同時由等式 clip_image016clip_image017來支配。clip_image018 是緊接在第 i+1 次轉移移動之前的棧內容,而 clip_image019是要從棧頂去除的符號。clip_image020 是緊接在第 i+1 次轉移移動之后棧內容,而 clip_image021是在第 i+1 次轉移移動期間要增加到棧上的符號。

            clip_image019clip_image021二者都可以 clip_image022

            如果 clip_image023clip_image024,則 PDA 從棧讀一個符號并把它替代為另一個符號。

            如果 clip_image023clip_image025,則 PDA 從棧讀一個符號并刪除它而不替換。

            如果 clip_image026clip_image024,則 PDA 簡單的增加一個符號到棧上。

            如果 clip_image026clip_image025,則 PDA 保持棧不變動。

            注意當 n=0 時,計算路徑就是單元素集合 clip_image027。

            計算定義 2

            對于任何輸入 clip_image028,M 接受 w,如果存在計算路徑 clip_image029和有限序列 clip_image030,使得

            (i) 對于每個 i = 0, 1, 2,...mclip_image031 都在計算路徑上。就是說

            clip_image032這里的 clip_image033使得 clip_image034

            (ii) clip_image035對于每個 i = 0, 1, 2,...m-1。

            這里的 clip_image036clip_image037定義同于計算定義 1。

            (iii) clip_image038,如果 clip_image039

            這里的 clip_image040clip_image041定義同于計算定義 1。

            (iv) clip_image042clip_image043

            注意上述定義不提供測試空棧的機制。要這么做你需要在所有計算開始前在棧上寫一個特殊符號,使得 PDA 可以在檢測到這個符號的時候有效的識別出棧已經空了。形式的說,實現它可通過介入轉移 clip_image044這里的 $ 是特殊符號。

            [編輯] 例子

            下面是識別語言 clip_image045 PDA 的形式描述:

            clip_image046

            • clip_image047
            • clip_image048
            • clip_image049
            • clip_image050
            • clip_image051
            • clip_image052
            • clip_image053
            • clip_image054
            • clip_image055
            • clip_image056對于任何其他狀態、輸入和棧符號的值。

            [編輯] 理解計算過程

            下面展示上述 PDA 如何計算不同的輸入字符串。

            (a) 輸入字符串 = 0011

            (i) δ(q1, ε, ε) clip_image057(q2, $) 來表示 (q2, $) clip_image058δ(q1, ε, ε)

            s0 = ε, s1 = $, t = ε, a = ε, b = $

            設置 r0 = q2

            (ii) δ(r0, 0, ε) = δ(q2, 0, ε) clip_image057(q2, 0)

            s1 = $, a = ε, t = $, b = 0, s2 = 0$

            設置 r1 = q2

            (iii) δ(r1, 0, ε) = δ(q2, 0, ε) clip_image057(q2, 0)

            s2 = 0$, a = ε, t = 0$, b = 0, s3 = 00$

            設置 r2 = q2

            (iv) δ(r2, 1, 0) = δ(q2, 1, 0) clip_image057(q3, ε)

            s3 = 00$, a = 0, t = 0$, b = ε, s4 = 0$

            設置 r3 = q3

            (v) δ(r3, 1, 0) = δ(q3, 1, 0) clip_image057(q3, ε)

            s4 = 0$, a = 0, t = $, b = ε, s5 = $

            (vi) δ(q3, ε, $) clip_image057(q4, ε)

            s5 = $, a = $, t = ε, b = ε, s6 = ε

            設置 r4 = q4

            因為 q4 是接受狀態,0011 被接受。

            作為總結,計算路徑 = (q1, q2, q2, q2, q3, q3, q4)

            (r0, r1, r2, r3, r4) = (q2, q2, q2, q3, q4)

            (b) 輸入字符串 = 001

            計算移動 (i), (ii), (iii), (iv) 將必定同于情況 (a),否則,PDA 在到達 (v) 之前就已經進入死胡同。

            (v) δ(r3, ε, a) = δ(q3, ε, a)

            因為 s4 = 0$,要么 a = ε 要么 a = 0

            在任何一種情況下,δ(q3, ε, a) = clip_image059

            因此計算在 r3 = q3 進入死胡同,這不是接受狀態。所以 001 被拒絕。

            (c) 輸入字符串 = ε

            設置 r0 = q1, r1 = q1

            δ(r0, ε, ε) clip_image057(q1, ε)

            因為 q1 是接受狀態,ε 被接受。

            [編輯] 廣義下推自動機(GPDA)

            GPDA 是在一個步驟內寫入整個字符串到棧上或從棧上去除整個字符串的 PDA。

            GPDA 形式定義為 6-元組 clip_image001

            這里的 Q, clip_image060, clip_image061, q0 F 的定義同于 PDA

            clip_image005: clip_image062是轉移函數。

            GPDA 的計算規則同于 PDA,除了 ai+1 bi+1 現在是字符串而不是符號之外。

            GPDA PDA 是等價的,如果一個語言可被一個 PDA 識別,它也可被一個 GPDA 識別,反之亦然。

            可以使用下列模擬公式化對 GPDA PDA 的等價性的一個分析式證明:

            δ(q1, w, x1x2...xm) clip_image063(q2, y1y2...yn) GPDA 的轉移。

            這里的 q1, q2 clip_image058Q, w clip_image064, x1x2...xm clip_image065, mclip_image0660, y1y2...yn clip_image065, nclip_image0660。

            構造 PDA 的下列轉移:

            δ'(q1, w, x1) clip_image063(p1, ε)

            δ'(p1, ε, x2) clip_image063(p2, ε)

            clip_image067

            δ'(pm-1, ε, xm) clip_image063(pm, ε)

            δ'(pm, ε, ε ) clip_image063(pm+1, yn)

            δ'(pm+1, ε, ε ) clip_image063(pm+2, yn-1)

            clip_image067

            δ'(pm+n-1, ε, ε ) clip_image063(q2, y1)

            [編輯] 參見

            [編輯] 外部鏈接

            [編輯] 參考書目

            • 《自動機理論、語言和計算導引》,John E. HopcroftJeffery D. Ullman,徐美瑞譯,洪加威校,科學出版社,1986
            • Michael Sipser1997).Introduction to the Theory of ComputationPWS PublishingISBN 0-534-94728-X  Section 2.2: Pushdown Automata, pp.101114.

            自動機理論: 形式語言和形式文法

            喬姆斯基層級

            文法

            語言

            極小自動機

            類型 0

            無限制

            遞歸可枚舉

            圖靈機

            n/a

            (無公用名)

            遞歸

            判定器

            類型 1

            上下文有關

            上下文有關

            線性有界

            n/a

            附標

            附標

            嵌套堆棧

            n/a

            樹-鄰接

            適度上下文有關

            嵌入下推

            類型 2

            上下文無關

            上下文無關

            非確定下推

            n/a

            確定上下文無關

            確定上下文無關

            確定下推

            類型 3

            正則

            正則

            有限

            每個語言或文法范疇都是其直接上面的范疇的真子集。

            取自"

             

            posted on 2008-12-30 10:50 肥仔 閱讀(1130) 評論(0)  編輯 收藏 引用 所屬分類: 狀態機 & 自動機 & 形式語言

            日本加勒比久久精品| 怡红院日本一道日本久久 | 亚洲精品无码久久毛片| 久久精品国产清自在天天线| 国产毛片久久久久久国产毛片 | 婷婷久久综合九色综合98| 色综合久久综精品| 午夜精品久久久久久影视777| 久久久久久久波多野结衣高潮| 欧美黑人又粗又大久久久| 久久99久久成人免费播放| 久久综合亚洲色HEZYO社区| 久久综合给合久久狠狠狠97色69| 亚洲国产精品久久久久婷婷老年 | 国产91色综合久久免费| 免费精品国产日韩热久久| 色综合久久久久无码专区| 久久精品中文字幕一区| 久久精品国产亚洲AV电影 | 久久青青草视频| 久久国产成人精品国产成人亚洲| 亚洲综合精品香蕉久久网| 亚洲日韩欧美一区久久久久我| 国内精品久久久久| 日韩AV无码久久一区二区| 伊人久久无码精品中文字幕| 一级做a爰片久久毛片16| 久久人人爽人人爽人人片av高请| 日本精品久久久久影院日本 | 久久99精品国产麻豆婷婷| 97久久综合精品久久久综合| 久久99精品国产麻豆宅宅| 一本大道久久东京热无码AV| 久久精品这里只有精99品| 看全色黄大色大片免费久久久| 精品久久人人妻人人做精品| 亚洲国产成人久久精品影视| 一本一道久久精品综合| 国产成人综合久久精品尤物| 东京热TOKYO综合久久精品| 久久精品国产精品亚洲毛片|