Existuje mnoho online webů, kde si hráči mohou navzájem hrát šachy v reálném čase. Většina her je 5-10 minut dlouhá. Díky dostupnosti šachového softwaru můžete využít výhodu, když mu Fritz nebo Rybka navrhnou tah.
Například můžu zadat každý pohyb svého soupeře a zjistit, jaký software mi navrhne .
Přemýšlel jsem o několika funkcích, které mohou naznačovat, že hráč podvádí:
- kolikrát přepne obrazovku
- rychlost hrát (na lehkých a opravdu tvrdých pozicích)
- přesnost hry
Má někdo další nápady?
PS: Má nezáleží na mně, z jaké perspektivy myslíte (na straně serveru nebo klienta).
Komentáře
- Vynikající otázka a relevantní problém dnes! Máte ale na mysli detekci online bleskového podvádění pomocí algoritmu nebo detekci stejně jako lidského hráče při hraní soupeře?
- Strategie detekce podvádění fungují, pouze když je podvodník “ hloupý „. Přijetí chytřejších podváděcích strategií (viz můj komentář k odpovědi NoviceProgrammer ‚) by podvádění téměř znemožnilo ani uhodnout.
- Myslím, že je to do značné míry nevydává. Hraji na chess.com. Hádal bych, že možná 1 osoba z 10 skutečně podvádí. A pokud mám podezření, že můj soupeř dostal nějakou pomoc, jednoduše je zablokuji.
Odpovědět
Toto je vlastně podle mých znalostí velmi složitá otázka, a ne ta, která byla uspokojivě vyřešena. V zásadě požadujeme, aby algoritmus provedl jakýsi reverzní Turingův test, který by rozlišoval mezi lidskými hráči a počítači.
Za prvé, kontroly na straně klienta budou mít vždy slabiny, pokud nejste v kompletní ovládání klientského prostředí. Pojďme na první nápad – kontrola přepínání mezi okny, to zní dobře. Bohužel to triviálně fungovalo spuštěním šachového enginu na samostatném počítači nebo integrací mého enginu s klientem tak, aby nedocházelo k „přepínání oken“, nebo změnou klienta tak, aby hlásil 0 změn v okně, nebo … Neexistuje žádný skutečný způsob, jak se ujistit, že to je skutečně váš váš kód běžící na klientovi.
Zůstává nám fyzicky přísně řízené klientské prostředí (které se to nestane u žádných online her) nebo kontrola na straně serveru, tj. prohlížení skutečných tahů, které byly hrány (a možná doba mezi tahy, jak říkáte), a pokus o odvození počítačového nebo lidského aspektu .
Kontrola na straně serveru může také rozdělit několik způsobů. Pravděpodobně můžete zkusit přístup „shora dolů“, což by bylo něco jako „z minulých her v historii, pouze 2% lidí udělalo tento pohyb, zatímco 50% počítačů to zvládlo. “To by byl vlastně docela dobrý způsob, jak to udělat, kdybychom měli dostatek dat pro„ jakoukoli danou pozici “. tempo šachu je však tak velké, že ani velmi velké datové soubory nebudou mít významný počet her odpovídající vaší pozici, jakmile projdete ranou polovinu hry.
Za předpokladu, že nebudeme Pokud máte spolehlivé statistiky o lidské stránce rovnice, můžete pozici prezentovat řadě šachových strojů (s různými časovými nastaveními) a zjistit, jak blízko se pohyby hráčů shodují s pohyby počítače. Samo o sobě by to také vedlo k mnoha falešně pozitivním výsledkům, nicméně opakovaná pozitiva pro stejný šachový stroj a nastavení času by zvyšovala pravděpodobnost, že hráč podváděl. Abych to ještě vylepšil, pravděpodobně bych se podíval na přístup „zdola nahoru“ při analýze šachových pozic; Stručně řečeno, pokusit se zjistit, proč lidé a počítače hrají odlišně. Např. lidé mají tendenci rozpoznávat běžné vzorce. Ve hře s „lichými“ vzory nebo nepravděpodobnými situacemi by bylo méně pravděpodobné, že by člověk mohl hrát velmi přesně. Žádný z nich sám o sobě není nijak zvlášť usvědčující, ale vzhledem k velkému počtu her by to zvýraznilo trendy pro administrátory.
Abych do vašeho seznamu přidal několik specifik, vydal bych se způsobem, jakým profesoři detekovat plagarismus v novinách – detekcí náhlé změny. V šachu je to extrémně obtížné definovat, ale náhlá změna herního stylu nebo síly hry může naznačovat podvádění. Konkrétně bych hledal necharakteristicky agresivní pohyby, které mají tendenci se jen „vypracovat“ a nemají pro hráče žádné nevýhody (příliš přesné). Vynucení kamarádi ve více než 4 tazích od hráče, který normálně staví rytíře na okraj desky atd. (je to možné … prostě není pravděpodobné). Jak přesně by to fungovalo, to zní, jako by to mohlo zabrat celou knihu (nebo více).
EDIT: Byl tam článek o podvádění a detekci v šachu nejvyšší úrovně nedávno.
Komentáře
- lidé vs. počítače mohou při otevření hry dávat falešné poplachy, je velmi snadné zapamatovat si nejlepší hry
- @ ajax333221 zcela souhlasím. Něco podobného může do jisté míry platit i pro koncovku, kde by ji člověk mohl hrát docela blízko k dokonalosti, jen na základě předchozích znalostí. To znamená, že pokud dokážu ve hře zjistit možné podvádění, jsem si ‚ jistý, že s dalšími informacemi a sofistikovanou analýzou by to mohl udělat i počítač. Nucený kamarád ve více než 4 tahech byl skutečným příkladem nedávné online hry proti hráči s hodnocením 1050 – přinejmenším velmi sugestivní …
Odpověď
V bleskovém režimu zjistíte, kolik času používají. Lidé, kteří používají motory, používají na každý pohyb konzistentní čas, místo aby bleskově otvírali a zpomalovali procházet ve střední hře jako většina běžných hráčů. Zejména nemohou hrát úvodní rychlost rychle, protože po každém úvodním pohybu musí aktualizovat svoji počítačovou desku. Pokud jim bude trvat pět sekund při pohybu dvě a pět sekund při pohybu dvacet, „pravděpodobně používají motor.
Komentáře
- nejsem si jistý, jestli to platilo v době zveřejnění příspěvku, ale stockfish může přijmout zbývající čas jako vstup, aby upřednostnil, co se bude hýbat, aby strávil čas.
Odpovědět
Počet přepnutí obrazovky a rychlost hry nemají smysl. Pokud si jimi stěžujete organizátorům online šachových her, budou se vám smát.
Existují dva způsoby. zjistit, jestli někdo podvádí. První je „kouřící zbraň“. Zvažte tuto část hry –
[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
Otázkou je, co byste v tom hráli Situace je taková, že vítězství v tomto posledním kole soutěže vám vyhraje turnaj před řadou velmistrů. To není špatné pro pouhý rok 1900. Mám podezření, že by většina z nás hrála něco přiměřeně pevného, což udrží vyhrajte. Pohyby jako Rxb7 nebo Rd7 nebo (pro zbabělce jako já 😉 Rxf6. Qa7 je zastavovač pohybu, kouřící zbraň. Fritz hodnotí jako nejlepší tah na pozici, neuvěřitelných 0,1 před dalším nejlepším tahem, Rd7.
Kouřová zbraň č. 2 na konci hry, když černá rezignovala a nechala hráče s hodnocením 1900 jako přímý vítěz turnaje. Co byste řekli Kalinitschevovi v této pozici?
Takto konverzace proběhla:
Allwermann: „Je to kamarád v 8“
Kalinitschev: „Nemyslím si to“
Allwermann: „„ Podívejte se, zjistíte, že mám pravdu “
Allwermann měl samozřejmě pravdu. Dokážete najít partnera v 8 na konečné pozici? Bez pomoci křemíku?
Takže máte kouřící zbraň a odnesete ji organizátorům. Co udělají?
No, pak přijde druhý způsob, jak zjistit a prokázat nade vší pochybnost, že se podvádění děje.
Budou muset shromáždit alespoň 20 her s alespoň 20 ne-databázových tahů a poslat je do motoru pro kontrolu. V zásadě to, co hledají, je procento času, kdy si podezřelý vybere tah bez databáze, který odpovídá prvnímu výběru motoru, jednomu z prvních 2 výběrů, jednomu z prvních 3 výběrů. Prahové hodnoty „důkazu“ jsou –
Prvních 1 65%
Prvních 2 80%
Prvních 3 90%
Posledním příkladem je rozruch nad výkonem Borislava Ivanova .
Zde jsou jeho statistiky –
Zadar 19.: Houdini 1.5a x64 Hash: 256 Čas: 30 s Max Hloubka: 20krát {Borislav Ivanov (hry: 9)}
{Nejlepší zápas 1: 210/314 (66,9%) Soupeři: 150/313 (47,9%)
{nejlepší 2 Zápas: 270/314 (86,0%) Soupeři: 207/313 (66,1%)
{Nejlepší 3 zápasy: 285/314 (90,8%) Soupeři: 238/313 (76,0%)
{Zápas 4 nejlepších: 293/314 (93,3%) Soupeři: 267/313 (85,3%)
V 8. kole klesl živý přenos (existuje podezření, že to umožnilo jeho pomoc zvenčí) získat tahy) a prohrál s GM Predojevicem. Pokud je tento výsledek odstraněn, nové statistiky jsou:
Zad ar 19.: Houdini 1.5a x64 Hash: 256 Čas: 30 s Max. hloubka: 20krát {Borislav Ivanov (Hry:)}
{Nejlepší 1 zápas: 197/287 (68,6%) Soupeři: 135/286 ( 47,2%)
{2 nejlepší zápasy: 252/287 (87,8%) soupeři: 188/286 (65,7%)
{nejlepší 3 zápasy: 265/287 (92,3%) Soupeři: 218/286 (76,2%)
{Nejlepší 4 zápasy: 272/287 (94,8%) Soupeři: 242/286 (84,6%)
Jak vidíte, obě sady statistik by ho vyhodilo z šachového serveru. Pro srovnání zde uvádíme analýzu hry 8, kdy byl zdroj vypnutý:
{White: Borislav Ivanov}
{Nejlepší 1 zápas: 13/27 (48,1%)
{Shoda nejlepších 2: 18/27 (66,7%)
{Shoda nejlepších 3: 20/27 (74,1%)
{Shoda nejlepších 4: 22/27 (81,5%)
{Černá: Borki Predojevic}
{Zápas 1 nejlepších: 15/27 (55,6%)
{Zápas 2 nejlepších: 19 / 27 (70,4%)
{Zápas 3 nejlepších: 20/27 (74,1%)
{Zápas 4 nejlepších: 25/27 (92.6%)
Všimněte si, že FIDE zřídila komisi pro vyšetřování způsobů detekce a boje proti podvádění počítačů. Jejich pokyny jsou zde . Všimněte si této části:
E. Nástroj FIDE pro internetovou kontrolu her
FIDE dodá internetový nástroj pro kontrolu her, který bude přístupný všem oprávněným úředníkům FIDE (členové IO, IA, ACC) a národním federacím. Bude umístěn na webové stránce věnované FIDE a umožní oprávněným stranám nahrát hry ve formátu PGN pro „rychlý test“, který identifikuje potenciální odlehlé hodnoty v turnaji. „Screeningem“ se rozumí, že se jedná pouze o předběžný test bez hodnoty úsudku, s výjimkou toho, že jej lze citovat při odmítání obvinění a odmítnutí pokračovat v manuálním úplném testu.
Komentáře
- Skvělá analýza! Výsledky T3 / T4 jsou přesvědčivé, zvláště když se uvádí pravděpodobnost jeho výsledků. BTW: Uvědomuji si, že váš příspěvek vznikl před nějakou dobou, ale máte stále citaci pro rozhovor mezi Kalinitschevem a Allwermannem? Je zřejmé, že žádný 1900 spolehlivě nenajde partnera v osmičce, zvláště když to 2500 nevidí ‚. Nezní to ‚ pro něj zvlášť chytré, aby tento bod zvedl, když by sám mohl vyvolat podezření, že ‚ podvádění.
- BTW: Nesouhlasím s tím, že Qa7! je zátka srdce. ‚ jednoduše využívá dvě skutečnosti, že: 1) zadní lack ‚ slabá pozice a 2) on ‚ je na něm zranitelný. Jakékoli odklonění věže mimo zadní pozici tedy umožní potenciálně vítěznou taktiku. V tomto případě White použije tah k útoku na pěšáka b a ke koordinaci své královny a věže na sedmém, aby se věž bránila. Bílý vyhraje alespoň pěšce po 1 … Qxf7 2.Qxa8 + Qg8 3.Qxb7. Myslím, že každý GM by měl vidět tah Qa7 a já ‚ jsem velmi překvapen, že to Kalinitschev zmeškal. Je to ‚ nejnáročnější tah na hrací ploše po Rxf6 ?!
- @jaxter Informace pocházejí z en.chessbase.com/post/a-history-of-cheating-in-che-3- . Poznámka “ Nesouhlasím s tím, že Qa7! zastavuje srdce “ – pokud si přečtete článek, uvidíte, že s vámi Vishy Anand nesouhlasí :-). Z článku – ‚ Co tedy hraje náš hrdina? 31.Qa7? !! „Fritzy!“ zakřičel Anand a šel do nekontrolovatelných záchvatů smíchu, když viděl tento a následující pohyby (natočil jsem jeho veselí a zahrnoval to do mé multimediální zprávy v ChessBase Magazine 69). ‚
- Děkujeme za referenci. Beru tvůj názor. Určitě bych byl ochoten dát tah výstřelu, ale to ‚ s částečně proto, že bych usoudil, že bílý může přežít Black ‚ s protiútokem bez výpočtu všech řádků . Kdybych se o to pokusil a) ‚ d si být jist, že udělám fatální chybu, ab) b ‚ d heebie-jeebies a zvolit jiný tah. Je to ‚ právě proto, že používám intuici, že často hraji podivné pohyby jako … Qa7 !. Je to ‚ s nepochybně faktorem, který přispívá k tomu, proč je moje hodnocení nižší než 2000 …
- Existuje ‚ sa Rozdíl mezi pohybem nahoře a pohybem zvuku ‚ d očekáváte, že najde mnoho hráčů, a brilantní taktikou, kterou byste ‚ t očekávejte, že to většina hráčů uvidí. Bílá ‚ výše uvedená hra má několik z nich.
Odpovědět
K odpovědi, jak k tomu přistupuji, bych použil jednoduchý nápad:
- Test nulové hypotézy
Myšlenka je, že existuje omezený počet veřejně dostupných šachových strojů, řekněme N
z nich. Tento předpoklad samozřejmě vylučuje možnost, že podvodník napsal svůj vlastní šachový stroj (nebo používá nějaký veřejně nedostupný šachový stroj), ale pro chytání náhodných podvodníků by to měl být dostatečně silný předpoklad.
Aplikace Testu nulové hypotézy by byla velmi jednoduchá: pro každý šachový stroj X
a pro každou posloupnost tahů aktuální hry vypočítejte pravděpodobnost p
dodržení hrané posloupnosti za předpokladu nulová hypotéza že hráč není pomocí šachového enginu X
provádět tahy za ně. Lze předpokládat naivní předpoklad, že se hráč pohybuje náhodně (nebo náhodně volí z vybraného počtu horních tahů d_i
), pak pravděpodobnost pro danou posloupnost délky k
odpovídající pohyby šachového stroje X
by byly počítány jako (d_1)/(n_1) * (d_2)/(n_2) * (d_3)/(n_3) *...* (d_k)/(n_k)
kde d_i
je počet možných (horních) tahů, které lze provést při zatáčce ith
, podle hodnocení motoru X
a n_i
je počet celkových tahů, které má hráč k dispozici na tahu i
(nebo nějaká rozumná podmnožina).
Pak jednoduše spočítejte
p* = minimum p over all chess engine X, all subsequences y.
Pokud je p*
menší než určitá prahová hodnota, označte hráče jako podvodníka, protože existuje podsekce y
a šachový stroj X
, který přináší pravděpodobnost, že hráč je ne podvádění pod požadovanou pravděpodobností.
Odpověď
Myslím si, že analýza po hře vám dává největší šanci zjistit, zda hráč podváděl. To lze provést pomocí takzvané analýzy T3 / T4.
Toto v zásadě měří frekvenci, s jakou hráč vybere jeden z nejlepších 3 nebo nejlepších 4 tahů, které jsou navrženy motorem. To do značné míry eliminuje potřebu identifikovat používaný cílový engine (protože se obecně shodnou na prvních 4/5 tahech, i když je pořadí preferencí odlišné).
K dispozici je software, který spustí sada her uživatele proti n největším pohybům motoru. Upravit:
Vím o ChessAnalyse , které lze použít k provedení takové analýzy. Můžete vyzkoušet 30denní zkušební verzi.
Komentáře
- Tomu může čelit inteligentní podvodník, který má některé šachové znalosti takto: hrajte tahy které jednoduše nezhoršují vaši pozici a čekají na omyl soupeře ‚, který by ohrozil jeho pozici. Hrajete-li 5 až 15 minut bleskového boje proti někomu, kdo nemá GM sílu, určitě se to dříve či později stane. Pokud navíc hodíte občas špatný tah a / nebo netrváte na výhře v každé hře, jsem si ‚ jistý, že vaše podvádění zůstane nezjištěno.
- @AndreaMori: Souhlasím s tím, že se můžete vyhnout několika situacím, ale jak se bude zlepšovat jeho hodnocení, bude nucen stále více vyhledávat a nakonec bude detekován.
- Děkuji, zmínil jste se že je k dispozici software. Můžete uvést příklad?
Odpovědět
Pokud vaše stránky dávají uživatelům jedno kliknutí, získají pozice FEN nebo PGN zatímco hra běží , měli byste zvážit jejich sledování.
Někteří podvodníci podvádějí od začátku, ale jiní dávají přednost tomu, aby začali podvádět, pouze když mají potíže, a oni samozřejmě použijte funkci kopírování FEN / PGN, protože je časově náročné nastavit polohu ručně.
Měli byste to nějak uložit spolu s tahem v době, kdy to zkopíroval, tímto způsobem můžete porovnávat z to ukazuje na následující tahy a zjistěte, zda se jeho síla výrazně zvýšila pomocí šachových motorů.
Je však velmi důležité, abyste jej používali pouze k tomu, abyste se rozhodli, zda podvádí, bylo by to nefér použít skript, který nepoužívá žádný lidský zásah, může existovat mnoho falešných poplachů, například často rád kopíruji pozice, zatímco hraji, abych je později analyzoval, aniž bych musel hledat svou hru nebo najít Přesný tah z PGN. A nenechávám to vždy ve své schránce, protože se bojím, že to přepíšu, takže to přesunu do poznámkového bloku (což znamená, že okna přepnu hned po jeho zkopírování).
Komentáře
- Zdá se, že se jedná o “ způsob správy “ pohledu serveru, spíše než “ podvádí můj soupeř? “ (ne že by OP řekl cokoli o tom, na kterém případě mu záleží). Možná stojí za zmínku protože mi to trvalo trochu času, než jsem pochopil, co máte na mysli, když jsem na to myslel od hráče ‚ s POV.(Dobrá odpověď … jakmile to pochopíte ^ _ ^ ‚)
- děkuji @ajax. Neuvažoval jsem o uložení tahu, při kterém byla pozice zkopírována, a analyzování rozdílu mezi silou před a po.
- a samozřejmě podvodníci toto sledování zjistí a deaktivují. nebo si vytvořte vlastní kopírovací funkce, ‚ to není tak těžké: codegolf.stackexchange.com/questions/89647/chess-conversion
Odpověď
FWIW, nikdo se nezmínil o Dr. Ken Reganovi jménem, ačkoli ukazatel na Liptonův blog popisuje další článek v Šachovém životě , který pojednává o jeho práci.
Tento článek je velmi poučný o Reganově práci, stavu detekčních technik, které byly účinné v roce 2014, a práci FIDE při zřizování výboru, který by definoval a zveřejňoval standardy, nástroje a techniky na pomoc TD “ je v potlačení podvádění.