Turnaj se uskutečnil 13.12.2019.
švýcar na 7 kol, 12 min + 3sec/tah | ||||
pořadí | jméno | elo | body | BH |
1. | Vincze Roman | 2101 | 5,5 | |
2. | Holata Miroslav | 1717 | 5,0 | |
3. | Michal Milan | 1715 | 4,5 | 25,5 |
4. | Zedníček Filip | 1553 | 4,5 | 24,5 |
5. | Havelka Vladislav | 1558 | 4,5 | 24,0 |
6. | Linhart Jaroslav | 1719 | 4,5 | 23,5 |
7. | Hrančík Martin | 1474 | 3,0 | |
8. | Havel Jiří | 1514 | 2,5 | |
9. | Trčka Bohdan | 1563 | 2,0 | 23,0 |
10. | Štorek Ladislav | 1373 | 2,0 | 22,5 |
11. | Pavliš Matěj | 1411 | 2,0 | 22,0 |
12. | Marek Aleš | 1404 | 2,0 | 20,5 |
Další (7.) turnaj bude 3.1.2020.
Pátek třináctého
Všechny ty dále uváděné trapasy mají jediný důvod, a to pátek třináctého. Jo – ničím jiným to nemůže být (vůbec si to nedokážu vysvětlit). Vzpomeňme, že i Apollo 13 odstartovalo ve 13:13 hod. … a všichni víme, jak to dopadlo.
Rekapitulace losování
Co se týče losování, je to na turnajích letošního ročníku “O pohár” každý pes, jiná ves.
Program VinczeSwiss
Na 6. turnaj “O pohár” jsem si připravil překvapení. Zbrusu nový program VinczeSwiss. No ano, čtete správně – naprogramoval jsem si vlastní program (screenshot je ve fotogalerii). Zatím je to alfa-verze (programátoři vědí). Nemá to ani zdaleka všechny funkce. Ale jádro (rekurzivní párovací funkce) už je. Tedy myslel jsem si to. Verze programu je (čistě náhodou) 0.13. Taky mě mohlo napadnout, že verze 0.13 v pátek třináctého … no zkrátka to nalosovalo jen 5. kol. Při losování šestého kola se to zacyklilo (ještě na tom budu muset máknout). Nezbylo mi, než nadepsat papírové kartičky, napsat na ně výsledky prvních pěti kol, a zbylá dvě kola odlosovat na stole.
Ale nenechám se odradit. Podle logů zjistím, proč se to zacyklilo a na 7. turnaji “O pohár” to (s vyšší verzí programu VinczeSwiss) zkusím znovu.
A ostuda na šachovnici
Na šachovnici to vypadalo, jako bych byl přejitý mrazem. Už v prvním kole (proti Zedníčkovi) jsem taktickou neschopností ztratil ve střední hře figuru. Zedníček se mě zeptal, jestli to zabalím. Nezabalím! Bojoval jsem i bez figury, cca 40 tahů to měl prohrané a nakonec (po vzoru Bohdana Trčky, odborníka na paty) v pozici (Kg1,Va1: Kg3,Vc3,g4,h3) …
… jsem po tazích 1. – h2+ 2.Kh1 Kh3 zachránil remízu skvělým 3.Va3!!.
Další hák na bradu jsem inkasoval ve čtvrtém kole. Jak jsem byl jak přejitý mrazem, tak jsem (dost ostrou koncovku s kvalitou navíc: D+V proti D+S) to na třech sekundách za tah nedokázal odblicat a spadl mi prapor.
Po 5.kole byla 15 min pauza, způsobená zásekem programu VinczeSwiss 0.13. Ani odstřelení programu a jeho opětovné spuštění nepomáhalo – chyba je někde v párovací funkci. Takže vypisování kartiček – no i z toho jsem měl celkově dost.
V posledním kole jsem (pro vítězství v turnaji) potřeboval, aby Zedníček vypepřil Holatu. A on ho fakt vypepřil (taktický zisk celé věže zadáčo, následovaný ještě navíc brutálním matem uprostřed šachovnice plné figur).
Tímto ještě jednou děkuji Filipovi Zedníčkovi, že mi vyhrál turnaj.
A jak to nakonec dopadlo s tím Apollo 13, startujícím ve 13:13 hod? Ten výsledek je dodnes označovaný jako vítězná prohra. Moje působení v turnaji by se taktéž dalo označit jako vítězná prohra.
Já osobně jsem si ten turnaj užil, prupovídky Mirka Holaty, nebo Jirky Havla stály za to. Losování ručně mě taky bavilo, taková logická hra mimo šachy, prostě super komorní šachový podvečer PS v tom losování ručně by se dali dělat soutěže kdo to dá dřív 👍👍😎🍀🤔
Program VinczeSwiss (verze 0.14) a zkouška ohněm
Tak už jsem neposlušnou párovací funkci opravil. Chyběla jedna if-podmínka a v ní dva řádky (programátorského) kódu. Teď už párování bude fungovat bez zacyklování. Opravdu!
Jako ověření, že opravdu je opravdu, jsem si vybral (na ChessResults) turnaj ve Žďáru nad Sázavou 26.12.2007 (viz http://chess-results.com/tnr9471.aspx?lan=5&art=1). Proč právě tenhle?
1. Turnaj jsem vyhrál a stal se krajským přeborníkem (kraje Vysočina) v bleskovém šachu pro rok 2008.
2. Na turnaji došlo k záseku programu Swiss Manager. Při losování posledního 21. kola hledal Swiss Manager přípustnou kombinaci hodinu (fakt jsme tehdy všichni museli tak dlouho čekat) a furt nic! Pak ho pořadatelé ze zoufalství stopli, dvěma beznadějně posledním hráčům dali jednomu stopku (nenasazen) a druhému volno (bye za 1 bod) a řekli jim, že si mají zahrát ještě jednou (o poslední místo). Pak už Swiss Manager 21.kolo nalosoval.
Tehdejší úlohu jsem po dvanácti letech předhodil mému programu VinczeSwiss. Podstrčil jsem svému programu všech původních 20 kol a spustil párování 21.kola. A VinczeSwiss 0.14 našel přípustnou kombinaci za 41 minut a 13 sekund. Jako důkaz tady tuto kombinaci uvádím (takhle mělo tehdy vypadat poslední (21.) kolo):
Tak! Mám právo si myslet, že moje párovací funkce je (už teď) lepší, než párovací funkce ve Swiss Manageru. A ještě chlubivě dodám, že čas losování lze z 41.13 min srazit o celou třetinu (tedy na 26 minut) tím, že vypnu logování (zápis na hardisk). Je to pak rychlejší, ale čas začátku a konce párování si pak v logu nepřečtu a musím tedy (ten čas) měřit stopkama. A taky se celou dobu losování nudím, protože nemůžu v logu sledovat, co zrovna program dělá a kde už je.
Pokud by někdo namítl, že srovnání jedné hodiny tehdy a 41 minut dnes je unfair (počítače jsou přece rychlejší), tak říkám, že to unfair není. Rychlost jednoho jádra (procesoru) se už 15 let pohybuje pořád kolem 3 GHz, takže rychlost dnešních procesorů (na jedno jádro) není vyšší než tehdy. Ano, dnešní procesory mají více jader (tehdy jedno, dnes 4 až 12). Jenomže pokud je párovací funkce rekurzivní (funkce volá sama sebe v mnoha do sebe zanořených úrovní), tak to pro vícejádrový procesor (multithreadově) naprogramovat NEJDE.
Můj program VinczeSwiss tedy páruje trochu jinak než Swiss Manager. Swiss manager páruje podle hrůzy, která je uvedená (i) na stránkách českého šachového svazu (viz https://www.chess.cz/sachovy-svaz-cr/legislativa/pravidla-pro-turnaje-hrane-svycarskym-systemem/). Zkrátka FIDE pravidla pro švýcar (od dob losovacích papírových kartiček) neustále zesložiťuje (může, protože to stejně počítá počítač).
Takže dnešní (2019) švýcar není stejný, jako býval švýcar (pro papírové kartičky) v roce 1986. Já ale při implementaci párovací funkce vyšel právě z verze švýcaru pro rok 1986. Ale on to zas takový rozdíl není. V kolech 5 až 15 (turnaj Žďár 26.12.2007) se VinczeSwiss a Swiss Manager shodují v cca polovině párů (a ty ostatní jsou “těsně vedle” – ti by v dalších kolech spolu stejně hráli), u dvacátého kola byla shoda 19/26 párů.
FIDE uznává různé varianty švýcaru: Swiss-Dutch (holandská varianta), Swiss-Dubov, dokonce je uznávána taková debilita jako Swiss-Monrad. Proč by tedy FIDE nemohla uznat (v roce 1986 již uznaný) i Swiss – ultra simple Dutch – 1986 retro (alias Swiss-Vincze)?
Pro pořádek tady uvedu můj algoritmus pro švýcar. Technické dokonalosti není dosaženo, když už není co přidat, ale když už není co odebrat.
Zjednodušená pravidla švýcarského systému
(knihu vydalo nakladatelství Olympia (roku 1986) jako svou 2278. publikaci)
Úvodní ustanovení- Všichni účastníci hrají v jedné skupině.
- Počet kol je stanoven předem.
- Pořadí pomocných hodnocení (při rovnosti bodů) je stanoveno předem (výběr: Buchholz, střední Buchholz, Sonneborn–Berger, Progress, počet výher, vícekrát černé, los).
- Na začátku turnaje je hráči přiděleno startovní číslo, a to na základě ratingu (elo). Postupuje se sestupně, tj. hráč s nejvyšším ratingem dostane startovní číslo 1. U hráčů bez ratingu (tj. na konci startovního pole) se doporučuje provést seřazení sestupně dle věku, pro zjednodušení je ale přípustné i seřazení v abecedním pořadí nebo v pořadí, v jakém hráči přicházeli k prezentaci. Pokud je pořadateli turnaje dovoleno, aby hráč přistoupil do turnaje až v jeho průběhu, dostane tento nově příchozí hráč startovní číslo, jaké by dostal na začátku turnaje (je tedy nutné přečíslovat startovní čísla všech následujících hráčů).
- Dva hráči mohou spolu hrát jen jednou.
- Hráči se stejným počtem bodů tvoří tzv. bodové seskupení.
- Je-li počet hráčů v turnaji lichý, pak hráč s nejnižším pořadím v nejnižším bodovém seskupení dostane (bez hry a bez přidělení barev) bodovné přebývajícího hráče (1 bod jako za výhru). Hráč může dostat bodovné přebývajícího hráče pouze jednou.
- Hráč, který ještě před losováním dalšího kola pořadateli oznámí, že nechce/nemůže hrát, není v tomto kole párován, není mu přidělena žádná barva a nedostane žádné body.
- Při sestavování dvojic se postupuje od nejvyššího bodového seskupení k nejnižšímu (párování shora).
- V bodovém seskupení jsou hráči seřazeni vzestupně podle startovních čísel.
- Následně je bodové seskupení rozděleno na horní a dolní polovinu. Je-li v bodovém seskupení lichý počet hráčů, pak je dolní polovina větší.
- Pro prvního hráče horní poloviny bodového seskupení vybíráme soupeře v tomto pořadí:
- první (pak druhý, třetí, … , poslední) hráč dolní poloviny bodového seskupení
- poslední (pak předposlední, …, třetí, druhý) hráč horní poloviny bodového seskupení
- první (pak druhý, třetí, …) hráč nejblíže nižšího bodového seskupení
- první (pak druhý, třetí, …) hráč ještě nižších bodových seskupení
- po nalezení dvojice, která je přípustná (tj. hráči spolu ještě nehráli (tip: už v této fázi sledujte, zda hráčům bude možné přidělit barvy tak, aby žádný hráč nehrál potřetí za sebou stejnou barvou figur)), jsou oba hráči (z bodových seskupení) vyjmuti.
- Pokud párování vede do slepé uličky, tzn. nakonec zbývající hráče v nejnižších bodových seskupeních nelze sestavit do dvojic přípustným způsobem, pak některé již sestavené dvojice musí být zrušeny. Postupuje se nazpět v opačném pořadí, tzn. napřed je zrušena naposledy sestavená dvojice a je vyzkoušeno alternativní párování (dle pravidel výše). Pokud postup i nadále vede do slepé uličky, jsou rušeny další dvojice od dvojice naposledy sestavené až třeba po první dvojici. Pokud je to nutné, musí být (při lichém počtu hráčů) přebývající hráč vyměněn za jiného (tedy přebývajícím hráčem nebude v nejnižším bodovém seskupení hráč poslední, ale předposlední, …).
- Pokud nelze sestavit dvojice žádným přípustným způsobem, pak turnaj (předčasně) končí (to se může stát například při devíti hráčích v turnaji na 7.kol, pokud jeden z hráčů v průběhu turnaje odstoupí (aby párování nezkolabovalo, tak takový turnaj by musel už od začátku být hrán jako “každý s každým”)).
- Při sestavování dvojic se neuvažují barvy. Barvy jsou přidělovány až po dokončení párování.
- Barvy hráče se mění, pokud je to možné.
- Hráč nesmí dostat 3x za sebou stejnou barvu figur – toto je jediný případ, kdy (některé) dvojice v již dokončeném párování musí být změněny (pokud by to ale znamenalo nemožnost jakkoliv sestavit přípustné dvojice, pak se pravidlo o zákazu 3x stejné barvy neuplatňuje).
- V prvním kole se barva pro prvního nasazeného hráče nalosuje. V horní polovině startovního pole budou mít hráči s lichými startovními čísly barvu jako první nasazený hráč, hráči se sudými startovními čísly barvu opačnou.
- V dalších kolech se při přidělování barev postupuje v tomto pořadí:
- hráč, který v předchozích dvou kolech hrál stejnou barvou, musí dostat barvu opačnou
- hráč s vyšším rozdílem barev dostane barvu, která provede vyrovnání (dosavadního) rozdílu v počtu jeho barev
- hráč s nižším startovním číslem dostane barvu, která provede vyrovnání (dosavadního) rozdílu v počtu jeho barev
- hráč s vyšším startovním číslem dostane barvu, která provede vyrovnání (dosavadního) rozdílu v počtu jeho barev
- hráč s nižším startovním číslem bude střídat barvu
Jméno:
Startovní číslo:
Elo:
kolo
soupeř
barva
výsledek
průběžný
st.č.
jméno
1.
2.
3.
4.
5.
6.
7.
8.
9.
Základní zásady
Sestavování dvojic
Zmenšené bodové seskupení je seřazeno vzestupně podle startovních čísel, rozděleno na horní a dolní polovinu … a postup se opakuje.
Příklad: Pokud bodové seskupení sestává z osmi hráčů, pak pro prvního hráče je vyhledáván soupeř v pořadí 5-6-7-8-4-3-2.
Přidělení barev
Příklad vhodné karty hráče (pro losování na papírových kartičkách bez počítače)
počet
bodů