Pirsa ku ziman birêkûpêk e an na mijarek bingehîn e di warê teoriya tevliheviya hesabkirinê de, nemaze di lêkolîna zimanên fermî û teoriya otomatê de. Têgihîştina vê têgehê pêdivî bi têgihîştina pênas û taybetmendiyên zimanên birêkûpêk û modelên hesabker ên ku wan nas dikin hewce dike.
Zimanên Birêkûpêk û Otomatên Dawî
Zimanên bi rêkûpêk çînek zimanan in ku dikarin ji hêla otomatên dawî ve werin nas kirin, ku makîneyên razber ên bi hejmarek dewletan ve girêdayî ne. Ev ziman dikarin bi karanîna bêjeyên rêkûpêk jî werin ravekirin û dikarin bi rêzimanên rêkûpêk werin çêkirin. Taybetmendiya sereke ya zimanên birêkûpêk ev e ku ew dikarin ji hêla otomatên dawî yên diyarker (DFA) an otomatên dawîn ên nedetermînîst (NFA) ve bêne nas kirin. DFA ji komek dewletan a bêdawî, komek sembolên têketinê, fonksiyonek veguhêz a ku cotên dewlet-sembolê bi dewletan re nexşe dike, rewşek destpêkê, û komek dewletên qebûlkirî pêk tê.
Hêza otomatên bêdawî ji hêla bîranîna wan ve sînorkirî ye. Ew nikarin ji hejmareke sabît bijmêrin, ku tê vê wateyê ku ew nikanin hejmareke keyfî ya bûyerên sembolek taybetî bişopînin heya ku hejmar bi hejmara dewletên di otomatê de were sînordar kirin. Dema ku meriv li ser zimanên weha têne hesibandin ev sînor girîng e .
Ne-rêkûpêk ya
Ji bo destnîşankirina ka zimanek rêkûpêk e, mirov dikare ji bo zimanên rêkûpêk Lemmaya Pumping bikar bîne. Lemma Pumping taybetmendiyek peyda dike ku divê hemî zimanên rêkûpêk têr bikin, û ew pir caran tê bikar anîn da ku nîşan bide ku hin ziman ne rêkûpêk in bi nîşandana ku ew vê taybetmendiyê têr nakin.
The Pumping Lemma diyar dike ku ji bo her zimanek birêkûpêk , dirêjahiya pompkirinê heye
wisa ku her têl
in
bi dirêjahî
dikare bibe sê beş,
, şertên jêrîn têr dike:
1. ,
2. , û
3. ji bo hemû , têl
in
.
Ji bo ku nîşan bide Lemma Pumping bikar bînin ne bi rêkûpêk e, ji bo nakokiya ku
rêkûpêk e. Dûv re, dirêjahiya pompkirinê heye
wisa ku her têl
in
bi
dikare li beşan were dabeş kirin
têrkirina şert û mercên Lema Pumping.
Têlê bifikirin in
. Li gorî Pumping Lemma,
dikare were parçe kirin
vî awayî
û
. Ji ber
, binerd
tenê ji 0-an pêk tê. Ji ber vê yekê,
,
, û
ko
.
Niha, rêzê bifikirin . Hejmara 0yan e
, ku jê mezintir e
, dema ku hejmara 1an dimîne
. Ji ber vê yekê,
ji ber ku hejmarên 0 û 1an ne wek hev in. Ev nakokî nîşan dide ku texmîna ku
birêkûpêk e derew e. Ji ber vê yekê,
ne zimanekî asayî ye.
Zimanên Bê-Context û Otomata Pushdown
Ziman Lêbelê, zimanek bê-conteks (CFL) ye. Zimanên bê naverokê ji hêla otomatên pushdown (PDA) ve têne nas kirin, ku ji otomatên dawîn bi hêztir in ji ber ku ew dikarin stekê bikar bînin da ku hejmareke bêsînor agahiyê hilînin. Ev bîra zêde rê dide PDA-yan ku di ziman de hejmara 0 û 1an bişopînin
.
PDA ji bo wiha tevdigere:
1. Ew di rewşek destpêkê de dest pê dike û 0-an ji têketinê dixwîne, her 0-ê dixe stikê.
2. Piştî xwendina yekem 1, ew derbasî rewşek nû dibe û ji bo her 0 xwendina ji têketinê dest bi derxistina 1-an ji stikê dike.
3. Ger steck vala be dema ku têketin biqede, PDA têketinê qebûl dike, nîşan dide ku hejmara 0yan bi hejmara 1an re li hev dike.
Ev mekanîzmaya bikaranîna stackê ku jimara 0 û 1-an li hev dike, kapasîteya PDA-yan destnîşan dike ku zimanên ku ne birêkûpêk in lê ji çarçoweyê bêpar in nas bikin.
Nimûne û Encamên Zêdetir
Mînaka rêzê bifikirin ji zimên
. PDA dê vê rêzê bi pêvekirina her 0-ê li ser stêkê gava ku ew wan dixwîne pêvajoyê bike. Piştî xwendina sê 0-an, stêk dê sê sembolan bihewîne, ku her yek 0-yê temsîl dike. Dema ku PDA 1-yên paşerojê dixwîne, ji bo her 1-an sembolek ji stikê derdixe. Dema ku têketin bi tevahî were xwendin, stêk vala ye, ev nîşan dide ku input tê qebûl kirin.
Berevajî vê, otomatek bêdawî dê nikaribe hejmara 0 û 1-an bişopîne, ji ber ku ew mekanîzmaya stakê tune ye. Bêyî şiyana hilanîn û vegerandina hejmareke bêsînor ji sembolan, otomatek bêdawî nikare piştrast bike ku hejmara 0-an bi hejmara 1-an re ye, û dibe sedem ku nekare wî zimanî nas bike. .
Cûdahiya di navbera zimanên birêkûpêk û yên bê kontekst de di zanistiya kompîturê ya teorîkî de girîng e û di warên wekî sêwirana zimanê bernamekirinê û parskirinê de bandorên pratîkî hene. Rêzimanên bê-contekst, ku zimanên bê kontekst diafirînin, di pênaseya hevoksaziya zimanên bernamesaziyê de bi berfirehî têne bikar anîn. Qabiliyeta naskirina zimanên bê-conteks bi karîgerî bi karanîna PDA-yan, pêşkeftina parserên ku ji berhevkar û wergêran re bingehîn in bingeh digire.
Ne-rêkûpêkî ya tixûbên otomatên bêdawî destnîşan dike û hewcedariya modelên hesabker ên bihêztir ên mîna otomatên pushdown ji bo naskirina çînek berfireh a zimanan ronî dike. Ev ciyawazî ne tenê teorîk e, lê di sêwirandin û pêkanîna pratîkî ya zimanên bernamekirinê û amûrên ku wan pêvajo dikin de bandorên kûr hene.
Pirs û bersivên din ên vê dawiyê di derbarê EITC/IS/CCTF Bingehên Teoriya Tevliheviya Hesabkirinê:
- Rola teorema vegerê di xwenîşandana nebiryarbûna ATM de çi ye?
- Dema ku PDA-ya ku dikare palindroman bixwîne bihesibîne, gelo hûn dikarin geşedana stikê bi hûrgulî hûrgulî bikin dema ku têketin, yekem, palindromek, û ya duyemîn jî, ne palindrom be?
- Bi berçavgirtina PDA-yên ne-determînîst, lihevkirina dewletan ji hêla pênasê ve gengaz e. Lêbelê, PDA-yên ne-determînîst tenê stekek heye ku nekare bi hevdemî di gelek dewletan de be. Ev çawa gengaz e?
- Mînaka PDA-yan çi ye ku ji bo analîzkirina seyrûsefera torê û nasîna qalibên ku binpêkirinên ewlehiyê yên potansiyel destnîşan dikin tê bikar anîn?
- Wateya wê çi ye ku zimanek ji yê din bi hêztir e?
- Ma zimanên hesas ên kontekstê ji hêla Makîneya Turing ve têne nas kirin?
- Meriv çawa FSM rêzikên binary bi hêjmarên '1' yên zewac nas dike pênase bike û nîşan bide ku dema ku rêzika têketinê 1011 hildiweşîne çi diqewime?
- Nedetermînîzm çawa bandorê li fonksiyona veguherînê dike?
- Ma zimanên birêkûpêk bi Makîneyên Dewleta Dawî re hevwate ne?
- Ma pola PSPACE ne bi pola EXPSPACE re wekhev e?
Pirs û bersivan bêtir li Bingehên Teoriya Tevliheviya Hesabkirinê ya EITC/IS/CCTF bibînin