• <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

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            狀態(tài)機(jī)

             

            關(guān)于狀態(tài)機(jī)的一個(gè)極度確切的描述是它是一個(gè)有向圖形,由一組節(jié)點(diǎn)和一組相應(yīng)的轉(zhuǎn)移函數(shù)組成。狀態(tài)機(jī)通過響應(yīng)一系列事件而運(yùn)行。每個(gè)事件都在屬于當(dāng)前節(jié)點(diǎn)的轉(zhuǎn)移函數(shù)的控制范圍內(nèi),其中函數(shù)的范圍是節(jié)點(diǎn)的一個(gè)子集。函數(shù)返回下一個(gè)(也許是同一個(gè))節(jié)點(diǎn)。這些節(jié)點(diǎn)中至少有一個(gè)必須是終態(tài)。當(dāng)?shù)竭_(dá)終態(tài), 狀態(tài)機(jī)停止。

             

            包含一組狀態(tài)集(states)、一個(gè)起始狀態(tài)(start state)、一組輸入符號(hào)集(alphabet)、一個(gè)映射輸入符號(hào)和當(dāng)前狀態(tài)到下一狀態(tài)的轉(zhuǎn)換函數(shù)(transition function)的計(jì)算模型。當(dāng)輸入符號(hào)串,模型隨即進(jìn)入起始狀態(tài)。它要改變到新的狀態(tài),依賴于轉(zhuǎn)換函數(shù)。在有限狀態(tài)機(jī)中,會(huì)有有許多變量,例如,狀態(tài)機(jī)有很多與動(dòng)作(actions)轉(zhuǎn)換(Mealy機(jī))或狀態(tài)(摩爾機(jī))關(guān)聯(lián)的動(dòng)作,多重起始狀態(tài),基于沒有輸入符號(hào)的轉(zhuǎn)換,或者指定符號(hào)和狀態(tài)(非定有 限狀態(tài)機(jī))的多個(gè)轉(zhuǎn)換,指派給接收狀態(tài)(識(shí)別者)的一個(gè)或多個(gè)狀態(tài),等等。

             

              傳統(tǒng)應(yīng)用程序的控制流程基本是順序的:遵循事先設(shè)定的邏輯,從頭到尾地執(zhí)行。很少有事件能改變標(biāo)準(zhǔn)執(zhí)行流程;而且這些事件主要涉及異常情況。命令行實(shí)用程序是這種傳統(tǒng)應(yīng)用程序的典型例子。

             

            另一類應(yīng)用程序由外部發(fā)生的事件來驅(qū)動(dòng)——換言之,事件在應(yīng)用程序之外生成,無法由應(yīng)用程序或程序員來控制。具體需要執(zhí)行的代碼取決于接收到的事件,或者它相對(duì)于其他事件的抵達(dá)時(shí)間。所以,控制流程既不能是順序的,也不能是事先設(shè)定好的,因?yàn)樗蕾囉谕獠渴录J录?qū)動(dòng)的GUI應(yīng)用程序是這種應(yīng)用程序的典型例子,它們由命令和選擇(也就是用戶造成的事件)來驅(qū)動(dòng)。

             

            Web應(yīng)用程序由提交的表單和用戶請(qǐng)求的網(wǎng)頁來驅(qū)動(dòng),它們也可劃歸到上述類別。但是,GUI應(yīng)用程序?qū)τ诮邮盏降氖录杂幸欢ǔ潭鹊目刂疲驗(yàn)檫@些事件要依賴于向用戶顯示的窗口和控件,而窗口和控件是由程序員控制的。Web應(yīng)用 程序則不然,因?yàn)橐坏┯脩舨扇〔辉陬A(yù)料之中的操作(比如使用瀏覽器的歷史記錄、手工輸入鏈接以及模擬一次表單提交等等),就很容易打亂設(shè)計(jì)好的應(yīng)用程序邏輯。

             

            顯然,必須采取不同的技術(shù)來處理這些情況。它能處理任何順序的事件,并能提供有意義的響應(yīng)——即使這些事件發(fā)生的順序和預(yù)計(jì)的不同。有限狀態(tài)機(jī)正是為了滿足這方面的要求而設(shè)計(jì)的。

             

              有限狀態(tài)機(jī)是一種概念性機(jī)器,它能采取某種操作來響應(yīng)一個(gè)外部事件。具體采取的操作不僅能取決于接收到的事件,還能取決于各個(gè)事件的相對(duì)發(fā)生順序。之所以能做到這一點(diǎn),是因?yàn)闄C(jī)器能跟蹤一個(gè)內(nèi)部狀態(tài),它會(huì)在收到事件后進(jìn)行更新。為一個(gè)事件而響應(yīng)的行動(dòng)不僅取決于事件本身,還取決于機(jī)器的內(nèi)部狀態(tài)。另外,采取 的行動(dòng)還會(huì)決定并更新機(jī)器的狀態(tài)。這樣一來,任何邏輯都可建模成一系列事件/狀態(tài)組合。

            posted on 2008-12-14 17:53 肥仔 閱讀(293) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 狀態(tài)機(jī) & 自動(dòng)機(jī) & 形式語言

            日韩精品无码久久久久久| 一本一本久久aa综合精品| 久久99精品久久久久久野外| 青青久久精品国产免费看| 7777久久久国产精品消防器材| a高清免费毛片久久| 色偷偷88欧美精品久久久 | 久久久久久久亚洲精品| 亚洲中文字幕无码一久久区| 久久精品国产免费| 国产aⅴ激情无码久久| 久久久久婷婷| 免费国产99久久久香蕉| 色综合久久中文字幕无码| 久久综合九色综合久99| 久久午夜电影网| 精品久久久久久无码专区| 一本色道久久88综合日韩精品| 国产99久久久国产精免费| 精品久久久久中文字幕日本| 久久精品国产乱子伦| 久久影院久久香蕉国产线看观看| 久久久青草青青亚洲国产免观| 亚洲国产精品无码久久| 综合久久一区二区三区| 久久亚洲2019中文字幕| 国产精品成人久久久久三级午夜电影 | 久久精品国产久精国产| 国产产无码乱码精品久久鸭 | 国产激情久久久久影院| 1000部精品久久久久久久久| 无码超乳爆乳中文字幕久久| 一本色道久久88精品综合| 97精品伊人久久久大香线蕉 | 久久久精品国产Sm最大网站| 97久久精品人人澡人人爽| 久久亚洲精品中文字幕三区| 午夜不卡888久久| 精品久久久久久无码中文字幕| 国产精品伊人久久伊人电影| 久久精品18|