Küsimus:
Kas on olemas mõni malemootor, mis suudaks näidata, kas ühel poolel on sunniviisiline viik?
Mark Byers
2012-06-03 00:00:18 UTC
view on stackexchange narkive permalink

Kas on olemas mõni malemootor, millel on analüüsirežiim, mis näitab, kas positsioon on kummagi poole sunnitud viiki?

Mootorite puhul on tavaline, et viiki tuvastades väljastatakse hinnangud 0,0. Kuid hindamine 0,0 võib tähendada paljusid asju. Näiteks eeldades, et liikumine on valge, võib hindamine 0,0 tähendada:

  • mäng on kindlasti viik, hoolimata sellest, kuidas kumbki mängija mängib (nt ebapiisav materjal).
  • Mõlemad mängijad saavad sundida viiki. Kumbki mängija ei saa loota võitu, kui nende vastane mängib suurepäraselt.
  • Ükskõik, millist valget liikumist mängib, on arvuti 100% kindel, et must võib soovi korral viiki sundida. Valge ei saa loota võitu, kui must mängib ideaalselt. Viik on kõige tõenäolisem tulemus, kuid sügavam otsing võib näidata, et must võib võidu sundida.
  • Arvuti on 100% kindel, et valge võib soovi korral viiki sundida. Must ei saa loota võitu, kui valge mängib ideaalselt. Viik on kõige tõenäolisem tulemus, kuid sügavam otsing võib näidata, et valge võib sundida võitu.
  • Arvuti pole leidnud kummagi poole peal sunniviisilist viiki, kuid senine hinnang on täpselt tasemel. Viik on kõige tõenäolisem tulemus, kuid sügavam otsing võib hiljem näidata ühe poole eelist.

Lihtsalt näite toomiseks, millal see võib olla kasulik, kui valge ei vaja võita ja soovib lihtsalt olla võimalikult kindel viigi saamises, siis võiksid nad eelistada käiku hindamise +0,0 ja teadaoleva sunniviisiga, kuigi saadaval on veel üks kõrgema hinnanguga käik.

Teine näide on see, et kui teil on vaja võitu (st viik on sama halb kui kaotus), võiksite mängida käiku kerge negatiivse hinnanguga, et vältida vastase võimaluse sundimist joonistama. Kuigi see suurendab teie kaotamise võimalust, suurendab see ka võidu võimalust.

Ilmselt on positsioone, kus on raske või võimatu olla kindel, kas sundviis on saadaval või mitte. Kuid kui mootor teatab sunnitud viigist, siis peab olema võimalik viiki sundida. Vale negatiivid on aktsepteeritavad, kuid valepositiivseid ei tohiks olla.

Nii et kokkuvõtlikult tahaksin teada konkreetse positsiooni kohta, kas ühel (või mõlemal mängijal) on sundviis olemas. Positsiooni arvulise hinnangu arvutamine pole vajalik, kuid kui see annab ka selle samal ajal, on see boonus.

Kas pole teada seda osa 6-osaliste lõppmängude tabelite punktist?
Tabelipõhjad aitavad, sest siis teate, et optimaalse mänguga sunniviisiline viik on kindel tulemus 0,0. Kuid ma tahaksin, et mootor ütleks mulle, kui see leiab sunniviisilise suvalise suvalise algasendi, sealhulgas (eriti), kui neid on rohkem kui 6 tükki. Näiteks kui valge jõuab olukorda, kus nad saavad sundida igavesti kontrollima, tahaksin, et mootor ütleks mulle seda, isegi kui see pole hindamisfunktsiooni kohaselt tingimata valge parim käik.
Ma olen uudishimulik, kas teil oleks tegelikult võimalik sellist arvutust praktikas ära kasutada. See oleks tore funktsioon. Kalavarude puhul kasutan UCI analüüsi "mitme variatsiooni" funktsiooni, mis sorteerib käigud nende hindamisskoori järgi. Sunniviisilised viigid ilmuvad nimekirjas üsna ilmselgelt, kui nad on igavesed kontrollid või varjatud, kuid mõnikord on see vähem selge ja nagu te ütlete, ei pruugi see sügavamale minnes olla viik.
Aga kui sunnitud on sunnitud? Ma arvan, et paljudel nn sunniviisiliste viikide korral võib vastane siiski kõrvale kalduda, kuid selgelt halvema positsiooni hinnaga. Asend, kus valge võib sundida kas viiki või täielikku vankrit, ei oleks sunnitud viik, piirates selle kasulikkust.
Kui valge suudab vankrile mineku asemel viiki panna, siis tahaksin seda teada.
Kaks vastused:
Andrew
2012-06-12 20:10:53 UTC
view on stackexchange narkive permalink

Lühike vastus teie küsimusele on ei , pole ühtegi malemootorit, mis saaks usaldusväärselt näidata, kas ühel poolel on sunniviisiline viik. Näiteks on see lukustatud asend üsna selgelt inimese silma tõmbamine:

Locked position, hopeless draw

Pange tähele, et hinnang on 0,17 , mitte 0,00 . Houdini annab ka 0,05 - valge jaoks on see alati nii kergelt hea. See on väga oluline. See viitab sellele, et 0,00 hindamise reserveerivad need programmid kindlal põhjusel ja nii see ka on. Põhimõtteliselt ei ütle arvuti isegi "võrdses" asendis kunagi, et tulemus on 0,00 , vaid annab minutise serva ühele või teisele poolele.

Nii et selle taustaga edasi spetsiifikale! Esiteks, kui mäng on positsiooni tõttu lihtsalt viik (st ummikseis, ebapiisav materjal jne), ilmub enamiku graafiliste kasutajaliideste teade, mis ütleb „Mäng on joonistatud” või midagi muud. See jätab keerulisemad juhtumid, mida te oma küsimuses mainisite. Enamiku neist kajastamiseks tutvustan teist seisukohta. See on võetud Morphy-NN 1-0-st, New Orleans Blindfold Simul.

Morphy - NN 1-0, New Orleans Blindfold Simul

Pange tähele, et Morphyl on praegu paariline kuuekümnes, alustades tähest 18.b4 +! . Kui Morphy aga kuidagi vahele jättis, et tegemist on kaaslasega, oli tal sunnitud kordusviis, mida arvuti kiiresti nägi. Suurendades variatsioonide arvu, mida arvuti kuvab, on võimalik näha, et pärast seda, kui valge mängib sellist käiku nagu 18.Qxc3 +? , võib valge sundida viiki hoolimata sellest, et ta on alla torni ja tüki. . 0,00 hindamine vihjab meid jällegi, et see on eriline seisukoht, kuna arvuti saab arvutada igavese kontrolli. Kui liigub 18.Qxc3 +? Kxd5 tehakse tahvlile, siis saab hinnanguks 0,00 , mis näitab, et valge parim jätk on viigi sundimine. Selle tegemata jätmine toob kaasa parima mänguga mängu kaotuse.


Kokkuvõtteks võib öelda, et ükski olemasolev mootor ei saa täpselt öelda, et positsioon on viik. Kuid 0,00 hindamine on eriline ja kui see ilmneb kas põhi- või variatsiooniskoorina, tähendab see, et arvatavasti sunnitakse viiki sellel konkreetsel real. Lihtsaim viis kontrollimiseks on mänguliselt nn tühikuklahvi analüüs - kui kasutaja tabab tühikut uuesti ja uuesti, et sundida arvutit mängima soovitatud ülemist käiku. Lõpuks jõuate positsiooni, mis on ilmne nii inimesele kui ka masinale.


Ja lõpuks, et käsitleda oma arvamust "põlguse" kohta

Teine näide on see, et kui vajate võitu (st viik on sama halb kui kaotus), võiksite mängida käiku kerge negatiivse hinnanguga, et vältida vastasele võimalust viiki sundida. Kuigi see suurendab teie kaotamise võimalust, suurendab see ka teie võidu võimalust.

Seda nimetatakse maleprogrammeerijate seas lihtsalt põlguseks. Enamik mootoreid võimaldab teil seadetes seada põlgusastme. Positiivne põlgusasetus (100 on tavaliselt analüüsi jaoks mõistlik tase) ütleb mootorile viigi vältimiseks üsna palju pingutamist (etturi väärtust). Negatiivne seade põhjustab mootori sunnitud tõmbejõu (st ebapiisava materjali, ummikseisu või alatise).

See on laias laastus sama idee, mis Wes Freemani kommentaaris küsimusele, ja nii nagu see, mida ta kirjeldab, nõuab inimlikku panust - "Sundfileid ilmuvad nimekirjas üsna ilmselgelt [mõnikord], kuid mõnikord on see vähem selge" - teie vastus on inimese panus "tühikuklahvi analüüsi". Seetõttu soovitan vastuses hindamisfunktsiooni kohandada; teeme nii, et mootor ise otsib sunniviisilisi tõmbeid ja annab meile teada, kui need on lõplikult kohal. See näib olevat ainus sisuline erinevus lähenemisviiside vahel.
@EdDean Olen nõus. Kõige raskem on leida viike, kus lõppmängu ei saa võita, kuid üks pool võib igavesti võidu nimel pingutada. Eraldi oleks mootorite eval-funktsiooni muutmine üks lähenemisviis, kuid tõenäoliselt mitte midagi, mida saaks mõistliku aja jooksul teha. Praegu on võimalik põlgusseadetega ringi mängida, kuid see ei tee sama, nagu mootori ümberprogrammeerimine, nagu te ka soovitate. Inimeste poolt muudetavad seaded on praegustel mootoritel üsna piiratud.
See põlgus on puhas - polnud seda märganud.
Muide, ma ei usu, et 0,00 viitab alati sunnitud viigile, mida te justkui vihjasite. Ma näen seda aeg-ajalt isegi avade alguses - arvan, et see tähendab lihtsalt seda, et praegust positsiooni ja materjali arvestades on see tõenäoliselt isegi ja hinnang on juhtumisi 0,00.
Rybkas asuv @WesFreeman * 0,00 * on reserveeritud mõnele erijuhule, eriti sunniviisidele. Ma pole kindel, kas see kehtib ka teiste mootorite kohta.
Huvitav. Kalavarudes seda kindlasti pole. Ainuüksi sekundi algusasendi analüüsimine annab palju 0,00 hinde.
ETD
2012-06-12 10:30:34 UTC
view on stackexchange narkive permalink

Nii nagu mootorid saavad teatud punktides näha sunnitud tüürimeest teatud arvu käike eemal, sest on sunnitud piisavalt ridu, et mootor näeks järelejäänud sügavuses kuni paaritumiseni kõike suurepäraselt, on ka malemängudes ristmikke, mis võimaldaks mootoril näha sunniviisilist tulemust samal põhjusel, et oleks võimalik piiratud piiratud võimalusi täielikult uurida.

Lisaks oleks mootori hindamisfunktsiooni lihtne kohandada, et see otsiks välja ja eelistavad käike, mis viivad selliste sunniviisiliste viikideni: nii nagu tüürimehe saavutamisele antakse tavaliselt tohutu väärtus, mis kääbustab kõik muud arvulised tegurid, mida mootori hindamisalgoritm peab mootori mängu lõppeesmärgi suunas suunamiseks, võiks selle hoopis anda tohutu arvuline väärtus ühe minu meelestatud viigi saavutamiseks.

Näiteks hinnake automaatselt positsiooni, kus vastasel pole piisavalt materjali paarituseks, kui +1000000. Siis, kui mootor leiab kunagi võimaluse sundida vastase nii palju materjale välja, annab ta sellest teile teada. Samuti kohandage hindamisalgoritmi, et hinnata kolmekordset kordust väärtusega +1000000 tavalise 0 asemel. Kui on korduv sunniviisiline kordamine (nagu igavese kontrollimise stsenaariumi korral), siis mootor armastab seda ja annab teile sellest teada . Samamoodi andke +1000000, kui jõuate sunniviisiliselt tabeli aluse loosini.

Samuti võite tagada, et mootor annab need hinnangud ainult siis, kui on täielik kindlus, et viigid on tõesti sunniviisilised (sest siin asuv puu ja seal on olnud võimalik seda täielikult kontrollida), nagu ka mootori puhul, kes ei teata tüürimehest, kui see pole kindel. Seega ei saa te valepositiivseid tulemusi, kuigi loomulikult on palju valenegatiive, mida te mõistlikult / tingimata oma küsimuses lubate.

Ma ei usu, et ükski mootor niimoodi "karbist väljas" töötab põlgustegurite ja niitmisviisi tõttu. Põhimõtteliselt, kui viik leiti, välistatakse kõik materjali võitnud read. Nii et näiteks kuninga kontrollimine oleks eelistatav tasuta vankri hõivamisele. Kaalun pikema vastuse postitamist, sest praeguste mootorite kasutamiseks on * võimalusi *, kuid ma ei taha liiga palju ettevalmistamise saladusi ära anda. ;)
Ükski mootor ei tööta nii, nagu ma kirjeldasin "karbist välja", see on tõsi, kuna need on loodud võitude otsimiseks; samal põhjusel peate tavalise mootori mängimiseks, näiteks enesetapumaleks, natuke näpistama. Mul on juba hindamisfunktsiooni muutmine; mis tahes põlgusfaktorit saab kohandada / keelata koos sellega, mida ma vajadusel soovitasin, jah? Minu peamine mõte on see, et ma arvan, et olemasolevaid mootoreid saab (mõistlikult sirgjooneliselt) ümber töötada, et need töötaksid nii, nagu Mark soovib. Nii et vähemalt hetkel näen ma seda ikkagi praeguste mootorite kasutamise viisina. Minu meelt saab siiski alati muuta. :)


See küsimus ja vastus tõlgiti automaatselt inglise keelest.Algne sisu on saadaval stackexchange-is, mida täname cc by-sa 3.0-litsentsi eest, mille all seda levitatakse.
Loading...