AG Schachprogrammierung FUSC# april 2005 FUSC# project group d4c4 a5a6 30%50% 40%20% e4 60%

Slides:



Advertisements
Similar presentations
You have been given a mission and a code. Use the code to complete the mission and you will save the world from obliteration…
Advertisements

Your performance improvement partner 2/25/
Targeting Diverse Learning Needs with a Buffet Redesign Model
Position and Direction By Chris Clements Euro 2012.
£1 Million £500,000 £250,000 £125,000 £64,000 £32,000 £16,000 £8,000 £4,000 £2,000 £1,000 £500 £300 £200 £100 Who Wants.
7B Unit 3 Finding your way Integrated skills. Millie is walking across the road.Millie is walking along the road.Sandy is walking over the bridge.Kitty.
ECE555 Lecture 8/9 Nam Sung Kim University of Wisconsin – Madison
The following 5 questions are about VOLTAGE DIVIDERS. You have 20 seconds for each question What is the voltage at the point X ? A9v B5v C0v D10v Question.
From RegentsEarth.com How to play Earth Science Battleship Divide the class into two teams, Red and Purple. Choose which team goes first. The main screen.
Advanced Concepts in Scheduling SCH02 Stephen Rando.
Inside the binary adder. Electro-mechanical relay A solid state relay is a switch that is controlled by a current. When current flows from A to B, the.
1 Child Nutrition Services Understanding the Child Nutrition Tech Online Application/Agreement Step-By-Step REGION 3 Policy Update Meeting Thursday, February.
PLAN DU COLLEGE JEAN MONNET RDC1 er étage. Prendre la feuille de papier millimétré dans le sens de la largeur :
PLAN DU COLLEGE JEAN MONNET RDC1 er étage. Prendre la feuille de papier millimétré dans le sens de la largeur :
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (Parallel Algorithms) Robin Pomplun.
NEXT A1B1C1D1E1F1 A4B4C4D4E4F4 A2B2C2D2E2F2 A5B5C5D5E5F5 A3B3C3D3E3F3 A6B6C6D6E6F6.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
Packet filtering using cisco access listsINET97 / track 2 # 1 packet filters using cisco access lists Fri 19 June 97.
PIM ECMP Assert draft-hou-pim-ecmp-00 IETF 80, Prague.
Internal Auditing in the Government of Ontario, Canada Stuart Campbell, CIA, CGA, CISA Director, Internal Audit Government of Ontario, Canada.
1 Retransmission Repeat: Simple Retransmission Permutation Can Resolve Overlapping Channel Collisions Li (Erran) Li Bell Labs, Alcatel-Lucent Joint work.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition Facts
Year 6 mental test 5 second questions
Agents & Intelligent Systems Dr Liz Black
ZMQS ZMQS
1H NMR Chemical shift (δ) depends on molecular structure and solvent
Richmond House, Liverpool (1) 26 th January 2004.
Rutgers University-Camden. The CSS-Course Scheduling System is a web-based application. The purpose of the application is to provide a mechanism for.
Free Macro Download from i-present.co.uk by GMARK Ltd.i-present.co.ukGMARK my text Lorem for more information :
For further information about this feedback report, contact: Name Title Address Phone Medical Office Survey on Patient Safety Culture Feedback Results.
VOORBLAD.
15. Oktober Oktober Oktober 2012.
Squares and Square Root WALK. Solve each problem REVIEW:
20S Applied Math Mr. Knight – Killarney School Slide 1 Unit: Spreadsheets Lesson: SS-L4 Creating Spreadsheet Formulas Creating Spreadsheet Formulas Learning.
Graphs, representation, isomorphism, connectivity
PH. A- What is pH? A1.pH represents the concentration of H + in a solution A2.pH = the power of Hydrogen pH = -log 10 [H + ] A3.Lower pH means higher.
Economics (H) Chapter 1 Review Game Factors of Production Production Possibilities Goods & Services Productivity & Growth Value & Wealth MISC
Economics (H) FINAL REVIEW GAME DEMAND SIDE SUPPLY SIDEMARKET Equilibrium TERMSCHAPTER 9 STUFF MISC
U. S. Studies II Chapter 19 Review Game ElectionsSocial UnrestMiddle ClassMass MediaPersonalitiesMISC
Economics (H) Chapter 2 Review Game.
U. S. Studies II Chapter 11 Review Game Causes of World War I Fighting at the Front America Enters American Home Front Peace ProcessMISC
U. S. Studies II Chapter 10 Review Game.
World Studies II Chapter 9 Review Game.
Chapter 5 Test Review Sections 5-1 through 5-4.
A Roadmap to Restoring Computing's Former Glory David I. August Princeton University (Not speaking for Parakinetics, Inc.)
Addition 1’s to 20.
1 Performance Monitoring A Guide for Larger Local Councils (First Draft)
25 seconds left…...
Who Wants to be a Millionaire Question 1 Solve x 2? A4A4 D3D3 B15 C16 £100.
World History Final Jeopardy
Painting by Numbers: Visualisation of structured IPv6-Addressing.
Januar MDMDFSSMDMDFSSS
Week 1.
(8) I. Word Processing Package (Mail Merge) Ex: MS Word, Open Office II. Spread sheet package (function) Ex: MS Excel III. Presentation software (picture,
We will resume in: 25 Minutes.
SOL 4.21 Patterns By, Jennifer Sagendorf ITRT-Suffolk Public Schools.
TAWARAN HEBAT!! PROMOSI!! Mohamad HP : Mohamad HP :
1 General Structural Equation (LISREL) Models Week 3 #2 A.Multiple Group Models with > 2 groups B.Relationship to ANOVA, ANCOVA models C.Introduction to.
Application of Ensemble Models in Web Ranking
Presentation transcript:

AG Schachprogrammierung FUSC# april 2005 FUSC# project group d4c4 a5a6 30%50% 40%20% e4 60%

Schachprogrammier AG Content Overview ° Introduction to the AG Schachprogrammierung ° How does FUSc# represent the chessboard ? ° FUSc# goes internet / the future of FUSc# april 2005

Schachprogrammier AG Foundation of the AG C#, OpenSource first version (V 1.03) quiescent search, killermoves, hashtables, heuristics, iterative search first version playing on the internet (V 1.06) better evaluation first official online-tournament first victory Lange Nacht der Wissenschaften (V 1.07) documentation DarkFUSc#, version 1.0 rotated bitboards DarkFUSc# new evaluation (including an automatic classification of different types of chess positions) 14.Oktober März Juni Juni Juni 2003 january 2004 july 2004 april 2005

Schachprogrammier AG Foundation of the AG april 2005 Table of results: 1.Dauth, Benjamin Düster, Christian Domingo, Miguel Lane, Robin Steffen, Rico Kuprat, Thomas Burghardt, Michael Martin, Mario Trösch, Thomas FUSC# V Kärcher, David Minski, Martin Rauch, Felix Schaller, Peter Wölter, Ulrich Remmo, Abdulrahim 1300

Schachprogrammier AG Foundation of the AG pseudonym :) april 2005

Schachprogrammier AG Foundation of the AG Table of results: 1Matheus 2.3 2Drunken Master 1.0 3BigLion 2.23k 4DelphiMax 2.8 5Asterisk 0.4b 6Madeleine 0.2 7Taktix 2.23k 8WJChess EnginMax 5.11c 10KKFChess Aice Celes 0.77c 13ChessAlex 1.2b7 14Simontacchi 1.81a 15Silke Alfil v Polar Engine Gaia Piranha Eagle 0.2.7c 21FUSC# v Cassandre Trex april 2005

Schachprogrammier AG Project group homepage membership all students (even from other universities) are invited to participate, a mailing list is used for co-ordination some pictures Maro Bader, Andre Rauschenbach, Johannes Buchner, Andreas Gropp, Christian Düster (HU), Falko Krause, Christian Ehrlich, Ben-Fillippo Krippendorff und Marco Block april 2005

Schachprogrammier AG Project group developing enviroment: - MS Visual Studio NET V1.1 - CVS april 2005

Schachprogrammier AG Inside the chess engine board representation move generation wnwn evaluation material Zentrierung der Figuren offene Linien offene Diagonalen Läuferpaar Vorposten Fianchettierung Rochade Entwicklung... opening book Zugwahlalgorithmen... april 2005

FUSc# board represenation Schachprogrammier AGapril 2005

the board as bitboard = 64 BIT-word + very fast and efficient move generation + evaluation parameters can easily be translated in matrices of bitboards (e.g. king safety) - no official standards BitBoards Schachprogrammier AGapril 2005

Schachprogrammier AG BitBoards example: knightmoves[d3] AND opponent-pieces & => X X concretly: idea: compute all possible knight moves from field d3 and save them in a bitboard knightmoves[d3] AND emptyFields enhanchement: knightmoves[d3] AND opponentPieces generates capturing moves problem: the (simple) bitboard representation is limited to non-sliding pieces like knight, king etc. april 2005

Schachprogrammier AG Rotated BitBoards idea 1: compute the moves for sliding pieces depending on the relevant line/diagonal in advance Idee 2: saving flipped representations of the board as rotated bitboards in order for the lines/diagonals to be located sequentially in one single byte #7#6#5#4#3#2#1#0Bit/Byte a8a7a6a5a4a3a2a1#7 b8b7b6b5b4b3b2b1#6 c8c7c6c5c4c3c2c1#5 d8d7d6d5d4d3d2d1#4 e8e7e6e5e4e3e2e1#3 f8f7f6f5f4f3f2f1#2 g8g7g6g5g4g3g2g1#1 h8h7h6h5h4h3h2h1#0 Flipped board (90° to the right) april 2005

Bitboards Schachprogrammier AGapril 2005 // WHITE PAWNS (captures right) tos = ( (board.pawns & NOT_RIGHT_EDGE & from_squares) << 9) & board.b_occ froms = tos >> 9; while (from = GET_LSB(froms)) { board.w_attacks |= from; movelist[movenr].from = from; movelist[movenr].to = GET_LSB(tos); movelist[movenr].det.ll = 0; movelist[movenr].det.ail.piece = PAWN; movelist[movenr].det.ail.flags |= NORMAL_CAPTURE; movenr++; CLEAR_LSB(tos); CLEAR_LSB(froms); }; Generating pawn captures

Bitboards Schachprogrammier AGapril 2005 // WHITE KNIGHT froms = board.knights & from_squares; while (from = GET_LSB(froms)) { from_nr = get_LSB_nr(from); tos = knight_moves[from_nr] & to_squares; while (to = GET_LSB(tos)) { board.w_attacks |= from; movelist[movenr].from = from; movelist[movenr].to = to; movelist[movenr].det.ll = 0; movelist[movenr].det.ail.piece = KNIGHT; movelist[movenr].det.ail.from_nr = from_nr; if (board.b_occ & to) movelist[movenr].det.ail.flags |= NORMAL_CAPTURE; movenr++; CLEAR_LSB(tos); }; CLEAR_LSB(froms); }; Generating knight moves

Bitboards Schachprogrammier AGapril 2005 // WHITE ROOK froms = board.rooks & from_squares; while (from = GET_LSB(froms)) { from_nr = get_LSB_nr(from); rank_pattern = board.occ.byte[from_nr >> 3]; file_pattern = board.occ_l90.byte[l90_to_normal[from_nr] >> 3]; tos = (rank_moves[from_nr][rank_pattern] | file_moves[from_nr][file_pattern]) & to_squares; while (to = GET_LSB(tos)) { board.w_attacks |= from; movelist[movenr].from = from; movelist[movenr].to = to; movelist[movenr].det.ll = 0; movelist[movenr].det.ail.piece = ROOK; movelist[movenr].det.ail.from_nr = from_nr; if (board.b_occ & to) movelist[movenr].det.ail.flags |= NORMAL_CAPTURE; movenr++; CLEAR_LSB(tos); }; CLEAR_LSB(froms); }; Generating rook moves

Schachprogrammier AG Research ideas planning in computer chess prefer moves that correspond to a strategic plan application of neuronal networks prediction of moves, evaluation => development of plans reinforcement learning recalibration of the evaluation vector => learning of plans FUSc# goes linux and 64bit porting to linux with mono, optimizing for AMD64 FUSc# goes pocket pc porting to.NET compact edition april 2005

Schachprogrammier AG The end thanks for listening... april 2005