Skak:Kravspecifikation/AI: Forskelle mellem versioner

Fra DAMNWiki
Spring til navigationSpring til søgning
(New page: == Krav til den kunstige intelligens == * Skal kunne spille skak korrekt, ud fra de gældende regler. Herunder altså også En passant, rokade og queening (se definition af disse under spi...)
(Ingen forskel)

Versionen fra 12. mar. 2007, 13:40

Krav til den kunstige intelligens

  • Skal kunne spille skak korrekt, ud fra de gældende regler. Herunder altså også En passant, rokade og queening (se definition af disse under spillogik). Benytter skak-modellens getLegalMoves() til at sørge for dette.
  • Skal kunne vælge hvilken farve AI spiller (dvs. om AI eller bruger starter)
  • Skal have mulighed for at bruge forskellige åbninger
    • Herunder skal det være muligt for AI'en at vurdere om en åbning er blevet ødelagt af modstanderen - altså at den ikke længere skal benytte åbningen, men gå over til at søge i spiltræ
  • Skal kunne tænke mens det er modstanderens tur. Dette vil ikke gælde hvis den spiller mod sig selv - her benyttes processorkraften jo til dens modpart
  • Skal benytte alpha-beta pruning (se design for beskrivelse af denne) til søgning i træ
  • Mulighed for at vælge sværhedsgrad.
    • F.eks. tre foruddefinerede niveauer
    • Kunne også være en mulighed at brugeren kan bestemme hvor lang tid AI'en må tænke og/eller hvor langt dybt i træet den må søge
  • AI'en skal også benyttes til brugerfunktionen "Vis hint". Her vil det være naturligt at AI'en f.eks. automatisk gemmer det bedste træk den finder efter f.eks. 2 halv-træk. Dette kan gøres parallelt med at søgningen alligvel foregår, mens brugeren tænker.

Mulige udvidelser

  • Vurdere hvor vidt et træk er dumt, så en søgning denne vej kan undgås. Om dette i virkeligheden vil kræve mere processorkraft end rent faktisk at evaluere brættet, har vi endnu ikke undersøgt.