Voisiko joku hahmottaa miten ristinolla pelissä voi toteuttaa suorien tarkistuksen? (en tarvitse koodia, vaan sanoilla voi kuvata)
Eli on vaikka 30x30 kentä ja pitäisi etsiä 5 suorat.
Peli vaikuttaa erittäin monimutkaiselta jopa 3x3 kentällä, jos pitäisi vielä toteuttaa tekoälykin.
Ristinolla
9
1978
Vastaukset
- void
Tarkoitatko ristinollaa (3x3) ruudukko vai sitä toista peliä missä laitetaan isompaan ruudukkoon rasteja ja pyritään saamaan 5 omaa peräkkäin?
Ratkaisuja on useita. Ristinollan tapauksessa voisit tehdä pelipuun, joka sisältää kaikki mahdollisuudet, muistaakseni pelipuun koko ei ole kovin suuri. Yleisemmässä tapauksessa pelipuun koko kasvaa liian suureksi, jolloin täytyisi käyttää jotain rajoitinta jolla estetään liian suuri kasvu. Siis tällä tavalla voit tarkistaa sekä rivit että varmistaa sen että konetta ei voi voittaa.
Helpompi tapa on 2-ulotteinen 3x3 -taulukko, jossa jokaista ruutua esittää 1 alkio, joka saa arvon 1 silloin kun se on risti ja -1 silloin kun se on nolla. (ristinollasta). Jos rivillä on 3 ristiä, sen summa on 3 ja kolme nollaa summa on -3 jne. Joten tarkistusrutiini yksinkertaisesti laskee rivien, sarakkeiden ja diagonaalien summan. Tyhjää ruutua esittää 0. Samalla kertaa voit kehittää logiikan, joka pyrkii löytämään ja blokkaamaan vastustajan 2 rivin sarjan.
Yleinen 30x30 -ruudukko on hiukan monimutkaisempi tapaus, mutta numerointia kannattaa käyttää. Keksin ainakin kaksi vaihtoehtoa, eli joko käydä 30 x 30-ruudukko järjestelmällisesti läpi riveittäin, sarakkeittain ja diagonaaleittain tai sitten talletetaan potentiaalisten rivien alku ja suunta johonkin listaan, ja poistetaan listalta ne jotka vastustaja on blokannut ja lisätään sinne uudet syntyvät listat. Jälkimmäistä ratkaisua voisi käyttää alkeelliseen päättelyyn.
Toivottavasti näistä ehdotuksista oli apua. Lisää voi löytyä netistä ja ehkä täältäkin tulee lisää vaihtoehtoja. - xo-xpert
3x3-ristinolla on oma "mielenkiintoinen" tapauksensa, jota tuskin kuitenkaan kannattaa pohtia tämän enempää...
Suorien (5 merkkiä) tarkistus on erittäin helppo toteuttaa. Ihmiselle haasteita tarjoavan tekoälyn toteuttaminen on paljon vaikeampaa.
Mutta ensinnäkin, 30x30 kenttä on toivottoman ahdas silloin, kun lähdetään tosissaan pelaamaan ristinollaa. Mikään ei ole sen ärsyttävämpää kuin todeta, että tila loppuu -- läiskitään tässä nyt merkkejä sinne ja tänne, että saadaan ruutu täyteen ja uusi peli käyntiin.
Suorien tarkistus tapahtuu siten, että jokaisen ruudukkoon lisätyn merkin jälkeen tarkistetaan ko. ruudusta alkaen ruudut vaaka- ja pystysuuntaan, sekä vielä vinottain aina neljän ruudun etäisyydelle saakka. Jos näistä 33:sta ruudusta löytyy viisi samaa merkkiä peräkkäin, peli on päättynyt. Koko "pelilautaa" on siis aivan turha käydä läpi tässä vaiheessa.
Tekoälyn toteuttamiseksi sen sijaan pelilauta on käytävä läpi ainakin "käytössä olevilta osin" ja jopa moneen kertaan. Homma etenee periaatteessa esim. siten, että tekoäly kokeilee sijoittaa merkkinsä vuorollaan jokaiseen vapaaseen ruutuun, tekee em. suorien tarkistuksen ja jos peli ei ratkennut, toistaa saman vastapuolen pelimerkillä.
Näin jatketaan kunnes löytyy pelin ratkaisuun johtava, tai ainakin paras siirto.
Tekoälyllä ei useinkaan voi laskea siirtoja pelin ratkaisuun saakka. Vaihtoehtoja kun on käytännössä ääretön määrä jo pienemmälläkin kuin 30x30 pelilaudalla. Jo tämän vuoksi on suorien tarkistuksen lisäksi voitava pisteyttää jokainen sijoitus, ts. "asema", tietyllä tavalla siten, että kahdesta vaihtoehdosta voidaan valita parempi. Vastapuolen asema pisteytetään samalla tavoin pyrkimyksenä minimoida vastapuolen etu ja mahdollisuudet.
Tekoälyn vaikeudet liittyvätkin lähinnä a) tuohon pisteytykseen ja b) vaihtoehtojen määrän rajaukseen. Vastaavat ongelmat ovat mm. Shakissa, vaikka vielä paljon monimutkaisempina.
Viiden merkin ristinolla on parhaimmillaan erittäin mukaansatempaava peli kaikessa yksinkertaisuudessaan. Shakissa sen sijaan mielenkiintoa riittää paljon pidemmäksi aikaa....
Pistäkää tänne linkkejä jos tiedätte tai löydätte hyviä ristinollapelejä!- 2000
Täältä löytyy yksi hyvä peli, jossa ruudukko on kylläkin aika pieni:
http://www.softpile.com/Games/Puzzles/Review_06311_index.html - yes!
http://cactus.rulez.org/projects/gnomoku/
Gnomoku 1.4
===========
Gnomoku is a Gomoku game for GTK /X11. It uses the GTKmm C wrapper
for accessing GTK itself.
The libraries required by Gnomoku are available in GNOME 1.4. Consult
your operating system vendor for information on obtaining GNOME
1.4. The individual packages you need are:
GTKmm 1.2.0 or later
GNOMEmm 1.1.15 or later
GTK 1.2
gnome-libs 1.4
And the following non-GNOME-related libraries:
GNU LibC 2.0 / libpthread
Gnomoku is maintained by ÉRDI Gergõ. Send comments, bug fixed, etc. to
[email protected].
Gnomoku was originally written by NAGY András .
The AI code is ported from Gomoku.el from the GNU Emacs distribution.
GNU Gettext support and Hungarian translation (c) ÉRDI Gergõ
.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. - samaa
yes! kirjoitti:
http://cactus.rulez.org/projects/gnomoku/
Gnomoku 1.4
===========
Gnomoku is a Gomoku game for GTK /X11. It uses the GTKmm C wrapper
for accessing GTK itself.
The libraries required by Gnomoku are available in GNOME 1.4. Consult
your operating system vendor for information on obtaining GNOME
1.4. The individual packages you need are:
GTKmm 1.2.0 or later
GNOMEmm 1.1.15 or later
GTK 1.2
gnome-libs 1.4
And the following non-GNOME-related libraries:
GNU LibC 2.0 / libpthread
Gnomoku is maintained by ÉRDI Gergõ. Send comments, bug fixed, etc. to
[email protected].
Gnomoku was originally written by NAGY András .
The AI code is ported from Gomoku.el from the GNU Emacs distribution.
GNU Gettext support and Hungarian translation (c) ÉRDI Gergõ
.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.C
http://www.gnustep.it/nicola/Applications/Gomoku/
Python
http://flibuste.net/pythreries/morpyon.html - Sinivuokko
Ristinollan salat lienee ratkaistu, eli tekoälyn on mahdollista laskea aloittavan pelaajan peli voittoon saakka.
http://www.cs.vu.nl/~victor/gomoku.html
http://www.ics.uci.edu/~eppstein/cgt/gomoku.html
http://www.cs.vu.nl/~victor/thesis.html
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Työsuhdepyörän veroetu poistuu
Hallituksen veropoliittisen Riihen uutisia: Mitä ilmeisimmin 1.1.2026 alkaen työsuhdepyörän kuukausiveloitus maksetaan483130Ruumis kanavassa
Mikä juttu eilen ollut poliisit palokunta ambulanssi ja ruumis auto sillalla. Tekikö itsemurhan272894- 1212326
Onko tässä paljon lääkettä..
Keski-ikäselle 43v Ketipinor 100mg Brintellix 10mg Venlafaxin 75mg Xanor 1mg Propral 40mg Xatral CR 10mg Esomepratsol 42281432Ei mitään menetettävää
Arvostin ja kunnioitin sun tunteita. Menit nyt liian pitkälle. Mulla ei ole enää mitään menetettävää ja sä tulet sen huo1631336- 111316
Oi! Jorma Uotinen ja Helena Lindgren paljastivat yllätysuutisen: "Rakkaudella"
Professori, tanssija, koreografi, Tanssii Tähtien Kanssa -tuomari Jorma Uotinen ja Suomen meikkitaiteen pioneeri, laulaj121083- 74989
Pakko tulla tänne
jälleen kertomaan kuinka mahtava ja ihmeellinen sekä parhaalla tavalla hämmentävä nainen olet. En ikinä tule kyllästymää39922Riittäisi juoruakkoille puhumista tässä kylässä
On mennyt mahottomaksi touhut. Taksi renki kuskaa akkaansa töihin lienekkö mitään lupaa yrittäjältä tähän touhuun. Kylän13802