Представлення шахівниці

При розробці комп'ютерних шахових програм, програміст мусить вибрати тип структури даних для представлення шахові позиції. Існує декілька методів для цього, які відомі як представлення шахівниці (англ. board representations).[1] Для ефективності шахові рушії часто використовують більше одного методу представлення шахівниці.

Вимоги

Повний опис шахової позиції, тобто її «стан», повинен містити наступні елементи:

  • Розташування кожної фігури на шахівниці
  • Чия черга ходити
  • Статус 50-ти ходового правила нічиєї. Наприклад, якщо перед цим 40 ходів пройшло без взяття або ходу пішака, це правило почне діяти після інших десяти ходів.
  • Чи хтось із гравців зробив рокіровку.
  • Чи можливе взяття на проході.

Представлення шахівниці зазвичай не включає статус правила потрійного повторення позиції, бо щоб його визначити, потрібна майже повна історія партії.

Типи

Список фігур

Деякі з найраніших шахових програм працювали з такими обмеженими кількостями пам'яті, що не було навіть пам'яті, щоб запам'ятати 64 позиції. Замість цього ці ранні програми підтримували списки 16 чорних та білих фігур. Зараз такий метод усе ще використовується в багатьох сучасних програмах разом з окремою структурою представлення шахівниці, щоб збільшити швидкість доступу до фігур. Замість виконання циклу через усі 64 (або більше) клітинок, щоб знайти всі: фігури, списки фігур дають прямий доступ до них.

Методи, базовані на масиві

Один із найпростіших способів представлення шахівниці — це створити двовимірний масив 8x8 (або, еквівалентно, 64 елементний одномірний масив). Кожен елемент цього масиву показує чи є на ньому фігура або навпаки, якщо квадрат порожній. Загальноприйняте кодування — розглядати 0 як порожнє поле, позитивне число як поле з білою фігурою, а негативне як поле із чорною фігурою. Наприклад, білий пішак +1, чорний пішак −1, білий кінь +2, чорний кінь −2, білий слон +3 і так далі.

Проблема із цим підходом з'являється протягом генерації ходів. Треба перевірити кожен хід, щоб упевнитися, що він на шахівниці. Програма буде робити цикли приблизно 20-30 разів за хід і це значно уповільнює процес.

Одне рішення — використовувати масив 12x12, із зовнішніми краями, заповненими, скажімо, значенням 99. Протягом генерації ходів, операція перевірки фігури на клітинці також укаже чи клітинка на шахівниці або ні.

Кращого використання пам'яті можна досягти з масивом 10x12, який забезпечує ті ж функціональні можливості, що й 12x12. Деякі шахові рушії використовують масиви 16x16, щоб поліпшити швидкість рядового перетворення чисел і дозволяють використовувати деякі спеціальні прийоми для збільшення агресивності програми.

Програмісти машинного коду мають іншу альтернативу. Використовуючи 4 біти на квадрат, повний ряд можна зобразити в 32 байтах, а дошка в 8 регістрах (із додатковою інформацією про позицію).

Метод 0x88

У цьому методі використовується масив розміром 16x8 = 128, пронумерований від 0 до 127. Це по суті дві шахівниці одна поряд з іншою, де справжня шахівниця розташована з лівого боку. Двійкова схема розміщення горизонталі та вертикалі справжньої шахівниці —- [0 r r r 0 f f f]. Генеруючи переміщення на основній дошці можна легко перевірити чи якийсь квадрат розташований на основній дошці просто накладаючи маску на номер клітинки із шістнадцятковим 0x88 (двійкове [1 0 0 0 1 0 0 0]). Ненульовий результат указує, що квадрат поза межами основної дошки. Крім того, різниця між двома координатами квадратів унікально визначає чи розташовані ті два квадрата вздовж тої самої горизонталі, вертикалі або діагоналі.

Бітборди

Ще один популярний спосіб представлення дошки — використання бітбордів (англ. bitboard). Бітборд —- 64-розрядна послідовність бітів (нулів чи одиниць), яка вказує відсутність або присутність (хибність або істина) деякого стану на кожному місці шахівниці. Позицію на шахівниці потім зображують, використовуючи цикл бітбордів. Наприклад, цикл бітбордів для кожної фігури або пішака.

Перевага цього методу —- здатність використовувати операції розрядної паралелі на 64-бітних об'єктах замість ітерації, щоб отримувати інформацію про стан шахівниці. Використовуючи цей метод можна досягти значного збільшення швидкості програми, особливо на 64-бітних системах. До недоліків можна віднести відносну складність програмування порівняно з іншими способами.

Примітки

  1. Роберт Хайатт. Представлення шахівниці шахових програм. Повна стаття [Архівовано 10 лютого 2012 у Wayback Machine.] (англ.)

Read other articles:

1978 single by Bob Seger & The Silver Bullet BandHollywood NightsSingle by Bob Seger & The Silver Bullet Bandfrom the album Stranger in Town B-sideBrave StrangersReleased1978Genre Rock Length5:05LabelCapitolSongwriter(s)Bob SegerProducer(s)Bob Seger, Punch AndrewsBob Seger & The Silver Bullet Band singles chronology Still the Same (1978) Hollywood Nights (1978) We've Got Tonite (1978) Hollywood Nights is a song written and recorded by American rock artist Bob Seger. It was release...

 

My DiaryAlbum studio karya MoccaDirilis20 April 2002GenreSwingLabelDCU RecordsKronologi Mocca My Diary (2002) Friends (2004)Friends2004 My Diary (Bahasa Indonesia: Buku Harianku) adalah album musik pertama karya Mocca yang dirilis pada tahun 2002. Berisi 10 buah lagu dengan lagu Me and My Boyfriend, Secret Admirer, dan What If sebagai lagu utama album ini Daftar lagu Once Upon A Time Secret Admirer Twist Me Around What If Me and My Boyfriend Telephone Dream When the Moonlight Shines ...An...

 

Ericaceae Leptecophylla juniperina Klasifikasi ilmiah Kerajaan: Plantae (tanpa takson): Angiospermae (tanpa takson): Eudikotil (tanpa takson): Asteridae Ordo: Ericales Famili: EricaceaeJuss.[1] Genus tipe EricaL. Subfamili Enkianthoideae Pyroloideae Monotropoideae Arbutoideae Cassiopoideae Ericoideae Harrimanelloideae Styphelioideae Vaccinioideae Diversitas Lebih dari 120 genera, lihat di Daftar genus tanaman dalam famili Ericaceae Ericaceae atau Suku Bluberi-bluberian adalah keluarg...

Osmium oktafluorida Perkiraan geometri yang diprediksi secara komputasi Nama Nama IUPAC Oktafluoroosmium[1] Nama lain Osmium(VIII) fluorida Penanda Nomor CAS 18432-81-0 Model 3D (JSmol) Gambar interaktif 3DMet {{{3DMet}}} Nomor EC PubChem CID 57496620 Nomor RTECS {{{value}}} InChI InChI=1S/8FH.Os/h8*1H;/q;;;;;;;;+8/p-8Key: ZTSGTWBSMBQRNE-UHFFFAOYSA-F SMILES F[Os](F)(F)(F)(F)(F)(F)F Sifat Rumus kimia OsF8 Massa molar 342,22 g·mol−1 Struktur Struktur kristal C...

 

Untuk calon ibu kota negara Indonesia, lihat Nusantara (kota terencana). Untuk kegunaan lain, lihat Nusantara (disambiguasi). Peta kepulauan Nusantara berlapis emas melambangkan tanah air Negara Kesatuan Republik Indonesia di Ruang Kemerdekaan Monas, Jakarta Nusantara adalah sebuah istilah yang berasal dari perkataan dalam bahasa Kawi (sebuah bentuk bahasa Jawa Kuno yang banyak dipengaruhi oleh bahasa Sanskerta), yaitu ꦤꦸꦱ (nusa) terj. har. pulau dan ꦲꦤ꧀ꦠꦫ (antara) terj. har. ...

 

هذه المقالة تحتاج للمزيد من الوصلات للمقالات الأخرى للمساعدة في ترابط مقالات الموسوعة. فضلًا ساعد في تحسين هذه المقالة بإضافة وصلات إلى المقالات المتعلقة بها الموجودة في النص الحالي. (مايو 2014) ديفيد سبيد (بالإنجليزية: David Spade)‏  معلومات شخصية اسم الولادة ديفيد واين سبيد ا...

Questa voce sull'argomento calciatori camerunesi è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Daniel Ngom Kome Nazionalità  Camerun Altezza 172 cm Calcio Ruolo Centrocampista Termine carriera 2011 Carriera Squadre di club1 1996Stade Bandjoun? (?)1997-1999 Cotonsport Garoua? (?)1999-2000 Atlético Madrid B33 (3)2000-2001 Levante7 (0)2001-2004 Numancia89 (12)2004-2005 Ge...

 

Sekarmadji Maridjan Kartosuwirjo Imam Negara Islam IndonesiaMasa jabatan7 Agustus 1949 – 4 Juni 1962Pendahuluposisi dibentukPenggantiposisi dihapuskan Informasi pribadiLahir(1905-01-07)7 Januari 1905Cepu, Blora, Hindia BelandaMeninggal5 September 1962(1962-09-05) (umur 57)Jakarta, IndonesiaSuami/istriDewi Siti KalsumAnak12 anakTanda tanganSunting kotak info • L • B Sekarmadji Maridjan Kartosoewirjo (7 Januari 1905 – 5 September 1962) adalah seoran...

 

Hungarian-American chemist (1927–2017) The native form of this personal name is Oláh András György. This article uses Western name order when mentioning individuals. George Andrew OlahOlah in 2009BornOláh András György(1927-05-22)May 22, 1927Budapest, HungaryDiedMarch 8, 2017(2017-03-08) (aged 89)Beverly Hills, California, U.S.CitizenshipHungaryU.S.Alma materBudapest University of Technology and EconomicsKnown forCarbocations via superacidsSpouse Judit Lengyel &...

尤睦佳·泽登巴尔Юмжаагийн Цэдэнбал1970年代时的尤睦佳·泽登巴尔蒙古人民革命党中央委员会总书记任期1958年11月22日—1984年8月24日前任达希·丹巴(第一书记)继任姜巴·巴特蒙赫任期1940年4月8日—1954年4月4日前任达希·丹巴(第一书记)继任达希·丹巴(第一书记)蒙古人民共和國部長會議主席任期1952年1月26日—1974年6月11日前任霍尔洛·乔巴山继任姜巴·巴特蒙赫�...

 

Tibetanen in Aba, Sichuan Boot op de Brahmaputra Tibetaanse vrouwen Vrouw met gebedsmolen Kinderen uit Litang, Kham Tibetaans meisje Jonge monniken in Sikkim Lama's in Sikkim Dit artikel behandelt de demografische gegevens over de bevolking in de regio Tibet. Volgens de Chinese census van 1996 leven in de Tibetaanse Autonome Regio 2,44 miljoen Tibetanen. Waarschijnlijk leven er inmiddels ook zo'n 2 miljoen etnische Han-Chinezen in T.A.R., waarbij nog zo'n 200.000 Chinese soldaten moeten worde...

 

Denmark vehicle license plates Since July 2009, car buyers could pick a license plate with or without an EU strip. Vehicle registration plates in Denmark normally have two letters and five digits and are issued by authorities. Plates can be obtained at authorized car dealers, vehicle inspection stations or official registration centers (Skat Motor center). The combination is simply a serial and has no connection with a geographic location, but the digits have number series based on vehicle ty...

Rempah Udang made by Little Nonya in Shanghai Peranakan dumpling dessert Rempah udang is a traditional Peranakan dumpling dessert snack[1] (kueh or kuih). It is usually made from glutinous rice and hae bee hiam, a dry spiced sambal composed primarily of shrimp paste, desiccated coconut shavings, chilli, lemongrass, and other spices, all wrapped in a pandan or banana leaf.[1] Description Rempah udang typically comes as an oblong-shaped glutinous rice roll, filled in the middle ...

 

For similarly named cities, see Caesarea (disambiguation). This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Kesaria – news · newspapers · books · scholar · JSTOR (December 2018) (Learn how and when to remove this message) You can help expand this article with text translated from the corresponding article in ...

 

Elezioni regionali in Abruzzo del 2024Stato Italia Regione Abruzzo Data10 marzo Affluenza52,19% ( 0,92%) Candidati Marco Marsilio Luciano D'Amico Partiti Fratelli d'Italia Indipendente Coalizioni Centro-destra Centro-sinistra - M5S Voti 327 66053,50% 284 74846,50% Seggi 18 / 31 13 / 31 Differenza % 5,47% 4,99[A 1]% Differenza seggi 0 0[A 2] Distribuzione del voto per comune Presidente uscenteMarco Marsilio (FdI) 2019 Le elezioni regionali del 2024 in ...

Breve amore/Ta-ra-ta-tasingolo discograficoArtistaMina Pubblicazionegiugno 1966 Album di provenienzaStudio Uno 66 GenereMusica leggeraPop EtichettaRi-Fi RFN NP 16147 Arrangiamentilato A Piero Piccionilato B Augusto Martelli Formati7 CopertinaStudio Moletti Mina - cronologiaSingolo precedenteSe telefonando/No(1966)Singolo successivoSono come tu mi vuoiSe non ci fossi tu(1966) Breve amore/Ta-ra-ta-ta è il 77° singolo di Mina, pubblicato a giugno del 1966 su vinile a 45 giri dall'etichetta Ri-...

 

This list of Oregon State University athletes includes graduates, non-graduate former students and current students of Oregon State University who are notable for their achievements within athletics, sometimes before or after their time at Oregon State. Other alumni can be found in the list of Oregon State University alumni; notable administration, faculty, and staff can be found on the list of Oregon State University faculty and staff. All intercollegiate sports teams at Oregon State are ca...

 

Defunct Catholic high school in Hudson County, New Jersey, United States Holy Family AcademyAddress239 Avenue ABayonne, (Hudson County), New Jersey 07002Coordinates40°39′24″N 74°8′1″W / 40.65667°N 74.13361°W / 40.65667; -74.13361InformationTypePrivateMottoWomen of Vision; learners and leaders for a lifetimeReligious affiliation(s)Roman Catholic,Sisters of St. JosephEstablished1925StatusClosedClosedJune 2013OversightArchdiocese of NewarkPresidentKaren Fasane...

Defunct Australian photographic equipment distributor HanimexFounded1947; 77 years ago (1947)FounderJack HannesDefunctApril 23, 2004 (2004-04-23)[1]FateBecame FujiFilm Australia,[1] Hanimex name discontinued[2]SuccessorFujiFilm Australia Pty Ltd.[1]WebsiteHanimex Australia at the Wayback Machine (archived 2004-03-27) Hanimex 110 KF pocket camera Hanimex was an Australian distributor and manufacturer,[3] primarily ass...

 

Form of illegal capital flight Part of a series aboutImperialism studies Theories Dependency theory Intercommunalism Neo-Gramscianism Neocolonialism Social imperialism Super-imperialism Three Worlds Theory Ultra-imperialism World-systems theory Concepts Ecologically unequal exchange North–South model Unequal exchange Superprofit Uneven and combined development People Samir Amin Giovanni Arrighi Paul A. Baran Charles Bettelheim Ľuboš Blaha Nikolai Bukharin Arghiri Emmanuel John Bellamy Fos...