środa, 23 maja 2012

Dziewiąta partia meczu Anand - Gelfand według Daniela Kinga


Przekornym okiem złośnika (25)

Alexander Grischuk: - Na tego jednorękiego "bandytę"
nie ma sposobu. Nawet Red Bull nie dodaje mi skrzydeł.

Garri Kasparov - szukaj wygranej strategii

Rosyjskie lekcje szachów - gambit królewski


Szachy i komputery (7) - autor Wojtek Żuchowski


Maszyna szachowa (foto: google)


W praktyce

Gracz (program lub człowiek) musi ocenić pozycję, wybrać ruchy-kandydatów, uszeregować je, obliczyć warianty i ocenić nowo powstające pozycje. A po każdym posunięciu tworzą się nowe ruchy-kandydaci i znów trzeba wybierać. Coś takiego nazywamy drzewem wariantów.
Silnik szachowy zaczyna od wstępnej, bardzo płytkiej oceny dozwolonych posunięć i uszeregowuje je według tej wstępnej oceny. Następnie po kolei oblicza i ocenia następujące po nich warianty, przyporządkowując im różną ilość czasu zależnie od pozycji na liście. Jeśli ocena jakiegoś wariantu w tym drugim przebiegu zmieni się, wariant przesunie się na liście w górę lub w dół. W następnym przebiegu wszystko się powtarza, z tym że ilość czasu przeznaczona na warianty powstające po każdym posunięciu proporcjonalnie rośnie.
Procedurom liczenia wariantów musi jednak towarzyszyć odpowiednia wiedza: zdolność oceny elementów pozycyjnych, jak: struktura, tempa, bezpieczeństwo króla, mobilność bierek, przewaga przestrzeni, oraz zależności między nimi, a także zdolność oceny materiału zależnie od pozycji, a nie na zasadzie: goniec – 3 punkty, wieża – 5 punktów.
Ocenę pozycji silniki podają jako wielokrotność liczby jeden (wartość piona) ze znakiem plusa (przewaga białych) lub minusa (przewaga czarnych). Ocena pierwszego wariantu na liście, która jest jednocześnie oceną pozycji, określa nie tyle obecną pozycję na szachownicy, co najlepszą końcową pozycję we wszystkich obliczonych wariantach. Gdy białe mają dwa piony więcej lub program doszedł do takiej pozycji w swoich obliczeniach (i nie widzi nigdzie pozycji z większą przewagą), to bez uwzględnienia czynników pozycyjnych ich przewaga wynosi +2,0. Gdy czarne mają lub mogą mieć (przy najlepszej grze przeciwnika) wieżę za skoczka, a białe nie mają nic w zamian (np. lepszej struktury, możliwości ataku), ich przewaga z punktu widzenia programu jest podobna, tyle że przed liczbą widać znak minusa. Gdy żadna ze stron nie ma przewagi materialnej ani możliwości jej zdobycia przy najlepszej grze przeciwnika, ale jedna z nich ma inicjatywę, solidniejszą strukturę lub lepiej zabezpieczonego króla, ocena najpewniej będzie gdzieś pomiędzy zerem a jedynką, ze znakiem plusa lub minusa.
Ważnym elementem oceny jest głębia, wyrażona w liczbie półruchów (ang. ply). Głębię wyraża jedna lub dwie liczby. Na przykład głębia 16 oznacza, że silnik ocenił wszystkie pozycje w branych pod uwagę wariantach następujące po ośmiu posunięciach każdej ze stron. Głębia 16/44 oznacza, że silnik ocenił wszystkie pozycje w branych pod uwagę wariantach następujące po ośmiu posunięciach każdej ze stron, ale w przynajmniej jednym wariancie, najpewniej wymuszonym, doszedł do 22 pełnych ruchów. Ze względu na selektywny charakter analizy ten parametr nie jest porównywalny między silnikami, a nawet różnymi wersjami tego samego silnika.
Mniej ważna, bo niewiele mówiąca o głębi, jest liczba sprawdzonych pozycji, bez znaczenia jest, jako wartość względna, czas użyty do namysłu. W oderwaniu od czasu do namysłu niewiele mówi też szybkość liczenia wariantów, wyrażona w pozycjach na sekundę (ang. nodes per second). Z tym ostatnim parametrem jest też związany następujący problem: na procesorach wielordzeniowych lub w konfiguracjach wieloprocesorowych, gdy zamiast wątków działają oddzielne procesy, wskazania programu mogą być po prostu błędne.

Panel silnika
Na obrazku 10... Qh4 to analizowane posunięcie. 3/46 oznacza, że jest to trzecie według bieżącej oceny posunięcie z 46 dostępnych. 0.11 to bieżąca ocena najlepszego znalezionego ruchu. Depth=14/35oznacza, że silnik w branych pod uwagę posunięciach osiągnął głębię 14 półruchów, przy czym w przynajmniej jednym wariancie doszedł do 35 półruchów. 1638 kN/s to szybkość liczenia pozycji w tysiącach na sekundę. 
Zanim przejdę do przykładów tego, jak silnik błędnie ocenia pozycję lub nie umie jej poprawnie rozegrać, przykład oceny nie tyle błędnej, co zupełnie różnej zależnie od silnika. To odpowiedź na pytanie, czy istnieje coś takiego jak obiektywna ocena i czy komputer jest do niej zdolny.

Topałow - Kramnik, turniej Corus 2008 w Wijk aan Zee

(ruch czarnych)
6rr/p1kn1Q2/2pNp2p/3nP1p1/P1P3q1/1p4B1/5PPP/2R2RK1 b - - 0 1 

Po kilku minutach liczenia tej niezwykle „dzikiej” pozycji na procesorze Core 2 Duo Fritz 10 podaje wynik 2,59 dla białych, a Rybka 2.3.2.a – 0,98. Oba silniki liczyły ten sam pierwszy wariant, w którym białe uzyskują przewagę materialną, z taką samą głębią 17 półruchów. Ta wyjątkowo duża, jak na grę środkową, różnica wynikła zapewne zarówno z ogólnie bardziej ostrożnego podejścia Rybki, jak i różnej oceny czynników pozycyjnych (inicjatywa, bezpieczeństwo króla, zagrożenie ze strony wolnego piona itp.).
Tak więc dwa statystycznie równie mocne silniki na takim samym (lub tym samym) sprzęcie wcale nie muszą osiągać remisu za remisem, program może nawet przegrać sam z sobą. Do różnic w ocenie pozycji i w stylu gry dochodzą ustawienia parametrów silnika i wpływ książek debiutowych, zwłaszcza że w takiej książce z reguły przez większą część debiutu po każdym posunięciu jest kilka odpowiedzi, które silnik może zagrać, różniących się jedynie szansą (wyrażoną w procentach) na wylosowanie.

Dające się zmienić parametry Fritza

Chiny II zremisowały z Indiami i dzięki temu Chiny I objęły samodzielne prowadzenie w drużynowych mistrzostwach Azji

Wang Hao lider Chin I

  1. China 1 (Śr.Rg.:2703, TB 1: 11 / TB 2: 18.5)
SzachNazwiskoRgFed1234567Pkt
Śr.Rg.
1GMWang Hao2738CHN1111½½5.062584
2GMWang Yue2690CHN1101½3.552579
3GMLi Chao b2703CHN½112.532505
4GMDing Liren2679CHN1111½½5.062468
5GMYu Yangyi2626CHN1½012.542194
  2. India (Śr.Rg.:2674, TB 1: 10 / TB 2: 17)
SzachNazwiskoRgFed1234567Pkt
Śr.Rg.
1GMSasikiran Krishnan2720IND1½01½03.062565
2GMHari Krishna Pentala2693IND+½1½½½4.062522
3GMNegi Parimarjan2640IND1011½3.552512
4GMGupta Abhijeet2644IND111½14.552413
5GMGopal Geetha Narayanan2562IND112.022131
  3. Kazakhstan (Śr.Rg.:2538, TB 1: 8 / TB 2: 14.5)
SzachNazwiskoRgFed1234567Pkt
Śr.Rg.
1GMJumabayev Rinat2556KAZ½01½½2.552509
2GMKazhgaleyev Murtas2595KAZ101½13.552471
3GMIsmagambetov Anuar2478KAZ½0½½½2.052403
4GMKhusnutdinov Rustam2509KAZ½½1013.052425
5IMKuderinov Kirill2493KAZ111½3.542033
  4. China 2 (Śr.Rg.:2590, TB 1: 8 / TB 2: 13.5)
SzachNazwiskoRgFed1234567Pkt
Śr.Rg.
1GMZhou Weiqi2624CHN½1½002.052571
2GMZhou Jianchao2609CHN0½0½12.052579
3GMZhao Jun2577CHN½1½½1½4.062521
4GMWen Yang2550CHN1111½4.552424
5IMLou Yiping2428CHN1001.032530
  5. Vietnam (Śr.Rg.:2594, TB 1: 7 / TB 2: 16)
SzachNazwiskoRgFed1234567Pkt
Śr.Rg.
1GMLe Quang Liem2703VIE11½½½3.552562
2GMNguyen Ngoc Truong Son2656VIE½½½½13.052265
3IMNguyen Duc Hoa2496VIE10½1013.562251
4IMNguyen Van Huy2502VIE1½0½13.052231
5GMDao Thien Hai2514VIE1113.031765
  6. Singapore (Śr.Rg.:2401, TB 1: 6 / TB 2: 14)
SzachNazwiskoRgFed1234567Pkt
Śr.Rg.
1GMZhang Zhong2593SIN½½½½2.042577
2IMGoh Wei Ming Kevin2426SIN1½1½½14.562151
3FMChan Yi Ren Daniel2333SIN10½0012.561961
4IMChan Peng Kong2252SIN1010013.061827
5Iskandar Bin Abdullah2010SIN112.021200
  7. Mongolia (Śr.Rg.:2401, TB 1: 6 / TB 2: 13)
SzachNazwiskoRgFed1234567Pkt
Śr.Rg.
1IMGundavaa Bayarsaikhan2516MGL½½½½½02.562561
2FMMunkhgal Gombosuren2387MGL110½½03.062440
3IMBattulga Namkhai2397MGL½1½0114.062360
4FMNasanjargal Urtnasan2304MGL01½0113.562122
  8. Indonesia (Śr.Rg.:2017, TB 1: 6 / TB 2: 13)
SzachNazwiskoRgFed1234567Pkt
Śr.Rg.
1GMMegaranto Susanto2517INA½1½1115.062365
2FMHamdani Rudin2322INA01012.042307
3CMMuhammad Luthfi Ali2027INA½01102.552139
4Mohamad Ervan0INA0½1001.552316
5Saidul Ula Sumardi0INA10102.041933

Czternastolatek z Rosji wygrał turniej w Kirishi

Vladislav Artemiev prowadził od startu do mety


MNazwiskoRgFed123456789101112Pkt  S-B z
1IMArtemiev Vladislav2459RUS*½1½½11111½½8.5
43.506
2IMBelous Vladimir2518RUS½*½½½11½11118.5
40.256
3IMOparin Grigoriy2494RUS0½*0½1½111117.5
33.006
4IMMammadov Zaur2393AZE½½1*½½0111017.0
36.505
5FMChigaev Maksim2438RUS½½½½*½101½117.0
34.004
6CMSanal Vahap2277TUR000½½*111½1½6.0
25.504
7FMBoruchovsky Avital2434ISR00½100*1½½104.5
21.753
8IMVakhidov Jahongir2439UZB0½00100*10114.5
20.254
9FMAntal Tibor Kende2345HUN000000½0*1113.5
11.253
10FMIzzat Kanan2341AZE0000½½½10*½½3.5
16.001
11FMCodenotti Marco2345ITA½00100000½*13.0
15.502
12WFMStyazhkina Anna2107RUS½0000½100½0*2.5
13.501