Tilakone tilakoneen sisällä

mreposk

Mitä tarkoittaa tilakoneen laittaminen toisen tilakoneen sisälle?

"finite state automaton" eli "äärellinen automaatti" kai on kyseessä?

12

790

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • tilakoneeton

      tässä sitten kaksi tilakonetta, jossa toisen tilakoneen yhdessä tilassa, on määriteltynä toinen tilakone(tilamuuttuja) ja sillä tila. Toki voi olla monimutkaisempikin vuorovaikutus, mutta noin se menee nätisti sen toisen tilakoneen "sisälle".
      Itse ajattelen tämän homman paperilla niin, että on tilakoneavaruus(A4 arkki), jossa tilakonemuuttujat ovat järjestyksessä(peräkkäin) ja päälle laitetaan maskipaperi, johon on leikattu reikä, josta näkee pari noista muuttujista(saa itse päättää kuinka monta). Sitten kun luettelee kaikki tilat tilakone1, n1 tilaa, tilakone2 n2 tilaa, tiloja on yhteensä n1*n2, joista jokaisen pitää olla hyvin määritelty, jottei tulisi ohjelmaan virhettä.

    • käytännön guy

      huvituin kuoliaakseni kun kuulin tuon sanan ekan kerran. termi, jota käyttää vain yliopistohörhöt ja muut tohtorisedät, mutta mitään käytännön merkitystä sillä ei ole, kunhan saa päteä.

      • qweqeqeqeqw

        Et taida olla tehnyt juurikaan ohjelmistoja työksesi? Kyllä tilakoneita käytetään sellaisissa systeemeissä, joiden toimintavarmuus pitää olla 100%. Esimerkiksi sulautetuissa järjestelmissä kuten ohjaussysteemeissä noita on. On huomattavasti parempi tiedostaa ohjelmoivansa tilakonetta kuin tietämättään tehdä vähän niin kuin tilakoneen tyyppisen ohjelmointiratkaisun.


      • mreposk
        qweqeqeqeqw kirjoitti:

        Et taida olla tehnyt juurikaan ohjelmistoja työksesi? Kyllä tilakoneita käytetään sellaisissa systeemeissä, joiden toimintavarmuus pitää olla 100%. Esimerkiksi sulautetuissa järjestelmissä kuten ohjaussysteemeissä noita on. On huomattavasti parempi tiedostaa ohjelmoivansa tilakonetta kuin tietämättään tehdä vähän niin kuin tilakoneen tyyppisen ohjelmointiratkaisun.

        No, onko c tai java-luokkaa tai funktiota, joka pakottaa tiedostamaan ohjelman osan tilakone-luonteen, koska sitä luokkaa tms. käyttämällä voi tehdä vain tilakoneen ja sen voi tehdä helpommin kuin perustavoilla?

        Jos sellaista ei ole, niin sen voi kai antaa vaikka vastauksena tähän ja myös kielikohtaiselle palstalle.


    • Ogma

      Kun halutaan mallintaa ongelma yleisellä tasolla (eli mitä tehdään), niin se kerrotaan vähän ylemmällä tasolla Esim. rannekellossa voisi olla tilat NÄYTÄ_KELLONAIKA ja ASETA_HÄLYYTYS ja niiden välissä tilasiirtymät SiirryAsetus ja PalaaAsetus. ASETA_HÄLYYTYS tilan sisällä voidaan sitten hienontaa hälyytysajan asetus toiminto. Kuinka monta erilaista tapaa on asettaa kellonaika 12:00, jos alussa kellon aika on 00:00? Vai pitäisikö asetusaika olla heti alkuunsa olla asennettuna tähän hetkeen? Periaatteessa kellonajan asettaminen riippuu siitä kuin monta painiketta on käytössä jne. Tämän lisäksi tulee olla Aseta_Hälyytys ja Keskeytä_Hälyytys tilasiirtymät. No joo, ilman kuvaa on vähän hankala esittää tilannetta, mutta vastaus on vain se, että rakenteisuudella pyritään vähentämään tarpeetonta informaatiokohinaa...

      Mitä tulee tilakoneen akateemiseen puoleen, niin voisin vain sanoa käytännön guy:lle, että koko tietotekniikka perustuu tilakoneisiin. Tietokone sisältää suuren joukon tilakoneita (prosari, muistit oheislaitteet, kaikki softa), joita ilman tämäkin hyödytön keskustelu jäisi tekemättä. Käyttöliittymät ovat erinomainen esimerkki tilakoneista ja sisäkkäisistä tilakoneista (pääikkuna on perustila, dialogi sisäinen tilasiirtymä, dialogin tökkiminen aiheuttaa tapahtumia ja tilasiirtymiä tilasta toiseen eli kuvaa dialogin sisäistä tilakonetta. Jaa niin, protokollat on usein (tai voidaan tehokkaasti) kuvata tilakoneina, joten ilman protokollia tämäkin keskutelu jäisi näkemättä.

      Esimerkki foobar-kielellä toteuttu tilakone

      CLASS BINÄÄRINEN TILAKONE
      BOOLEAN TILA = FALSE

      CLICK()
      TILA = NOT TILA

      BOOLEAN GET
      RETURN TILA

      Eli
      ->|FALSE|------- CLICK() -------->|TRUE|
      |

      • Usko Savi-Puntti

        Tietotekniikassa tehdään järjetön määrä huonoa koodia kun liian monimutkaisia asioita yritetään laittaa väkisin tilakonemalliin. Juu, käyttöliittymässäkin on varmaan tilakonepiirteitä. Ei se vaan tee siitä tilakonetta jos osa käyttöliittymästä toimii tilakonemallin mukaan ja osa ei.


      • Ogma
        Usko Savi-Puntti kirjoitti:

        Tietotekniikassa tehdään järjetön määrä huonoa koodia kun liian monimutkaisia asioita yritetään laittaa väkisin tilakonemalliin. Juu, käyttöliittymässäkin on varmaan tilakonepiirteitä. Ei se vaan tee siitä tilakonetta jos osa käyttöliittymästä toimii tilakonemallin mukaan ja osa ei.

        En sanonut, että tilakonetta pitää käyttää aina ja kaikkialla. Aina se ei ole tilanteeseen sopivin juttu. Mutta olet oikeassa, väkisin vääntämällä hyvänkin työkalun saa tekemään vahinkoa.
        Käyttöliittymä on tilakone, joka sisältää lukuisia sisäkkäisiä ja rinnakkaisia tilakoneita. Yritin vain miettiä missä kohtaa käyttöliittymä ei olisi tilakone, mutta en keksinyt. Voisitko antaa esimerkin?


      • blgblagblaaag
        Usko Savi-Puntti kirjoitti:

        Tietotekniikassa tehdään järjetön määrä huonoa koodia kun liian monimutkaisia asioita yritetään laittaa väkisin tilakonemalliin. Juu, käyttöliittymässäkin on varmaan tilakonepiirteitä. Ei se vaan tee siitä tilakonetta jos osa käyttöliittymästä toimii tilakonemallin mukaan ja osa ei.

        Kyllä kaiken tietokoneella tehtävän, mihin tulee syötettä, voidaan kuvata tilakoneeksi. Tilakone on vain yksi esitysmuoto laskennan kuvaamiseksi.

        Ehkä tarkoitit, että tilakone ei ole aina se käytännöllisin muoto esittää vaikkapa juuri käyttöliityymän tilaa ja siirtymistä toiseen. Mutta aina se kyllä voidaan tilakoneeksi kääntää.

        Tilakone on hyödyllinen silloin, jos halutaan tutkia matemaattisesti jotain ominaisuuksia siitä laskennasta. Nuo tutkinnat sitten johtavat tuloksiin, joista voidaan johtaa kaikenlaisia algoritmeja ja havaintoja, jotka vuorostaan muuttuvat koodaajan kokemaksi todellisuudeksi siitä, mitä siellä koneen sisäisessä maailmassa oikein on mahdollista ja tapahtuu.


      • dx
        blgblagblaaag kirjoitti:

        Kyllä kaiken tietokoneella tehtävän, mihin tulee syötettä, voidaan kuvata tilakoneeksi. Tilakone on vain yksi esitysmuoto laskennan kuvaamiseksi.

        Ehkä tarkoitit, että tilakone ei ole aina se käytännöllisin muoto esittää vaikkapa juuri käyttöliityymän tilaa ja siirtymistä toiseen. Mutta aina se kyllä voidaan tilakoneeksi kääntää.

        Tilakone on hyödyllinen silloin, jos halutaan tutkia matemaattisesti jotain ominaisuuksia siitä laskennasta. Nuo tutkinnat sitten johtavat tuloksiin, joista voidaan johtaa kaikenlaisia algoritmeja ja havaintoja, jotka vuorostaan muuttuvat koodaajan kokemaksi todellisuudeksi siitä, mitä siellä koneen sisäisessä maailmassa oikein on mahdollista ja tapahtuu.

        ""Kyllä kaiken tietokoneella tehtävän, mihin tulee syötettä, voidaan kuvata tilakoneeksi. Tilakone on vain yksi esitysmuoto laskennan kuvaamiseksi. ""

        Nyt taisi mennä laskennan teoria uusiksi. :) Silloin kun itse opiskelin, oli olemassa vielä yleisiä tyypin 0 kielioppeja, kontekstiriippuvaisia (tyyppi 1), kontekstivapaita (tyyppi 2) sekä säännöllisiä kielioppeja (tyyppi 3). Vain viimeinen näistä generoi säännöllisen kielen joka on toteutettavissa tilakoneena. Muut eivät.


      • blgblagblaaag
        dx kirjoitti:

        ""Kyllä kaiken tietokoneella tehtävän, mihin tulee syötettä, voidaan kuvata tilakoneeksi. Tilakone on vain yksi esitysmuoto laskennan kuvaamiseksi. ""

        Nyt taisi mennä laskennan teoria uusiksi. :) Silloin kun itse opiskelin, oli olemassa vielä yleisiä tyypin 0 kielioppeja, kontekstiriippuvaisia (tyyppi 1), kontekstivapaita (tyyppi 2) sekä säännöllisiä kielioppeja (tyyppi 3). Vain viimeinen näistä generoi säännöllisen kielen joka on toteutettavissa tilakoneena. Muut eivät.

        :) Katos. Siitä onkin aikaa kun viimeksi luin noista. Näköjään unohtunut. Muistan jotain sinnepäin, että äärellistä tilakonetta on laajennettava heti alkuun pinolla, jotta päästäisiinn edes kontekstivapaisiin kieliin.

        Todellakin, äärellinen automaatti esittää juuri ne kielet, jotka ovat säännöllisiä.

        Olin väärässä.


      • Usko Savi-Puntti
        blgblagblaaag kirjoitti:

        Kyllä kaiken tietokoneella tehtävän, mihin tulee syötettä, voidaan kuvata tilakoneeksi. Tilakone on vain yksi esitysmuoto laskennan kuvaamiseksi.

        Ehkä tarkoitit, että tilakone ei ole aina se käytännöllisin muoto esittää vaikkapa juuri käyttöliityymän tilaa ja siirtymistä toiseen. Mutta aina se kyllä voidaan tilakoneeksi kääntää.

        Tilakone on hyödyllinen silloin, jos halutaan tutkia matemaattisesti jotain ominaisuuksia siitä laskennasta. Nuo tutkinnat sitten johtavat tuloksiin, joista voidaan johtaa kaikenlaisia algoritmeja ja havaintoja, jotka vuorostaan muuttuvat koodaajan kokemaksi todellisuudeksi siitä, mitä siellä koneen sisäisessä maailmassa oikein on mahdollista ja tapahtuu.

        Niin voihan melkein kaiken esittää tilakoneena. Jos mennään oikein laveaksi niin ihan mikä tahansa on tilakone. Koko tietokone on sellainen ja sen sisällä on tilakoneita jne. Nyt en vaan tajua mitä järkeä on puhua tilakoneista noin yleisellä tasolla koska ihan kaiken nimittäminen tilakoneeksi ei tuo keskusteluun tai suunnitteluun mitään lisä-arvoa.

        Sanotaan, että jos käyttöliittymässä kaikki on tilakonetta, niin mitä järkeä on puhua käyttöliittymän suunnittelusta tilakoneeksi? Eikö se olisi helpompaa puhua ihan vain käyttöliittymän suunnittelusta? Mihin sitä tilakonetta enää siinä vaiheessa tarvitaan? Siis puheessa, tarkentamaan, että se kyseessä on tilakone?


      • qweqweqwe
        Usko Savi-Puntti kirjoitti:

        Niin voihan melkein kaiken esittää tilakoneena. Jos mennään oikein laveaksi niin ihan mikä tahansa on tilakone. Koko tietokone on sellainen ja sen sisällä on tilakoneita jne. Nyt en vaan tajua mitä järkeä on puhua tilakoneista noin yleisellä tasolla koska ihan kaiken nimittäminen tilakoneeksi ei tuo keskusteluun tai suunnitteluun mitään lisä-arvoa.

        Sanotaan, että jos käyttöliittymässä kaikki on tilakonetta, niin mitä järkeä on puhua käyttöliittymän suunnittelusta tilakoneeksi? Eikö se olisi helpompaa puhua ihan vain käyttöliittymän suunnittelusta? Mihin sitä tilakonetta enää siinä vaiheessa tarvitaan? Siis puheessa, tarkentamaan, että se kyseessä on tilakone?

        Siitä, että tilakone-tyyppistä toteutusta kutsutaan tilakoneeksi on sama hyöty kuin millä tahansa muullakin abstraktiolla. Tilakoneiden toteuttamiseen on olemassa vanhat hyväksi todetut tavat, suunnittelumallit, design patternit yms. Jos toteutetaan tilakone tietämättä, että se on tilakone, yleensä ratkaisusta tulee huonompi kuin silloin kun se tiedetään. On parempi rakentaa käyttäen olemassaolevaa tietoa kuin yrittää keksiä kaikkea itse uudestaan (huonompana).


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Naiset miltä kiihottuminen teissä tuntuu

      Kun miehellä tulee seisokki ja ja sellainen kihmelöinti sinne niin mitä naisessa köy? :)
      Sinkut
      110
      8036
    2. Haistoin ensin tuoksusi

      Käännyin katsomaan oletko se todellakin sinä , otin askeleen taakse ja jähmetyin. Moikattiin naamat peruslukemilla. Tu
      Ikävä
      39
      2905
    3. Olet sä kyllä

      ihme nainen. Mikä on tuo sun viehätysvoiman salaisuus?
      Ikävä
      35
      2482
    4. Teuvo Hakkaraisesta tulee eurovaalien ääniharava

      Persuissa harmitellaan omaa tyhmyyttä
      Maailman menoa
      121
      2213
    5. Hiljaiset hyvästit?

      Vai mikä on :( oonko sanonut jotain vai mitä?
      Ikävä
      18
      1866
    6. Miksi kohtelit minua kuin tyhmää koiraa?

      Rakastin sinua mutta kohtelit huonosti. Tuntuu ala-arvoiselta. Miksi kuvittelin että joku kohtelisi minua reilusti. Hais
      Särkynyt sydän
      13
      1624
    7. Musiikkineuvos Ilkka Lipsanen eli Danny TV:ssä - Blondeja, hittibiisejä, räjäyttävä Danny Show...

      Ilkka Lipsanen eli Danny on viihdyttänyt meitä jo kuusi vuosikymmentä. Musiikkineuvos on myös liikemies, jonka voidaan
      Suomalaiset julkkikset
      38
      1479
    8. Turha mun on yrittää saada yhteyttä

      Oot mikä oot ja se siitä
      Suhteet
      10
      1456
    9. Kyllä poisto toimii

      Esitin illan suussa kysymyksen, joka koska palstalla riehuvaa häirikköä ja tiedustelin, eikö sitä saa julistettua pannaa
      80 plus
      15
      1425
    10. "Joka miekkaan tarttuu, se siihen hukkuu"..

      "Joka miekkaan tarttuu, se siihen hukkuu".. Näin puhui jo aikoinaan Jeesus, kun yksi hänen opetuslapsistaan löi miekalla
      Yhteiskunta
      14
      1379
    Aihe