Ero sivun ”Yhteydetön kielioppi” versioiden välillä

Wikipediasta
Siirry navigaatioon Siirry hakuun
[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
ZéroBot (keskustelu | muokkaukset)
p r2.7.1) (Botti lisäsi: ca:Gramàtica lliure de context
p Botti poisti 27 Wikidatan sivulle d:q338047 siirrettyä kielilinkkiä
Rivi 68: Rivi 68:


[[Luokka:Formaalit kielet]]
[[Luokka:Formaalit kielet]]

[[bn:প্রসঙ্গমুক্ত ব্যাকরণ]]
[[ca:Gramàtica lliure de context]]
[[cs:Bezkontextová gramatika]]
[[de:Kontextfreie Grammatik]]
[[en:Context-free grammar]]
[[es:Gramática libre de contexto]]
[[fa:گرامر مستقل از متن]]
[[fr:Grammaire non contextuelle]]
[[gl:Gramática libre de contexto]]
[[ko:문맥 자유 문법]]
[[hr:Kontekstno neovisna gramatika]]
[[it:Grammatica libera dal contesto]]
[[he:דקדוק חופשי-הקשר]]
[[hu:Környezetfüggetlen nyelvtan]]
[[mk:Контексно слободна граматика]]
[[nl:Contextvrije grammatica]]
[[ja:文脈自由文法]]
[[pl:Gramatyka bezkontekstowa]]
[[pt:Gramática livre de contexto]]
[[ru:Контекстно-свободная грамматика]]
[[sk:Bezkontextová gramatika]]
[[sr:Контекстно слободна граматика]]
[[sh:Kontekstno neovisna gramatika]]
[[sv:Kontextfri grammatik]]
[[ta:இடம் சாரா இலக்கணம்]]
[[uk:Контекстно-вільна граматика]]
[[zh:上下文无关文法]]

Versio 9. maaliskuuta 2013 kello 15.57

Yhteydetön kielioppi tai kontekstiton kielioppi on kielitieteessä ja tietojenkäsittelytieteessä formaali kielioppi, jossa jokainen kirjoitussääntö on muotoa

V → w

missä V on välike (välisymboli) ja w päätemerkeistä (päätesymboleista) ja/tai välikkeistä koostuva merkkijono. Korvauksen voi tehdä aina riippumatta V:n kontekstista eli sitä ympäröivistä symboleista; tästä nimi yhteydetön tai kontekstiton. Formaali kieli on yhteydetön jos sen tuottaa yhteydetön kielioppi.

Formaali määritelmä

Yhteydetön kielioppi on nelikko , missä

  • on kieliopin päätemerkkien äärellinen joukko
  • on kieliopin välikkeiden äärellinen joukko
  • P on kieliopin sääntöjen eli produktioiden (äärellinen) joukko
  • S on joukon alkio, kieliopin välikkeisiin kuuluva lähtösymboli
  • P:n alkiot ovat muotoa

Esimerkkejä

Esimerkki 1:

Yksinkertainen yhteydetön kielioppi on

S → aSb | ε

Kielioppi tuottaa kielen

Esimerkki 2:

Seuraava kielioppi tuottaa sellaisista aakkoston {a,b} merkkijonoista koostuvan kielen, joissa on eri määrä merkkejä a ja b.

S → U | V
U → TaU | TaT
V → TbV | TbT
T → aTbT | bTaT | ε

Tässä T voi tuottaa kaikki merkkijonot, joissa on sama määrä a:ta ja b:tä. U tuottaa merkkijonot, joissa on enemmän a- kuin b-merkkejä ja V vastaavasti sellaiset jonot, joissa a:ta on vähemmän.

Johdot ja jäsennyspuut

On kaksi tapaa kuvata kuinka tietty merkkijono voidaan tuottaa annetusta kieliopista. Yksinkertaisempi tapa on listata peräkkäiset symbolijonot alkaen lähtösymbolista ja päättyen lopulliseen merkkijonoon. Jos jokaisessa johdon askeleessa produktiota käytetään merkkijonon vasemmanpuoleisimpaan välikkeeseen, kyseessä on ns. vasen johto, vastaavasti voidaan määritellä oikea johto. Esimerkiksi seuraavassa kieliopissa

S → S + S | 1

merkkijonon "1 + 1 + 1" voi tuottaa vasemmalla johdolla (S → S + S → 1 + S → 1 + S + S → 1 + 1 + S → 1 + 1 + 1) tai oikealla johdolla (S → S + S → S + 1 → S + S + 1 → S + 1 + 1 → 1 + 1 + 1).

Johtoja voidaan kuvata myös jäsennyspuilla. Jäsennyspuut karsivat johdoista pois epäoleelliset erot. Esimerkiksi edellä kuvatussa vasemmassa johdossa jäsennyspuu on samanlainen, suoritettiinpa produktiot sitten järjestyksessä 1 + S + S → 1 + 1 + S → 1 + 1 + 1 tai 1 + S + S → 1 + S + 1 → 1 + 1 + 1. Seuraavassa on esitetty tämän johdon jäsennyspuu:

           S 
          /|\
         / | \
        /  |  \
       S  '+'  S
       |      /|\
       |     / | \
      '1'   S '+' S
            |     |
           '1'   '1'

Jos samalle merkkijonolle on kieliopissa mahdollista laatia useita jäsennyspuita, kieliopin sanotaan olevan moniselitteinen.

Normaalimuodot

Kukin yhteydetön kielioppi voidaan muuttaa vastaavaksi Chomskyn normaalimuodossa tai Greibachin normaalimuodossa olevaksi kieliopiksi; jälkimmäinen sillä ehdolla, ettei kielioppi tuota tyhjää merkkijonoa. "Vastaava" tarkoittaa tässä sitä, että kieliopit tuottavat saman kielen.

Chomskyn normaalimuodossa olevan kieliopin produktiot ovat erityisen yksinkertaisia, minkä vuoksi tällä normaalimuodolla on sekä teoreettisia että käytännön sovelluksia. Sen avulla voidaan esimerkiksi konstruoida algoritmi, joka ratkaisee kuuluuko annettu merkkijono kieliopin tuottamaan kieleen vai ei (CYK-algoritmi).

Katso myös

Automaattiteoria: formaalit kielet ja formaalit kieliopit
Chomskyn
hierarkia
Kielioppi Kieli Tunnistusautomaatti
luokka 0 Rajoittamaton Rekursiivisesti numeroituva Turingin kone
Rajoittamaton Rekursiivinen Totaalinen Turingin kone
luokka 1 Yhteysherkkä Yhteysherkkä Lineaarisesti rajoitettu
luokka 2 Yhteydetön Yhteydetön Pinoautomaatti
luokka 3 Säännöllinen Säännöllinen Äärellinen
Kukin luokka on sen yläpuolisen luokan aito osajoukko.