2011. február 17.

JFLAP: formális nyelvek és automata elmélet

Következő posztunkban a modern nyelvelméleteket megtermékenyítő és később rájuk visszaható témákhoz kívánunk egy kis segítséget adni. Nem az elméletekhez, nem a témák megalapozásával fogjuk ezt elérni. Ezekhez csupán szakirodalmat adunk. Inkább egy eszközre hívjuk fel a figyelmet. A szakirodalom alapján pedig az eszköz, a JFLAP segítségével pedig el lehet indulni a felfedezés, az önálló felfedezésen alapú elsajátítás felé.

Valószínűleg nem egyedüliként vagyok, akinek segítenek a vizualizációs eszközök a megértés során. Továbbá nem vagyok egyedül, akinek segít, ha gyakorlatban ki is próbálhatom azt, amit tanulok és játék a során fedezem fel magamnak a témát. Ez az automata elméletre és a formális nyelvekre különösen igaz. - Régen sokat kerestem egy eszközt ehhez, de sokáig nem találtam. Nem régiben egy külföldi kurzusleírás során találtam rá a JFLAP-ra, ami nem csak nyelvészeknek lehet hasznos, hanem bárkinek, aki a számítástudomány alapjaival, az automatákkal és formális nyelvekkel szeretne komolyabb kapcsolatba kerülni. A sokoldalú JFLAP segítségével a determinisztikus automatáktól a környezet-független nyelvtanok pumpálási tételének fogalmaival is könnyedén megbarátkozhatunk.

A JFLAP

Egy olyan programcsomag, ami grafikus felületű segítséget biztosít az alapvető fogalmak elsajátításához. A programot java nyelven implementálták, így platformfüggetlen. A programot Appletként – böngészőben futó alkalmazásként – is elérhetjük, amennyiben számítógépünkre telepítettük a java fordítót és böngészőnkben engedélyezzük az Appletek futtatását. A program kipróbálásához ennyi bőven elegendő is. De komolyabb munkához érdemes beszereznünk a mindössze 10 MB-os programot, amit a következő adatlap kitöltésével meg is tehetünk. (Ha valamilyen problémánk merülne fel az Applet vagy letöltött programmal kapcsolatban, itt kaphatunk segítséget.) A projekt utolsó fejlesztése 2009 augusztus 28-án történt, de a több mint 10 éve álló programcsomag tudásában bőven elegendő a célkitűzéshez, az automata elméletek és a formális nyelvek alapfogalmainak elsajátításához.

Chomsky-féle nyelvosztályok

A formális nyelvektől eredeztethető Chomsky nyelvhierarchia fogalma, ami a Chomsky-féle nyelvosztályok szétválasztásához vezetett. Nyelvészeti blog lévén, számunkra főleg ez a terület a lényeges. A generatív nyelvek, amelyeket egy grammatika segítségével generálhatunk és a grammatikák típusának segítségével jellemezhetünk. Ezen grammatikákat az őket meghatározó helyettesítési szabályok bonyolultsága alapján négy osztályba sorolhatunk. Pontosítva, ezen szabályok által a nyelveket sorolja négy különböző nyelvosztályba Chomsky, mint a 0-ás , a megszorítatlan nyelvek, az 1-es, a környezet függő nyelvek, a 2-es, a környezetfüggetlen nyelvek, továbbá a 3-as, a reguláris nyelvek osztálya.

„Az egyes nyelvosztályokban a helyettesítési szabályok alakjára vonatkozóan Chomsky az osztály sorszámának növekedésével egyre szigorúbb megkötéseket írt elő. Ezek szerint a legkevésbé kötött nyelvtanú a 0-ás nyelvosztály. Itt semmiféle külön megkötés nincsen.” (Bach 2004: 20)

Az eredeti négy nyelvosztálynál már többet feltételeznek a kutatók, mint például az enyhén környezetfüggő nyelvtanok (Alberti 2006: 251-270).

Formális nyelvekről és az Automata elméletekről a következő két könyvet tudom ajánlani:

Alberti Gábor 2006, Matematika a természetes nyelvek leírásában : I-II. Tinta, Budapest.
Bach Iván 2001, Formális nyelvek : egyetemi tankönyv, Typotex, Budapest.

A JFLAP bővebb megismeréséhez a pedig a JFLAP tutorial oldalát tudom javasolni.

A tutorialt érdemes feladatról-feladatra kipróbálni, hogy megismerjük az eszközünk képességeit. A szakirodalom segítségével pedig mélyebbre áshatunk a témában. A megismert új fogalmakat pedig egyből kipróbálhatjuk a JFLAP segítségével. Továbbá, ha JFLAP-ba beleszerettünk, akkor erősen javallott a hozzá írt könyv, a JFLAP - an interactive formal languages and automata package elolvasnunk.

Nincsenek megjegyzések: