Tilakone tilakoneen sisällä

mreposk

Mitä tarkoittaa tilakoneen laittaminen toisen tilakoneen sisälle?

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

12

894

    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. Purra hyökkää nyt suomalaisen duunarin kimppuun teettämällä mamuilla palkatonta työtä

      Niinpä niin. Persut duunaripuolue, HAH. Joko alkaa kovapäisinkin persu älyämään, että persut ovat Suomen kansan vastain
      Maailman menoa
      364
      12306
    2. Purra ehdottaa vaan Tanskan mallia, joka on erittäin hyvä malli

      Purra ehdotti helmikuussa Suomeen Tanskan mallia, jossa maahanmuuttajilta vaaditaan työntekoa sosiaalitukien saamiseksi.
      Maailman menoa
      255
      5377
    3. Kokoomusnuoret: Sosiaalitukien työvelvoitteen tulisi koskea kaikkia

      Riikka Purra on esittänyt, että maahanmuuttajilta tulisi edellyttää palkatonta työtä sosiaalitukien vastineeksi. Kokoom
      Maailman menoa
      212
      3918
    4. Purra vaatii: Työvelvoite maahanmuuttajille ja kantasuomalaisille pitkäaikaistyöttömille

      Jos Perussuomalaiset ja Kokoomus ovat seuraavan hallituksen kaksi johtavaa puoluetta, on suomalaisille pitkäaikaistyöttö
      Perussuomalaiset
      195
      2573
    5. Jyrki Linnankivi, Jyrki 69 - Goottirokkarista kirkonmieheksi Lappiin!

      Jyrki Linnankivi eli Jyrki 69 on The 69 Eyes -rockyhtyeen vokalisti. Lauluhommien lisäksi hän sanoittaa, säveltää ja sov
      Työ ja opiskelu
      15
      1962
    6. Onnea Maria ja Vilma Amazing Race -voitosta!

      Maria Guzenina ja Vilma Vähämaa voittivat Amazing Race Suomi -kisan. Voiton hetkellä Guzenina paljasti, miksi valitsi Vi
      Tv-sarjat
      19
      1824
    7. Mikä on mielestäsi paras miestyyppi?

      Esimerkit kärjistettyinä: a) perustavallinen/tasainen b) himourheilija c) varakas, turvallinen elättäjä d) puolikrimina
      Ikävä
      167
      870
    8. Martina Aitolehti

      Instagramissa pomppas esille Martinan kumipallot. Ihan säikähin. Ja tää on Martina-ketju!
      Kotimaiset julkkisjuorut
      271
      842
    9. No kolahtaako kukaan

      Samalla tavalla kuin mä? Harmi kun et uskaltanut kohdata. Ehkä me löydetään jotkut muut jotka voi olla konkreettisempiak
      Ikävä
      74
      752
    10. Rippituoli

      Kerro joku synkkä tai outo salaisuus, joka liittyy ikävääsi kaivattuasi kohtaan. Tee tunnustus anonyyminä. Se helpottaa
      Ikävä
      59
      706
    Aihe