Pisteiden ja laatikoiden analysointiohjelmat

Original page: http://wilson.engr.wisc.edu/boxes/program.shtml

Analyysiohjelma on nyt valmis. Tämä on nykyinen julkaistu versio, joka on päivätty 30.4.2002. Lähetä sähköpostiosoitteesi osoitteeseen dwilson@cae.wisc.edu ja ilmoita uusista versioista, jotka korjaavat vikoja.

David Wilson

Analyysissa paketti on kaksi ohjelmaa:  analyze, mikä tekee analyysin ja  play, joka näyttää yhteenvedot analyysin tuloksia. AnalyzeL  ja  playL  ohjelmia myös tehdä mielipuoli liikkua analyysin asettamalla  v  jälkiliitteeksi pistemäärä jos pelaaja Täytyy tehdä seuraavaksi mielipuoli siirto tai  ^  pääte jos pelaaja B on. Version kanssa loony liikkua analyysi ei voi käsitellä tulokset suurempi kuin 31 absoluuttisena arvona. Normaali versio voi käsitellä tulokset jopa 127 itseisarvo. Jos käytät mielipuoli liikkeellä analyysi ohjelman ongelma, jos laatikoiden lukumäärä (sekä itseisarvo tahansa viimeisen siirron rangaistus) ylittää 31, kannattaa tarkistaa tulokset myös käynnissä analyysin avulla normaali versio.

Analyysiohjelman panos on ongelmaa kuvaava tekstitiedosto. Esimerkiksi 3×5 ruotsalaista peliä varten tämä tiedosto on:

0
+-+-+-+-+-+
|         |
+ + + + + +
|         |
+ + + + + +
|         |
+-+-+-+-+-+

Ensimmäisen rivin numero on joko 0 tai negatiivinen luku, joka antaa rangaistuksen viimeiselle liikkeelle panevalle pelaajalle. Tämä on hyödyllistä, jos analysoit osan pelistä ja on tiedossa, että joku, joka siirtyy ensin pelin toiseen osaan, kärsii siitä monista neliöistä. Olen analysoinut Ongelmana 11.16 kanssa rangaistuksia suuruutta lisätään.

Ensimmäisellä rivillä voi olla kaksi muuta numeroa: tietokoneessa olevan megatavun RAM-muistimäärän ja vapaan levytilan gigatavun määrän. Oletusarvot ovat 16 ja 1. Sinun pitäisi käyttää arvoja omalle tietokoneellesi.

Kolme numeroa voi seurata A tai B, joka ilmaisee, mikä pelaaja on liikkeellä. Tämä voi olla tarpeen, jos peliin on jo tullut loony. Myös jo otetut laatikot on täytettävä A: lla ja B: llä.

Tiedoston tulee olla .txt laajentaminen. Kutsuin tätä tiedostoa swed.txt3×3.txt,  3×5.txt ja iceland.txt muitakin esimerkkejä syötetiedostoille. (3×5.txt on arvot RAM ja vapaata levytilaa, joten ne on tarkoituksenmukaista ennen käyttöä.) Molemmat ohjelmat alkavat pyytää nimen ongelman, joka on nimi tekstitiedoston jättämällä .txt laajentaminen.

Levytilan varastointiin tarvitaan täydellinen analyysi on hieman suurempi kuin 2n  tavua, jossa n on rivien määrä ei ole vielä täytetty. A-ketju lasketaan yhden avoimen linjan. Tämä pienennetään symmetrinen kantoja ja paikkoja, joissa kulmat ovat tyhjiä. 220  tavua on megatavu, 230  tavua on gigatavun. Analyysin tiedostot tallennetaan hakemistoon nimeltä ongelmaan. Jos täydellinen analyysi ei istu, analyze ohjelma tallentaa analyysin niin monta alkuperäisen liikkuu kuin mahtuu. play ohjelma ei in-muisti analyysi, kun tämä aukko kirja on käytetty kattamaan loput liikkuu.

Koneeni swed.txt ja 3×3.txt analysoitiin alle minuutissa. iceland.txt kesti puoli tuntia. 3×5.txt kesti kolme päivää. (Ohjelma on kirjoitettu niin, että se voi aloittaa, kun se lopetettiin sen jälkeen, kun se on keskeytetty tai uudelleenkäynnistyksen jälkeen. Näin ollen kolme päivää voidaan hajottaa yötä ja viikonloppua kohti.) Jokainen ylimääräinen avoin linja kaksinkertaistaa ajan, RAM-muistin ja levytilan, jota ongelma.

Tämä ohjelma ei voi analysoida 5×5-peliä. 5×5-peliä on kuitenkin analysoinut William Fraser omaa ohjelmaa käyttäen.

Kun tämä analyysi on tehty, voit käyttää play ohjelma näyttää tuloksen. Esimerkiksi Ruotsin peli:

   a  b  c  d  e  f  g  h  i  j  k

a  +-----+-----+-----+-----+-----+
   |                             |
b  |    -1    -1    -1    -1     |
   |                             |
c  + -1  +  3  +  1  +  3  + -1  +
   |                             |
d  |     5     5     5     5     |
   |                             |
e  + -1  +  3  +  1  +  3  + -1  +
   |                             |
f  |    -1    -1    -1    -1     |
   |                             |
g  +-----+-----+-----+-----+-----+

Syötä siirto pelaaja A: lle (kaksi kirjainta); .=stop; <=back; !=reset: be

   a  b  c  d  e  f  g  h  i  j  k

a  +-----+-----+-----+-----+-----+
   |           |                 |
b  |     5     |     1     1     |
   |           |                 |
c  +  5  +  5  +  1  +  5  +  1  +
   |                             |
d  |     5     5     5     5     |
   |                             |
e  +  1  +  5  +  1  +  5  +  3  +
   |                             |
f  |     1     5    -1     3     |
   |                             |
g  +-----+-----+-----+-----+-----+

Syötä siirto pelaaja B: lle (kaksi kirjainta); .=stop; <=back; !=reset: fg

   a  b  c  d  e  f  g  h  i  j  k

a  +-----+-----+-----+-----+-----+
   |           |                 |
b  |    -7     |    -1    -5     |
   |           |                 |
c  + -7  + -7  + -1  + -7  + -5  +
   |                             |
d  |    -3    -3    -3    -3     |
   |                             |
e  + -5  + -7  + -1  + -7  + -7  +
   |                 |           |
f  |    -5    -1     |    -7     |
   |                 |           |
g  +-----+-----+-----+-----+-----+

Syötä siirto pelaaja A: lle (kaksi kirjainta); .=stop; <=back; !=reset: .
Tehty.

Numerot ovat tuloksena saatu tulos parhaalla näytöllä, jos liikkuva pelaaja valitsee vastaavan rivin. Positiiviset numerot voittavat ensimmäisen pelaajan liikkeen (pelaaja A); negatiiviset luvut voittavat toiselle pelaajalle (pelaaja B). Näin ollen paras pelaaja toistaa ensimmäisen pelaajan. 5. Edellä selvitetty analyysi yhdelle ensimmäiselle pelaajalle pahimmista näytelmistä. Voittaakseen toisen pelaajan on tehtävä täsmälleen oikea liike. Jotta häviäminen pysyisi mahdollisimman vähäisenä, ensimmäisen pelaajan on heti annettava neliö.

Islannin pelin analysointi kesti noin puoli tuntia PC: lläni. En voinut juosta aurinkoon, koska se tarvitsi 230 tavua (1 gigatavu) vapaata levytilaa ja minulla ei ollut niin paljon tilaa Sun-tilissäni. play ohjelman aloitusnäyttö on:

   a  b  c  d  e  f  g  h  i  j  k

a  + -3  + -3  + -3  + -3  + -5  +
   |
b  |    -3    -5    -3    -3    -5
   |
c  + -5  + -3  + -3  + -3  + -3  +
   |
d  |    -5    -3    -1    -3    -3
   |
e  + -5  + -5  + -5  + -5  + -3  +
   |
f  |    -5    -3    -1    -3    -5
   |
g  +-----+-----+-----+-----+-----+

Näin ollen tulos, jossa on paras pelaaminen, on toisen pelaajan voitto yhdellä neliöllä.

Yleiskatsaus analyysin toimintaan on Pisteiden ja laatikoiden analysoin Metodologia.

Ohjeet Unixille

Luo hakemistoon nimeltään: laatikot käyttämällä Unix-komennon ikkunassa olevia mkdir-ruutuja. Tallenna seuraavien tiedostojen kopiot tähän hakemistoon:

Jos haluat tallentaa kopion tiedostosta, näytä ensin tiedosto napsauttamalla sen linkkiä ja sitten selaimen Tiedosto-valikossa "Tallenna nimellä...". Vaihda boxes hakemistoa käyttäen cd boxes Unix-komennon ikkunassa. Anna sitten komento: make Tämä luo analyzeanalyzeL, play ja playL ohjelmat sekä nolla tavu all tiedostoa, jota ei tarvitse säilyttää. Luo seuraavaksi syötetiedosto käyttämällä vi tai jokin muu tiedostoeditori. (Tai voit kopioida aiemmin yhdistetyt syöttötiedostot.) Syötä sitten komento: analyze tai analyzeL Kun se on valmis, kirjoita komento play tai playL riippuen siitä, minkä analyysiohjelman olet suorittanut.

Ohjeet tietokoneille

Luo Laatikot-kansio missä levyssä on eniten tilaa. Tallenna seuraavien ohjelmien kopiot kansioon:

Jos haluat tallentaa ohjelman kopion, napsauta sen linkkiä hiiren kakkospainikkeella ja valitse "Tallenna linkki...". Avaa Boxes kansio. Luo seuraavaksi syötetiedosto käyttämällä: Start -> Programs -> Accessories -> NotePad (Voit myös kopioida aiemmin yhdistetyt syöttötiedostot.) Kaksoisnapsauta sitten: analyze tai analyzeL Kun se on valmis, kaksoisnapsauta play tai playL riippuen siitä, minkä analyysiohjelman olet suorittanut.

PHP Web-ohjelmat
Toistaa käyttämällä jo täydellistä analyysia. Sisältää loony-siirtolippuja. Tämä on useimmiten käännös playL välillä C - PHP.