Kirjoittaja Aihe: Vinkkejä Conwayn Game of Lifeen?  (Luettu 11673 kertaa)

Jere Sumell

  • Käyttäjä
  • Viestejä: 800
  • Talous, Hallinto ja Markkinointi (AMK, 2017),B.B.A
    • Profiili
    • Tietokone-blogi
Vinkkejä Conwayn Game of Lifeen?
« : 25.06.26 - klo:09.51 »
Ajattelin ottaa loppukesän omaksi "projektiksi" Conwayn Game Of Life-esityksen, mutta ennen soveltamista erityisesti reaalielämään pitäisi ohjelmoida säännöstö siten, että ilman ihmiskäyttäjän interaktiota ohjelma toimisi omillaan.

En kaipaa niinkään teknistä valmista ohjelmakoodia miltään kieleltä, mutta yleisiä vinkkejä esim. missä järjestyksessä 4:n säännön tarkistus ylijoukkoistumisen ja alijoukkoistumisen, sekä elämän syntymisen (sähkön syöttö portista läpi, 1) olisi järkevintä käydä läpi olettaen, että kirjoitan jokaisen säännön osalta oman metodin/funktion.

Sitten oma metodi tietyn solun/alkion tarkastamiseen onko elossa vai kuollut.

Aluksi ajattelin käydä läpi 3x3 -taulukon (rajoitettu alue) kaikki tilanteet rekursiona aina uusi tilanne syöteparametrina alkutilanteena, mikä on oleellinen.

Lisäksi olisi mukavaa kuulla, mitä moni varmasti ohjelminut samaa tällä palstalla, minkälaisia mielenkiintoisia alkutilanteina on olemassa ja mikä oletuksena tai perusteena alkutilanteelle. Menee jo soveltamisen puolelle, mutta kaikenlainen keskustelu tämän ympärillä on kiintoisaa.
Free Internet and  people for humans all over the globe!

(Profiilikuvassa oma valokuvani GIMPissä editoituna Disney Classic-väripaletin väreihin ja muunnettuna bittikartta-tiedostosta vektorigrafiikaksi.)

nm

  • Käyttäjä
  • Viestejä: 17112
    • Profiili
Vs: Vinkkejä Conwayn Game of Lifeen?
« Vastaus #1 : 25.06.26 - klo:11.56 »
Suosittelen parikoodausta LLM:n kanssa. Ilmaiset versiotkin osaavat auttaa tällaisissa suppeissa tehtävissä oikein hyvin.

Jere Sumell

  • Käyttäjä
  • Viestejä: 800
  • Talous, Hallinto ja Markkinointi (AMK, 2017),B.B.A
    • Profiili
    • Tietokone-blogi
Vs: Vinkkejä Conwayn Game of Lifeen?
« Vastaus #2 : 25.06.26 - klo:16.37 »
Suosittelen parikoodausta LLM:n kanssa. Ilmaiset versiotkin osaavat auttaa tällaisissa suppeissa tehtävissä oikein hyvin.

Kiitos vinkistä! Tekoäly-buumin viime aikona yhä vallaten alaa on saanut minut vähentämään ohjelmointipuolen harrastusta, ja tietokoneen käyttöä muutoinkin. Täytyy myöntää, että lähinnä mielipidekysymyksissä G:n tekoälyyn "sokeasti" itse myös hairahtunut pitämään ehdottomana vastauksena ilman laajempaa lähdetarkistuksia.

Pitäisi varmaan hakeutua johonkin tekoälyn käyttöön ja sen soveltamiseen -ihan reaalielämän kursseille, mitä se on tullut jäädäkseen tuntuu siltä, 4 korkeakoulututkintoa olen aloittanut, ja yhdestä saanut ainoastaan paperit ulos, niin tekoälystä ollut mitään opinnoissa.

Taas G:n tekoälystä luettuna,ja "absoluuttisena totuutena" pitäen näköjään tuo laaja kielimalli soveltuu myös koodauksen apulaisen rooliin. Erityisesti virheellisten lopputulosten välttämiseksi voi olla ihan paikallaan AI-avustajaa käyttää.
Free Internet and  people for humans all over the globe!

(Profiilikuvassa oma valokuvani GIMPissä editoituna Disney Classic-väripaletin väreihin ja muunnettuna bittikartta-tiedostosta vektorigrafiikaksi.)

Jere Sumell

  • Käyttäjä
  • Viestejä: 800
  • Talous, Hallinto ja Markkinointi (AMK, 2017),B.B.A
    • Profiili
    • Tietokone-blogi
Vs: Vinkkejä Conwayn Game of Lifeen? [RATKAISTU]
« Vastaus #3 : 02.08.26 - klo:20.11 »
Sen sijaan, että olisin itse lähtenyt ohjelmoimaan tyhjältä pöydältä tätä, tyydyin liutaan aihetta käsittelevään YT-videoon ja informaativisten nettitekstisisältöjen (osa AI-vastauksia) ja nettiselaimella simuloitava sukupolvesta sukupolveen asteittain käyden läpi jopa mielenkiintoisa näköaloja löysin.

Seuraavana vaiheena pidän selvittää, miten voin hyödyntää kaiken tämän GOF -valistuneemman tietämysekskursion jäljiltä käytännön elämässä.
Free Internet and  people for humans all over the globe!

(Profiilikuvassa oma valokuvani GIMPissä editoituna Disney Classic-väripaletin väreihin ja muunnettuna bittikartta-tiedostosta vektorigrafiikaksi.)

Jtkone

  • Käyttäjä
  • Viestejä: 968
    • Profiili
Vs: Vinkkejä Conwayn Game of Lifeen?
« Vastaus #4 : 14.08.26 - klo:19.10 »
Sinällään mielenkiintoinen aihe.
Tuli jo 80-luvulla MSX koneella näpyteltyä moinen ohjelma. Tosin tuolloin en ymmärtänyt pelin ideaa (ja koko ohjelmointikin oli jostakin sen aikaisesta tietokonelehdestä kopioitu).
Tuohan oli matemaatikko Conwayn idealeikki, jossa sinällään yksinkertaisilla säännöillä saadaan aikaan mielenkiintoisia tuloksia.
@Jere, tuota varmastikin kannattaa tutkia ja laittaa tuloksistaan tietoa?

Jere Sumell

  • Käyttäjä
  • Viestejä: 800
  • Talous, Hallinto ja Markkinointi (AMK, 2017),B.B.A
    • Profiili
    • Tietokone-blogi
Vs: Vinkkejä Conwayn Game of Lifeen?
« Vastaus #5 : 28.09.26 - klo:22.31 »
@Jere, tuota varmastikin kannattaa tutkia ja laittaa tuloksistaan tietoa?

Juu, filosofiaani kuuluu avoimesti tulosten julkaisu ja alttiiksi kritiikille ammuttavaksi alas, vaikka olisin miten metsässä omien tulosteni kanssa.

Itseltäni puuttuu teoria/tieto-pohja valta-osasta reaalielämän sovelluksista, joissa tätä gol -automaatiota voisi hyödyntää. Ensikerran, kun luin tästä Conwayn matematiikasta, niin lääketieteen parissa hyödyntäminen reaalielämässä kävi itselläni mielessä ja onhan se yksi ala mm. ympäristösuunnittelun ja paikallisen tason yritysten selviytymistä kipailusta jollain tietyllä raja-arvot määritellyillä pinta-aloilla.

En ole vieläkään käytännön implentointeja lainkaan suorittanut, mitä 3*3 -matriisista aloitan ja sitten laajennan aluetta varmistettunani koodini oikein toimivaksi.

Tähän en ole vielä käyttänyt yhtä paljon perehtymistunteja vapaa-ajallani, mitä Tetriksen ratkaisualgoritmeihin, mitä samalla olen lukenut nyt kesällä 2026 algoritmiikkaan liittyvää kirjallisuutta lähinnä ahneista algoritmeistä, mitä Tetris-ratkaisuihin voi liittyä Dijkstra:n algoritmi, missä on paino, tai tietty "hintalappu" jokaisen siirron osalta ilman menneisyyttä käsittääkseni.

Tämän säikeen aloitin ohjelmointi-kategoriassa, ja vaikka en vinkkejä aluksi kaivannutkaan itse tekniseen implementointiin, julkaisen nyt ensimmäisen koodini, joka sisältää seuraavat toiminnot:

  • 3*3 -matriisin alustaminen satunnaisarvolla 1 tai 0.
  • Jos annettu koordinaatti sisältää elossa olevan solut, tulostuu teksti "elossa", sekä koordinaatti, jossa alkio on elossa.
Koodia: [Valitse]
import random;
#Funktio 3*3 -matriisin alustukseen satunnaisarvolla {1,0}
def alusta():
    arr =  [[0]*3]*3;
    for x in range(len(arr) - 1, -1, -1):
        for y in range(len(arr) - 1, -1, -1):
            arr[x][y] = random.randrange(0,2);
    return arr;

#Tarkistaa annetun alueen koordinaatin tilan.
def kuollut(arr,x,y):
    if arr[x][y] == 1:
        return ("elossa",x,y);
arr = alusta();

for x in range(len(arr)):
    for y in range(len(arr)):   
        if kuollut(arr,x,y):
            print (kuollut(arr,x,y))


Tulokset 3 ajokerran osalta:

ajokerta 1:
Koodia: [Valitse]
('elossa', 0, 0)
('elossa', 0, 1)
('elossa', 1, 0)
('elossa', 1, 1)
('elossa', 2, 0)
('elossa', 2, 1)
ajokerta 2
Koodia: [Valitse]
:

('elossa', 0, 1)
('elossa', 1, 1)
('elossa', 2, 1)
ajokerta 3:
Koodia: [Valitse]
('elossa', 0, 2)
('elossa', 1, 2)
('elossa', 2, 2)

 
« Viimeksi muokattu: 28.09.26 - klo:22.34 kirjoittanut Jere Sumell »
Free Internet and  people for humans all over the globe!

(Profiilikuvassa oma valokuvani GIMPissä editoituna Disney Classic-väripaletin väreihin ja muunnettuna bittikartta-tiedostosta vektorigrafiikaksi.)