Mitä tarkoittaa tilakoneen laittaminen toisen tilakoneen sisälle?
"finite state automaton" eli "äärellinen automaatti" kai on kyseessä?
Tilakone tilakoneen sisällä
12
844
Vastaukset
- 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
Klaukkalan onnettomuus 4.4
Klaukkalassa oli tänään se kolmen nuoren naisen onnettomuus, onko kellään mitään tietoa mitä kävi tai ketä onnettomuudes1024457Yleltä tyrmäävä uutinen
Ylen uutisen mukaan Raamattu on keksitty n. 2600. Putoaako kristinuskolta pohja kokonaan alta pois? https://yle.fi/a/743821178- 1861052
Pakko kertoa mies
Äitini tietää, että olen ihastunut sinuun. 😳 halusin että hän näkisi sinun kuvan ja pyysin googlaamaan sinua. Kommentti1091032Sinä vain tulit elämääni
Ja joku tarkoitus sillä on ollut. Näyttämään mitä olen ja kuinka arvokas voisin olla. Se muutti ja käänsi elämäni suunna83903Millaisia ajatuksia on kaivatusta ja tilanteestanne tänään?
Kerro omista mietteistäsi tai lähetä terveisiä. Ehkä hän lukee ja lähettää sinulle takaisin omia mietteitään.47901- 64891
Riitta-Liisa ja Toni Roponen: Ero! Riitta-Liisa Roponen kertoo asiasta Instagramissa.
Riitta-Liisa ja Toni Roponen eroavat. Riitta-Liisa Roponen kertoo asiasta Instagramissa. – Talvi on ollut elämäni synk10847- 64846
Onko se niin
Että meillä molemmilla on niin isot egot ettei voi alentua myöntämään kuin tykkää toisesta64816