Mitä tarkoittaa tilakoneen laittaminen toisen tilakoneen sisälle?
"finite state automaton" eli "äärellinen automaatti" kai on kyseessä?
Tilakone tilakoneen sisällä
12
827
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
Aivosyöpää sairastava Olga Temonen TV:ssä - Viimeinen Perjantai-keskusteluohjelma ulos
Näyttelijä-yrittäjä Olga Temonen sairastaa neljännen asteen glioomaa eli aivosyöpää, jota ei ole mahdollista leikata. Hä802799Pelotelkaa niin paljon kuin sielu sietää.
Mutta ei mene perille asti. Miksi Venäjä hyökkäisi Suomeen? No, tottahan se tietenkin on jos Suomi joka ei ole edes soda2931610Mikä saa ihmisen tekemään tällaista?
Onko se huomatuksi tulemisen tarve tosiaan niin iso tarve, että nuoruuttaan ja tietämättömyyttään pilataan loppuelämä?2461517- 871361
IL - VARUSMIEHIÄ lähetetään jatkossa NATO-tehtäviin ulkomaille!
Suomen puolustuksen uudet linjaukset: Varusmiehiä suunnitellaan Nato-tehtäviin Puolustusministeri Antti Häkkänen esittel4011339Nyt kun Pride on ohi 3.0
Edelliset kaksi ketjua tuli täyteen. Pidetään siis edelleen tämä asia esillä. Raamattu opettaa johdonmukaisesti, että3961273Esko Eerikäinen tatuoi kasvoihinsa rakkaan nimen - Kärkäs kommentti "Ritvasta" lävähti somessa
Ohhoh! Esko Eerikäinen on ottanut uuden tatuoinnin. Kyseessä ei ole mikä tahansa kuva minne tahansa, vaan Eerikäisen tat381017Kiitos nainen
Kuitenkin. Olet sitten ajanmerkkinä. Tuskin enää sinua näen ja huomasitko, että olit siinä viimeisen kerran samassa paik2979Hyväksytkö sinä sen että päättäjämme ei rakenna rauhaa Venäjän kanssa?
Vielä kun sota ehkäpä voitaisiin välttää rauhanponnisteluilla niin millä verukkeella voidaan sanoa että on hyvä asia kun329854Miksi Purra-graffiti ei nyt olekkaan naisvihaa?
"Pohtikaapa reaktiota, jos vastaava graffiti olisi tehty Sanna Marinista", kysyy Tere Sammallahti. Helsingin Suvilahden254832