Jak często występuje roszenie w grach arcymistrzowskich?

22

Czy mogę wiedzieć, jak znaleźć we wszystkich grach arcymistrzów, jaki jest procent każdego z poniższych?

  • Castling z Kingside
  • Queenside Castling
  • Nigdy nie zamaskowany do końca gry, ale nadal ma prawo do zamku
  • Utracono prawo do zamku

Uwaga Gdy jedna strona zamyka się więcej niż raz w grze , liczy się tylko pierwszy zamek.

Zuriel
źródło
2
Przez „wszystkie gry arcymistrzów” rozumiesz wszystkie takie gry w określonej bazie danych?
user1583209
Czy potrzebujesz tego osobno dla bieli i czerni? (Odsetek białych castingów królów itp.)
1583209
@ user1583209, nie mam na myśli żadnej bazy danych. Jeśli wartość procentowa jest dostępna osobno dla bieli i czerni, będzie preferowana.
Zuriel
Żaden gracz nigdy nie może dwa razy kasztelować w grze, ponieważ roszowanie, a następnie przeniesienie króla z powrotem do pozycji, z której mógłby ponownie zamykać, wymaga co najmniej jednego ruchu króla, dyskwalifikując go od ponownego kastowania.
user45266
3
@ user45266 To nielegalny ruch, ale zgodnie z linkiem OP, niektóre gry historyczne zawierają nielegalne ruchy, których nikt wtedy nie złapał.
Geoffrey Brent

Odpowiedzi:

27

Jeśli jesteś przygotowany do korzystania ze standardowych narzędzi wiersza polecenia systemu Linux, takich jak, wca grepnastępnie myślę, że mój bezpłatny procesor PGN, pgn-extract , wykona większość wstępnego przetwarzania niezbędnego do liczenia gier w każdej kategorii. Poniżej znajduje się podstawowy skrypt bashowy, który przygotowałem jako dowód koncepcji. Zakłada, że ​​plik gier nazywa się inputfile.pgn- dostosuj w razie potrzeby lub przekaż go jako argument wiersza poleceń:

#!/bin/bash
# Output stats on castling.
src=inputfile.pgn
# Pre-process the games to allow textual analysis.
pgn-extract -C -V -N --notags --nochecks --linelength 10000 -s -o stripped.pgn ${src}
# Castling by white: detect a preceding move number.
grep '\. O-O ' stripped.pgn > Wkingside.pgn
grep '\. O-O-O ' stripped.pgn > Wqueenside.pgn
# Castling by black: detect no preceding move number.
grep '[^.] O-O ' stripped.pgn > Bkingside.pgn
grep '[^.] O-O-O ' stripped.pgn > Bqueenside.pgn
# Find games in which no castling occurred.
grep -v ' O-O ' stripped.pgn | grep -v ' O-O-O ' | grep -v '^$' > nocastle.pgn

# Output the FEN of the final position to include castling rights and
# look for the presence of rights.
pgn-extract -C -V -N --notags --nomovenumbers --linelength 10000 -s nocastle.pgn --dropply -1 -F | grep ' [wb] [KkQq]' > rights.txt

# Output the results - assumes valid Result tags in the source.
echo 'Number of games: ' `grep '^\[Result ' ${src} | wc -l`
echo 'W Kingside: ' `cat Wkingside.pgn | wc -l`
echo 'W Queenside: ' `cat Wqueenside.pgn | wc -l`
echo 'B Kingside: ' `cat Bkingside.pgn | wc -l`
echo 'B Queenside: ' `cat Bqueenside.pgn | wc -l`
echo 'Neither: ' `cat nocastle.pgn | wc -l`
echo 'Rights retained: ' `cat rights.txt | wc -l`

Próbowałem skryptu w bazie danych KingBase (kwiecień 2019 r.), A po usunięciu zepsutych gier i duplikatów uzyskałem następujące statystyki:

Number of games:  2072354
W Kingside:  1633762
W Queenside:  246158
B Kingside:  1670870
B Queenside:  128124
Neither:  69776
Rights retained:  24280

Liczba „żadna” wynosi około 3,4%, natomiast liczba „zachowanych praw” wynosi około 1,2%. Jeśli gry zawierające 20 lub mniej warstw zostaną usunięte, liczba „none” zmniejsza się do około 2,9%, a liczba „zachowanych praw” do około 0,7%.

kentdjb
źródło
1
Dziękuję bardzo za udostępnienie !! Uważam, że Twój kod działa świetnie (chyba że jedna strona zamyka się więcej niż raz, co i tak jest nielegalne).
Zuriel
7
Świetny! Naprawdę przekopuję ten nowy trend odpowiedzi opartych na skryptach na pytania dotyczące statystyk tutaj na szachach SE, takich jak twoje tutaj lub tutaj ostatnio .
user929304
Tak więc, dla wyjaśnienia, „Kingside” liczy wszystkie te gry, w których jeden lub obaj gracze zamrozili królewską stronę. Gry, w których jeden gracz zamykał stronę króla, a drugi zamykał stronę królowej, będą liczone w obu kategoriach. Być może bardziej interesującą statystyką byłby ułamek gier, w których biała (lub odpowiednio czarna ) roiła się od króla lub królowej.
Nate Eldredge
1
Nie powinienem myśleć, że miałoby to duży wpływ na wartości procentowe, ale czasami zdarzało się 0-0 + i 0-0-0 +.
Rosie F
1
A dlaczego nie znaleźć oddzielnie wartości procentowej dla bieli i czerni? Po prostu pomysł!
Rewan Demontay
10

Już samo wyszukiwanie w „castling statystyka” przynosi już kilka wyników; mimo że analiza jest przeprowadzana na innym zestawie gier niż „wszystkie gry arcymistrzowskie”, daje to przybliżoną wskazówkę.

Castling na Kingside wykonuje 80-81% graczy, a casting na stronie królowej - 8-9%. Szacuję, że Nigdy nie zamyka się do końca gry, ale nadal ma prawo do zamku, jest nieistotna (mniej niż 0,1%, ponieważ wymaga bardzo krótkiej gry). Tak więc pozostawia około 11% dla ostatniej grupy Utracono prawo do zamku .

Glorfindel
źródło
1
Pierwszy link jest świetny !! Nigdy wcześniej nie widziałem tak interesujących statystyk dotyczących szachów.
Zuriel
1
Obecnie jest to mniej powszechne, ale historycznie było wiele gier, w których dwóch arcymistrzów rozegrało kilka standardowych ruchów otwierających i zgodziło się na przykład na losowanie, ponieważ wynik ich gry nie wpłynie na wyniki turniejowe. Prawdopodobnie wiele z tych gier zakończyło się sytuacją, w której przynajmniej jeden z graczy nadal miał prawo do zamku. Wykres częstotliwości dla różnych głębokości warstw w drugim łączu zawiera ponad 35 000 gier (~ 2%), które zakończyły się po 20 warstwach lub mniej i prawie wszystkie z nich zostaną uzgodnione losowaniem, prawdopodobnie z co najmniej jednym graczem posiadającym prawa do roszowania.
David Richerby