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...)
 
No edit summary
Linje 19: Linje 19:
== Mulige udvidelser ==
== 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.
* 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.
[[Category:Fagprojekt]]

Versionen fra 12. mar. 2007, 13:41

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.