On paljon online-sivustoja, joissa pelaajat voivat pelata shakkia reaaliajassa keskenään. Suurin osa peleistä on 5-10 minuuttia pitkiä. Shakkiohjelmiston saatavuuden avulla voidaan hyödyntää käyttämällä Fritziä tai Rybkaa ehdottaakseni hänelle siirtoa.
Esimerkiksi voin kirjoittaa vain vastustajani jokaisen liikkeen ja nähdä, mitä ohjelmistoja minulle ehdotetaan. .
Ajattelin muutamia ominaisuuksia, jotka voivat viitata siihen, että pelaaja huijaa:
- kuinka monta kertaa hän vaihtaa näyttöä
- nopeus pelata (helposti ja todella vaikeissa asemissa)
- pelin tarkkuus
Onko kenelläkään muita ideoita?
PS: Se tekee ei ole väliä minulle, mistä näkökulmasta ajattelet (palvelin- tai asiakaspuoli).
Kommentit
- Erinomainen kysymys ja asiaankuuluva ongelma tänään! Mutta tarkoitatko online-huijauskoodin havaitsemista algoritmilla vai havaitsemista aivan kuten ihmispelaaja vastustajaa pelatessasi?
- Huijaamisen havaitsemisstrategiat toimivat vain, kun huijari on ” tyhmä ”. Älykkäämpiä huijausstategioiden käyttöönotto (katso kommenttini NoviceProgrammerille ’ s vastaus) tekisi huijaamisesta lähes mahdotonta edes arvailla.
- Luulen, että tämä on melkein a ei-kysymys. Pelaan chess.com-sivustolla. Luulisin, että ehkä yksi henkilö kymmenestä huijaa. Ja jos epäilen, että vastustajani sai apua, estän heidät.
Vastaa
Tämä on oikeastaan hyvin monimutkainen kysymys, eikä se, joka on ratkaistu tyydyttävällä tavalla, tietoni mukaan. Pohjimmiltaan pyydämme algoritmia eräänlaisen käänteisen Turing-testin suorittamiseksi ihmispelaajien ja tietokoneiden erottamiseksi.
Ensinnäkin asiakaspuolen tarkistuksissa on aina heikkouksia, ellet ole täydellinen hallinta asiakasympäristössä. Otetaan ensimmäinen ajatus – tarkistamalla vaihdon ikkunoiden välillä, se kuulostaa hyvältä. Valitettavasti se on vähäpätöinen kiertämällä shakkimoottoria erillisellä tietokoneella tai integroimalla moottorini asiakkaan kanssa niin, ettei ”ikkunanvaihtoa” tapahdu, tai muuttamalla asiakasta ilmoittamaan 0 muutosta ikkunassa tai … Ei ole todellista tapaa olla varma, että se sinun koodisi toimii asiakkaalla.
Meille jää jäljelle fyysisesti tiukasti kontrolloidut asiakasympäristöt (jotka ei tapahdu millään online-peleillä), tai palvelinpuolen tarkistus, ts. tarkastelemalla todellisia pelattuja liikkeitä (ja ehkä siirtojen välistä aikaa, kuten sanot), ja yrittämällä päätellä tietokoneen tai ihmisen näkökulmasta .
Palvelinpuolen tarkistus voi myös jakaa pari tapaa. Voit todennäköisesti kokeilla ”ylhäältä alas” -lähestymistapaa, joka olisi jotain historian aiempien pelien tapaa, vain 2% ihmisistä teki tämän liikkeen, kun taas 50% tietokoneista tekee sen ”. Tämä olisi oikeastaan aika hyvä tapa tehdä se, jos meillä olisi tarpeeksi tietoa” mitä tahansa paikkaa ”varten. shakkitahti on kuitenkin niin suuri, että edes erittäin suurissa tietojoukoissa ei ole merkittävää määrää sijaintiasi vastaavia pelejä, kun olet ohittanut pelin alkupuolivälin.
Olettaen, että emme Jos sinulla on luotettavia tilastoja yhtälön inhimilliseltä puolelta, voit silti esittää sijainnin useille shakkimoottoreille (kullakin on useita erilaisia aika-asetuksia) ja nähdä, kuinka tarkasti pelaajien liikkeet vastaavat tietokoneen liikkeitä. Itse asiassa tämä johtaisi myös moniin vääriä positiivisia tuloksia, mutta toistuvat positiiviset tulokset samalle shakkimoottorille ja aika-asetuksille tekisivät yhä todennäköisempää, että pelaaja huijasi. Tämän parantamiseksi jatkaisin todennäköisesti ”alhaalta ylöspäin” -lähestymistapaa shakkiasemien analysoinnissa; Lyhyesti sanottuna yrittää selvittää miksi ihmiset ja tietokoneet pelaavat eri tavalla. Esimerkiksi. ihmisillä on taipumus tunnistaa yleiset mallit. Pelissä, jossa on ”outoja” malleja tai epätodennäköisiä tilanteita, ihminen ei todennäköisesti pysty pelaamaan erittäin tarkasti. Mikään näistä ei sinänsä ole erityisen tuomitsevaa, mutta kun otetaan huomioon suuri määrä pelejä, se tuo esiin trendejä järjestelmänvalvojille.
Lisäämällä luetteloon muutamia yksityiskohtia haluaisin noudattaa professoreiden tapaa. havaita plagarismi papereissa – havaitsemalla äkillinen muutos. Shakissa tätä on äärimmäisen vaikea määritellä, mutta äkillinen muutos pelityylissä tai pelivoimassa voi viitata huijaamiseen. Etsin etenkin epätavallisia aggressiivisia liikkeitä, joilla on taipumus vain ”treenata” ja joilla ei ole mitään haittapuolta pelaajalle (liian tarkka). Pakotetut kaverit 4+ siirtymässä pelistä, joka tavallisesti asettaa ritareita pöydän reunalle jne. (se on mahdollista … vain ei todennäköistä). Kuinka tämä tarkalleen toimisi, kuulostaa siltä, että se voi viedä kokonaisen kirjan (tai useamman).
MUOKKAA: Oli artikkeli huijaamisesta ja tunnistamisesta huipputason shakissa äskettäin.
kommentit
- ihmiset vs. tietokoneet voivat antaa vääriä positiivisia tietoja pelin avauksessa , se on erittäin helppo muistaa parhaat näytelmät
- @ ajax333221 Olen täysin samaa mieltä. Jossain määrin jotain vastaavaa voi koskea loppupeliä, jossa ihminen saattaa pelata sitä melkein täydellisesti, vain aikaisemman tiedon perusteella. Tästä huolimatta, jos voin havaita mahdollisen huijaamisen pelissä, ’ olen varma lisätietojen ja hienostuneen analyysin avulla, tietokone voisi tehdä samoin. Pakotettu kaveri 4+ liikkeessä oli todellinen esimerkki äskettäisestä verkkopelistä verrattuna 1050-luokitellun pelaajan joukkoon – lievästi sanottavaa …
Vastaa
Blitzissä voit kertoa kuinka paljon aikaa he käyttävät. Moottoreita käyttävät ihmiset käyttävät yhtä paljon aikaa jokaiseen liikkeeseen sen sijaan, että räpyttelevät aukon läpi ja hidastavat. ryömiä keskipelissä kuten useimmat normaalit pelaajat. Erityisesti he eivät voi pelata avaamista nopeasti, koska heidän on päivitettävä tietokonekortti jokaisen avausliikkeen jälkeen. Jos heillä on viisi sekuntia liikkeellä kaksi ja viisi sekuntia liikkeellä kaksikymmentä, he todennäköisesti käyttävät moottoria.
Kommentit
- En ole varma tämä oli totta lähetyshetkellä, mutta kalakalat voivat hyväksyä jäljellä olevan ajan syötteenä priorisoidakseen, mihin viettää aikaa.
Vastaa
Näytönvaihtimien lukumäärä ja pelinopeus ovat merkityksettömiä. Jos käytät näitä valitaksesi shakkipelien verkkosivuston järjestäjille, he nauravat sinusta.
On olemassa kaksi tapaa kertoa jos joku huijaa. Ensimmäinen on ”tupakointiase”. Harkitse tätä peliosaa –
[White "Allwermann,Clemens (1900) "] [Black "Kalinitschev,Sergey (2505) Boeblingen (9), 30.12.1999"] [FEN "r6k/1p3Rpp/p2p1bq1/3N4/2P5/1P6/P1b2QPP/5RK1 w - - 0 1"] 1.Qa7 Rg8 2.Qxb7 Be4 3.Nf4 Qf5 4.Qd7 Qe5 5.Kh1 g5 6.Nh3 g4 7.Nf2 Bf5 8.Nxg4 Be4 9. R7xf6 Bxg2+ 10. Kxg2 Qe4+ 11. Kh3
Kysymys on, mitä pelaat siinä Tilanne on, että voitto tässä, viimeisessä kilpailukierroksessa, voittaa turnauksen ennen suurmestareita. Ei paha pelkästään vuodelta 1900. Epäilen, että useimmat meistä pelaavat jotain kohtuullisen vankkaa, mikä pitää voittaa. Liikkuu kuten Rxb7 tai Rd7 tai (pelkureille kuten minä 😉 Rxf6. Qa7 on liikkeen sydänsulkija, tupakointiase. Fritz arvioi sijainnin parhaan liikkeen, joka on huikea 0,1 ennen seuraavaa parasta siirtoa, Rd7.
Tupakointiase # 2-peli pelin lopussa, kun musta erosi jättäen 1900-luokitellun pelaajan turnauksen paras voittaja. Mitä sanoisit Kalinitscheville siinä asemassa?
Näin keskustelu sujui:
Allwermann: ”Se pariutuu 8: een”
Kalinitschev: ”En usko niin”
Allwermann: ”” Tarkista se, löydät ”olen oikeassa”
Allwermann oli tietysti oikeassa. Löydätkö kaverin kahdeksasta lopullisesta sijainnista? Ilman piin apua?
Joten sinulla on tupakointiaseesi ja viet sen järjestäjille. Mitä he tekevät?
No, sitten tulee toinen tapa havaita ja todistaa epäilemättä, että huijaaminen on meneillään.
Heidän on kerättävä vähintään 20 peliä kukin vähintään 20 muuta kuin tietokantaa siirtää ja syöttää ne moottoriin tarkistusta varten. Pohjimmiltaan mitä he etsivät, on prosenttiosuus ajasta, jonka epäilty valitsee tietokantaan kuulumattoman siirron, joka vastaa moottorin ensimmäistä valintaa, yhtä ensimmäisistä 2: sta, yhtä kolmesta ensimmäisestä valinnasta. ”Todistuskynnykset” ovat –
Top 1 65%
Top 2 80%
Top 3 90%
Viimeaikainen esimerkki on furore Borislav Ivanovin esityksestä.
Tässä ovat hänen tilastot –
Zadar 19th: Houdini 1.5a x64 Hash: 256 Aika: 30s Max Syvyys: 20ply {Borislav Ivanov (Pelit: 9)}
{Top 1 ottelu: 210/314 (66,9%) Vastustajat: 150/313 (47,9%)
{Top 2 Ottelu: 270/314 (86,0%) Vastustajat: 207/313 (66,1%)
{Top 3 ottelu: 285/314 (90,8%) Vastustajat: 238/313 (76,0%)
{Top 4 ottelu: 293/314 (93,3%) Vastustajat: 267/313 (85,3%)
8. kierroksessa live-syöte laski (epäillään, että tämä antoi hänen ulkopuolisen avunsa saada liikkeet) ja hän hävisi GM Predojevicille. Jos tämä tulos poistetaan, uudet tilastot ovat:
Zad ar 19. päivä: Houdini 1.5a x64 Hash: 256 Aika: 30 s Maks. syvyys: 20ply {Borislav Ivanov (Pelit:)}
{Top 1 ottelu: 197/287 (68.6%) Vastustajat: 135/286 ( 47,2%)
{Top 2 -ottelu: 252/287 (87,8%) Vastustajat: 188/286 (65,7%)
{Top 3 -ottelu: 265/287 (92,3%) Vastustajat: 218/286 (76,2%)
{4 parhaan ottelu: 272/287 (94,8%) vastustajat: 242/286 (84,6%)
Kuten näette, molemmat sarjat tilastojen perusteella hänet heitettäisiin shakkipalvelimelle. Vertailun vuoksi tässä on analyysi pelistä 8, kun syöte oli alhaalla:
{Valkoinen: Borislav Ivanov}
{Top 1 ottelu: 13/27 (48,1%)
{Top 2 ottelu: 18/27 (66,7%)
{Top 3 ottelu: 20/27 (74,1%)
{Top 4 ottelu: 22/27 (81,5%)
{Musta: Borki Predojevic}
{Top 1 ottelu: 15/27 (55,6%)
{Top 2 ottelu: 19 / 27 (70,4%)
{Top 3 ottelu: 20/27 (74,1%)
{Top 4 ottelu: 25/27 (92.6%)
Huomaa, että FIDE on perustanut komission tutkimaan tapoja havaita tietokoneiden huijaaminen ja torjua niitä. Heidän ohjeet ovat täällä . Huomaa tämä osa:
E. FIDE: n Internet-pohjainen peliseulontatyökalu
FIDE toimittaa Internet-pohjaisen peliseulontatyökalun, joka on kaikkien FIDE: n valtuutettujen virkamiesten (IO, IA, ACC jäsenet) ja kansallisten liittojen käytettävissä. Sitä isännöidään FIDE: lle tarkoitetulla verkkosivulla, ja se sallii valtuutettujen osapuolten ladata pelejä PGN-muodossa ”nopeaa testiä” varten, joka tunnistaa turnauksen mahdolliset poikkeamat. ”Seulomalla” ymmärretään, että tämä tarjoaa vain alustavan testin, jolla ei ole tuomion arvoa, paitsi että siihen voidaan viitata hylkäämällä väitteet ja kieltäytymällä siirtymästä manuaaliseen kokotestiin.
kommentit
- Hieno analyysi! T3 / T4-tulokset ovat vakuuttavia, varsinkin kun hänen tulosten todennäköisyys raportoidaan. BTW: Ymmärrän, että viestisi on kirjoitettu jonkin aikaa sitten, mutta sattuuko sinäkin sitaatti Kalinitschevin ja Allwermannin väliseen keskusteluun? Mikään vuosi 1900 ei selvästikään löydä luotettavasti kaveria kahdeksassa, varsinkaan kun 2500 ei näe sitä ’. ’ ei kuulosta erityisen fiksulta, että hän olisi nostanut tämän asian, kun se voisi itsessään aiheuttaa epäilyn siitä, että hän ’ huijaaminen.
- BTW: Olen eri mieltä siitä, että Qa7! on sydämen tulppa. Se ’ käyttää yksinkertaisesti hyväkseen kahta tosiasiaa, jotka: 1) Musta ’: n takaosa on heikko ja 2) hän ’ ovat alttiita sen kaverille. Joten kaikki tornin poikkeamat taka-asemasta mahdollistavat voittavan taktiikan. Tällöin White käyttää siirtoa hyökkäämään b-sotilaan ja koordinoimaan kuningattarensa ja torninsa seitsemänteen, joten torni puolustetaan. Valkoinen voittaa ainakin sotilaan 1 … Qxf7 2.Qxa8 + Qg8 3.Qxb7 jälkeen. Luulen, että minkä tahansa GM: n olisi pitänyt nähdä liike Qa7, ja olen ’ yllättynyt siitä, että Kalinitschev jätti sen huomiotta. Se on ’ kaikkein pakottavin liike taululla Rxf6: n jälkeen ?!
- @jaxter Tiedot ovat peräisin osoitteesta fi.chessbase.com/post/a-history-of-cheating-in-che-3- . Huomautus ” Olen eri mieltä siitä, että Qa7! on sydämen tulppa ” – jos luet artikkelin, huomaat, että Vishy Anand on eri mieltä kanssasi :-). Artikkelista – ’ Joten mitä sankarimme pelaa? 31. Qa7? !! ”Fritzy!” huudahti Anand ja koki hallitsematon naurun, kun hän näki tämän ja seuraavat liikkeet (kuvasin hänen ilonsa ja sisällytin sen multimediaraporttini ChessBase Magazine 69). ’
- Kiitos viitteestä. Olen samaa mieltä. Olisin varmasti halunnut antaa liikkeen laukauksen, mutta se ’ johtuu osittain siitä, että olisin arvioinut, että White voisi selviytyä mustasta ’ vastahyökkäys laskematta kaikkia viivoja . Jos yritin tehdä niin a) ’ d, varmista, että tekisin kohtalokkaan virheen, ja b) saan ’ d heebie-jeebies ja valitse toinen liike. Se ’ s juuri siksi, että käytän intuitiota, että pelaan usein kummajaisia liikkeitä kuten … Qa7 !. Se ’ on myös epäilemättä vaikuttanut siihen, miksi luokitus on alle 2000 …
- Siellä ’ sa ero ylimmän liikkeen ollessa äänen liike, jonka ’ odotat odottavan paljon pelaajia, ja loistava taktiikka, jota et halua ’ t odottaa useimpien pelaajien näkevän. Yllä olevalla valkoisella ’ näytelmällä on useita jälkimmäisiä.
Vastaa
Vastaukseni siihen, miten lähestyisin tätä, käytän yksinkertaista ideaa:
- Null-hypoteesitesti
Ajatuksena on, että julkisesti saatavilla olevia shakkimoottoreita on rajoitettu määrä, sanotaan N
niistä. Tämä oletus tietysti sulkee pois mahdollisuuden, että huijari on kirjoittanut oman shakkimoottorinsa (tai käyttää jotain julkisesti käytettävissä olevaa shakkimoottoria), mutta rento-huijareiden kiinni ottamiseksi tämän pitäisi olla riittävän vahva oletus.
Null-hypoteesitestin soveltaminen olisi hyvin yksinkertaista: jokaiselle shakkimoottorille X
ja laskea jokaisen nykyisen pelin siirtosekvenssin todennäköisyys p
havaita soitettu alijono olettaen nollahypoteesi että pelaaja on ei käyttämällä shakkimoottoria X
heitä varten. Voi olla naiivi oletus, että pelaaja liikkuu satunnaisesti (tai valitsee satunnaisesti valitun määrän ylimmän liikkeen joukosta d_i
), sitten todennäköisyys tietylle pituuden k
vastaavuus siirtää shakkimoottorin, jonka X
tekisi lasketaan muodossa (d_1)/(n_1) * (d_2)/(n_2) * (d_3)/(n_3) *...* (d_k)/(n_k)
missä d_i
on mahdollisten (ylimpien) liikkeiden määrä ith
-käännöksessä moottorin arvioimalla X
n_i
on pelaajan käytettävissä olevien kierrosten kokonaismäärä i
(tai jokin kohtuullinen alajoukko).
Laske sitten yksinkertaisesti
p* = minimum p over all chess engine X, all subsequences y.
Jos p*
on alle tietyn kynnysarvon, merkitse soitin huijaajaksi, koska sitä on olemassa alijono y
ja shakkimoottori X
, joka tuo todennäköisyyden, että pelaaja on ei huijaaminen halutun todennäköisyyden alapuolelle.
vastaus
Mielestäni pelin jälkeinen analyysi antaa sinulle parhaat mahdollisuudet tunnistaa, huijaako pelaaja. Tämä voidaan tehdä käyttämällä ns. T3 / T4-analyysiä.
Tämä mittaa pohjimmiltaan taajuutta, jolla pelaaja valitsee yhden moottorin ehdottamista 3 tai 4 parhaasta liikkeestä. Tämä poistaa suurelta osin tarpeen tunnistaa käytössä oleva kohdemoottori (koska ne sopivat yleensä 4/5 parhaasta siirrosta, vaikka etusijajärjestys olisi erilainen).
Saatavilla on ohjelmistoja, jotka käyttävät joukko käyttäjän pelejä moottorin n ylintä liikketta vastaan. Muokkaa:
Olen tietoinen ChessAnalyse -sivusta, jota voidaan käyttää tällaisen analyysin tekemiseen. Voit kokeilla 30 päivän kokeiluversiota.
Kommentit
- Tätä voi torjua älykäs huijari, jolla on jonkin verran shakkitietoa seuraavasti: pelaa liikkeitä jotka eivät yksinkertaisesti tee paikkasi huonommaksi, ja odota vastustajasi ’ virhettä, joka vaarantaisi hänen asemansa. Jos pelaat 5–15 minuuttia blitziä vastaan jotakuta, jolla ei ole muuntogeenistä voimaa, tämä tapahtuu varmasti ennemmin tai myöhemmin. Jos heität lisäksi satunnaisen huonon liikkeen ja / tai et vaadi voittamista jokaisessa pelissä, olen varma, että huijauksesi jäisi huomaamatta.
- @AndreaMori: Olen samaa mieltä siitä, että voit välttää muutamia tilanteita, mutta kun hänen luokkansa paranee, hänet pakotetaan etsimään yhä enemmän ja lopulta hänet tunnistetaan.
- Kiitos, mainitsit että käytettävissä on ohjelmistoja. Voitteko antaa esimerkin?
Vastaa
Jos sivustosi antaa käyttäjille yhden napsautuksen, saat FEN-sijainnit tai PGN kun peli on käynnissä , sinun kannattaa harkita näiden seuraamista.
Jotkut huijarit huijaavat alusta alkaen, mutta toiset haluavat aloittaa huijaamisen vain vaikeuksissa, ja he käytä ilmeisesti kopio FEN / PGN-ominaisuutta, koska paikan asettaminen manuaalisesti on aikaa vievää.
Se pitäisi jotenkin tallentaa yhdessä liikkeen kanssa, kun hän kopioi sen, tällä tavalla voit verrata että se viittaa seuraaviin liikkeisiin ja katso, lisääntyivätkö hänen voimansa suuresti shakkimoottoreiden avulla.
Mutta on erittäin tärkeää, että käytät sitä vain auttamaan sinua päättämään, huijaako hän, se olisi epäreilua Jos haluat käyttää komentosarjaa, joka ei käytä ihmisen väliintuloa, vääriä positiiveja voi olla paljon, esimerkiksi haluan usein kopioida sijainteja pelatessani analysoidaksesi niitä myöhemmin tarvitsematta etsiä peliäni tai löytää Tarkka siirtyminen PGN: stä. Ja en jätä sitä aina leikepöydälle, koska pelkään sen korvaamisen, joten siirrän sen muistilehtiöön (mikä tarkoittaa, että vaihdan ikkunaa heti kopioinnin jälkeen).
Kommentit
- Tämä näyttää vaikuttavan ” palvelimen hallintaan ” eikä pikemminkin ” huijaa vastustajani? ” yhtä (ei, että OP ei sanonut mitään siitä, mikä tapaus oli hänelle tärkeä). Saattaa olla mainitsemisen arvoinen se, koska kesti vähän aikaa ymmärtää mitä tarkoitit, ajattelin sitä pelaajan ’ s POV: lta.(Hyvä vastaus … kun tämä on ymmärretty ^ _ ^ ’)
- kiitos @ajax. En ole ajatellut tallentaa siirtoa, jolla sijainti kopioitiin, ja analysoida voiman eroa ennen ja jälkeen.
- ja tietysti huijarit selvittävät ja estävät seurannan. tai tee omat kopiointitoiminnot, se ’ ei ole kovin kovaa: codegolf.stackexchange.com/questions/89647/chess-conversion
Vastaa
FWIW, kukaan ei ole maininnut tohtori Ken Regania nimellä, vaikka osoitin Liptonin blogiin kuvaa toisen artikkelin shakkielämässä , jossa käsitellään hänen töitään. >
Tämä artikkeli on erittäin informatiivinen Reganin työstä, havaintotekniikoiden tilasta, jotka olivat voimassa vuonna 2014, ja FIDE: n työstä perustettaessa komitea määrittelemään ja julkaisemaan standardeja, työkaluja ja tekniikoita TD: n avuksi ” s petoksen torjunnassa.