Tilakone tilakoneen sisällä

mreposk

Mitä tarkoittaa tilakoneen laittaminen toisen tilakoneen sisälle?

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

12

879

    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. Nainen kokki autossa kammottavan kuoleman sähköauto-Teslan syttyessä tuleen.

      https://www.is.fi/autot/art-2000011652873.html Näin vaarallisia sähköautopalot voivat olla.
      Maailman menoa
      84
      5157
    2. Persuja ei aluevaltuustoissa näy

      Ei tunnu persuja paljon paikalliset asiat kiinnostavan, vaan ainoastaan ulkomaalaiset, joku Israel ja Trumpin fanitus.
      Maailman menoa
      25
      3480
    3. Päivän Riikka: Uudenkaupungin autotehdas hiljeni

      Näin ne 100 000 uutta pysyvää ei-tempputyötä yksityiselle sektorille tämän hallituksen ansiosta syntyy. Työntekijöille j
      Maailman menoa
      38
      2828
    4. Riikka vie Suomen kohta ykköseksi työttömyyskisassa

      Espanja: 10,5 % Suomi: 10,3 % Ruotsi: 9,3 % Kisa on tiukkaa, mutta Riikalla hyvä draivi päällä. Vasemmistolaisen päämin
      Maailman menoa
      9
      1972
    5. Kerro kaivattusi nimi tai nimikirjaimet

      🌠 Tähdenlento! Kirjoittamalla kaivattusi nimen tai nimikirjaimet tähän, saattaa toiveesi toteutua.
      Ikävä
      58
      1820
    6. Miksi pitäisit enemmän

      Minusta kuin siitä toisesta?
      Ikävä
      47
      1586
    7. Alkuvuodesta poistuu työttömyyskorvaus kaikilta joilla on säästössä rahaa

      Tippuu korvaukselta iso määrä työttömiä.
      Maailman menoa
      263
      1476
    8. Mitä meidän välillä

      Tulee tapahtumaan vai tuleeko mitään?
      Ikävä
      94
      1382
    9. Tämmönen höpsö

      Höpönassu mä olen. En mikään erikoinen…hölötän välillä ihan levottomia. Tykkäisit varmasti jos olisin siellä sun vieress
      Suhteet
      44
      1356
    10. Hiljaisuus

      Tarkoittaa välinpitämättömyyttä, henkistä väkivaltaa ja kiusaamista. Olet valinnut hiljaisuuden.
      Ikävä
      73
      1078
    Aihe