MiniMax 1.0 a Max Rubin 1.0
Jak vypadá Minimax ?
Jak vypadá MaxRubin ?
  Původní MiniMax 1.0 je didatický šachový program, napsaný autory knihy Šachy na PC. Obsahuje zdrojové kódy v C a v QBasicu (pro méně schopné taképrogramátory, jako já). Jeho hlavním účelem zřejmě bylo přitáhnout k programování šachu další zájemce, což se zřejmě povedlo, neboť hodně autorů amatérských programů uvádí, že jejich prvním impulsem byla výše zmíněná kniha.
  MaxRubin z části využívá původní zdrojový kód MiniMaxu v QBasicu, proto ten MAX v názvu, je to součást licence původních autorů. V nejbližší době plánuji:
1. možnost posouvat čas na hodinách o minutu, pravděpodobně pomocí kláves Home,End, PageUp a PageDown.
2. naučit program rozeznat remis opakováním tahů a dle pravidla o padesáti tazích, bez toho nemá příliš smysl hrát testovací partie, neboť program začne často opakovat tahy i při velké materiální výhodě, rekord je zatím pozice Král,Věž a Jezdec proti Králi ... (pokud někoho zajímá, jak program přišel k takové výhodě, jednalo se o partii v režimu Autoplay ...).
3. zrychlit program ořezáním některých datových struktur, zavedením seznamu figur (v současnosti generátor tahů a oceňovací funkce prohlíží vždy šachovnici pole po poli) a zavedením techniky tzv. nulového tahu.
4. dokončit překlad jazykových verzí
5. pokud mi to kompilátor dovolí, zavést alespoň malé hašovací tabulky
6. průběžně rozšiřovat knihovnu zahájení a opravovat nalezené chyby
  Poté přenesením oceňovací funkce MiniMaxu vytvořím verzi MiniMax PH 1.0, která bude pracovat ve stejném prostředí jako MaxRubin - chci vyzkoušet, jaký přínos měly moje zásahy do oceňovací funkce. Vzhledem k tomu, že v současné době používám QuickBasic, je program přibližně dvakrát pomalejší, než by byl v jazyce C, ještě větší problém je ten, že kompilátor QuickBasic 4.5 mi nedovolí větší program, než ca 160KB (to musí stačit pro tělo programu a jeho paměťové nároky), takže prakticky po každé větší změně s ním zápolím a hledám způsoby, jak zkrátit kód ...(přínosem je to ovšem v tom smyslu, že mi nutí vymýšlet nové věci). Výhledově do budoucna chci přejít na jazyk C, který se ovšem musím pořádně naučit ... .Dalším plánem do budoucna je rozdělení programu na samostatné moduly
1.Deska a její ovládání
2.Engine (výpočet tahů, umožní také provoz více programů na desce, viz např. Fritz 5, Winboard, Genius 6 atd.)
3.Setup (zadání pozice, funkce se používá jen občas a tak proč ji mít načtenou v paměti trvale)
4.PGA (analýza zadané partie, třeba i s výpisem do souboru)
5.Editor knihovny zahájení
6.Správa uložených partií (malá databáze ve formátu PGN, pokud zjistím, jak pracuje CBF, tak ten by byl samozřejmě lepší)
7.Nastavení hodnot figur a dalších oceňovacích kritérií
  Program MiniMax běhá v textovém režimu a ovládá se pomocí příkazů klávesnice, MaxRubin již používá grafickou šachovnici, tahy lze zadávat kurzorem (v závorce uvedeny klávesové zkratky, použitelné u programu MaxRubin 1.0):
EN (Ctrl+X) konec programu
AN (Ctrl+N) nová partie
TI (F3) nastavení hloubky propočtu (MaxRubin již umí hrát také na čas)
BD (F7) otočení šachovnice, u původního MiniMaxu není možné
ZU (Ctrl+B) vrácení tahu, původní Minimax vrací jen poslední tah
SP (F10) hraj
MZ (F9) MiniMax vypíná/zapíná režim zadání tahů, u MaxRubina lze zvolit také automatickou hru
DR (F8) vypíná/zapíná tisk tahů na tiskárně, lze využívat programy AUTOPLAY232 a CHESS232, to jsem ovšem nezkoušel
PB (F4) zadání pozice
BR informace o pozici, MaxRubin také hned vypíše možné tahy, viz další řádek
ZL možné tahy, u MaxRubina se vyvolá předcházejícím příkazem BR
BE výpis ocenění aktuální pozice
např. e2e4 tahy se zadávají ve formátu výchozí a cílové pole, případně navíc typ proměněné figury u proměny pěšce. U MaxRubina lze využívat kurzor, na myš prozatím zapomeňte, to ještě neumím. Pokud u MaxRubina při proměně pěšce nezadáte novou figuru, program po pěti vteřinách staví dámu, MiniMax ji staví ihned
MaxRubin obsahuje navíc tyto funkce:
(F5) změna barvy světlých polí
(F6) změna barvy tmavých polí
(Ctrl+K) vypne knihovnu, vzhledem ke způsobu, jakým knihovna pracuje, ji v dané partii není možné zapnout, automaticky se zapíná při volbě (Ctrl+N) - nová partie
(Ctrl+J) změna jazykového nastavení, vzhledem k tomu, že soubory s výpisy zatím nejsou přeloženy se pouze změní vlaječka
Download:
Minimax 1.0 , tak, jak byl na CD knihy Šachy na PC.
Max Rubin 1.0 , nejnovější úpravy k 21.6. 2000 ve verzi beta, již lze hrát i na čas, pamatuje si poslední partii, minimální knihovna zahájení, síla okolo 1400 ELO, stále nerozezná remis opakováním tahů, oproti verzi ze 14.6 zrychlený o 15% (zásluhy - nový kompilátor 7.1, úpravy kódu, tak půl na půl - pokud by se toto tempo zlepšování podařilo udržet, po roce a něco by program patřil do špičky ...).
Počítadlo zdarma
Jste . návštěvníkem této stránky (ca od 15.6.2000). Děkuji za návštěvu.
Zpět na:
Pavouk
Háse Pavel, os. str.
TJ Praga
PH - download
Poštovní formulář , z této stránky mi můžete poslat vzkaz
Pavučina, odkazy na vyhledávače,
pokud už Vás to u mě nebaví.
* Kurzy * Last minute * Letenky * Kurzy akcie a burza * Reality a bydlení * Akcie * Rejstřík * Hotel Prague *