# jemdoc: addcss{rbh.css}, addcss{jacob.css} = prof hayward ~ ~ cmput 670:games.graphs.algorithms ~ ~ winter 2014 ~~~ {overview} An intro to automated players and solvers for two-player graph-based board games such as Hex. As necessary, the course may cover relevant graph problems (some polynomial, some NP-hard). Prerequisites: a strong background in algorithms and/or math. ~~~ ~~~ {objectives} Understand strengths and weaknesses of current automated 2-player graph-based players and solvers. ~~~ ~~~ {grading} - 60\% 6 assignments -- 3 written, 3 programming -- (15\% penalty/day late, to maximum of 2 days) - 10\% 1 25-minute research paper presentation - 30\% project (14\% content, 8\% report, 8\% 20-minute presentation) final grade cutoffs: A\+95 A90 A\-85 B\+80 B75 B\-70 C\+65 C60 C\-55 D\+50 D45 F0 ~~~ ~~~ {plagiarism} [http://www.science.ualberta.ca/en/FacultyAndStaff/~/media/science/Faculty%20And%20Staff/Documents/Understanding_Plagiarism.ashx understanding plagiarism] [http://www.governance.ualberta.ca/en/StudentAppeals/DontCheatsheet.aspx don't cheatsheet] [http://www.studentsuccess.ualberta.ca/ student success centre] [http://www.c4w.arts.ualberta.ca/ centre for writers] [http://www.tie.ualberta.ca/ truth in education] ~~~ ~~~ {tentative schedule}{} Jan 7.. overview Jan 14.. Hex, history, properties Jan 21.. Hex theory: virtual connections W1 due Jan 28.. Hex theory: inferior cells P1 due: Y program Feb 4.. PNS, DFPNS, 1+eps trick W2 due Feb 11.. 10x10, scalable parallel DFPNS W3 due reading week Feb 25.. monte carlo tree search Mar 4.. MCTS Mar 11-13 TBA presentations: IL BH Mar 18-20 pres: A TY TBA Mar 27 Y tourney round 1 P2 due Apr 8 Y tourney round 2 P3 due Y program report Apr 11 1100-1300 final presentations final reports due ~~~ ~~~ {lecture refs} - [http://webdocs.cs.ualberta.ca/~hayward/670gga/jem/story.pdf story] - [http://webdocs.cs.ualberta.ca/~hayward/670gga/jem/solving.html hex solvers] - [http://webdocs.cs.ualberta.ca/~hayward/670gga/jem/players.html hex players] ~~~ ~~~ {code} - [https://github.com/ryanbhayward/hexgui hexgui] ~ ~ ~ for hex (and y) - [http://benzene.sourceforge.net/ benzene] - [https://github.com/jakubpawlewicz newer benzene] improved vc engine, mohex patterns, spdfpn - [https://github.com/ryanbhayward/y y] - [http://fuego.sourceforge.net/ fuego] - [http://sourceforge.net/projects/fuegito/ fuegito] ~ ~ ~ [http://webdocs.cs.ualberta.ca/~hayward/670gga/FuegitoManual.pdf manual] ~ ~ ~ [https://era.library.ualberta.ca/public/view/item/uuid:af81b34b-442e-4cd1-adb0-218deea245a8 tech report] - [http://www.reddit.com/r/programming/comments/1xmj1a/sunfish_a_111_line_chess_engine_in_python/ sunfish: short python chess engine] - [http://mcts.ai/code/index.html simple java, python examples] - [https://github.com/tewalds/castro castro] - [https://github.com/tewalds/pentagod pentagod] - [https://github.com/brthiess/morat/tree/master/bridg_it bridgit] - [https://github.com/yotomyoto/mopyhex mopyhex] kenny\'s python hex player - [https://github.com/yotomyoto/benzene/tree/rex kenny\'s rex solver] mohex:dfpn; ignore all other code - [https://github.com/yotomyoto/fuego kenny\'s fuego] works with kenny\'s benzene on his mac - [https://github.com/yotomyoto/morat kenny's morat] hex122cleaned branch has Hex 122 player ~~~ ~~~ {references} - [http://en.wikipedia.org/wiki/Hex_(board_game) hex game wiki] - [http://chessprogramming.wikispaces.com/ chessprogramming wiki] - [http://webdocs.cs.ualberta.ca/~hayward/theses/ph.pdf phd Henderson] - [http://webdocs.cs.ualberta.ca/~hayward/theses/jack.pdf phd Van Rijswijck] - [http://webdocs.cs.ualberta.ca/~hayward/publications.html various papers] - [http://webdocs.cs.ualberta.ca/~hayward/hex/ computer hex research group] - [http://www.cameronius.com/cv/publications/browne-bpr.pdf bitwise connection tests] - [http://www.cameronius.com/cv/mcts-survey-master.pdf MCTS survey] ~~~ ~~~ {assignments} - [http://webdocs.cs.ualberta.ca/~hayward/670gga/asn/a1.pdf assignment 1] ~ ~ ~ [http://webdocs.cs.ualberta.ca/~hayward/670gga/asn/a1.tar.gz a1.tar.gz] - [http://webdocs.cs.ualberta.ca/~hayward/670gga/asn/a2.pdf assignment 2] - [http://webdocs.cs.ualberta.ca/~hayward/670gga/asn/a3.pdf assignment 3] - [http://webdocs.cs.ualberta.ca/~hayward/670gga/asn/asn45.pdf assignment 4,5] ~~~