Skip to main content
guest
Join
|
Help
|
Sign In
chessprogramming
Home
guest
|
Join
|
Help
|
Sign In
Wiki Home
Recent Changes
Pages and Files
Members
Home
Basics
Getting Started
Board Representation
Search
Evaluation
Principle Topics
Chess
Programming
Artificial Intelligence
Knowledge
Learning
Testing
Tuning
User Interface
Protocols
Dictionary
Lists
Arts
Cartoons
CC Forums
Conferences
Dedicated CC
Engines
Games
Hardware
History
Organizations
Papers
People
Periodical
Samples
Software
Timeline
Tournaments and Matches
Videos
Misc
Acknowledgments
On New Pages
Recommended Reading
Wikispaces Help
MadChess
Edit
0
15
…
6
Tags
csharpengines
disease
engines
gplengines
opensourceengines
uciengines
Notify
RSS
Backlinks
Source
Print
Export (PDF)
Home
*
Engines
* MadChess
MadChess
,
an
UCI
compliant
open source chess engine
by
Erik Madsen
, written in
C#
to run under the
Windows
.NET framework
. It was first released under the
GNU General Public License Version 3
as successor of Erik's former C# engine
RumbleMinze
in October 2012
[1]
, and features adjustable
playing strength
with improved algorithms since MadChess
1.4
[2]
[3]
. MadChess
2.1
, released in February 2017 is using
.NET Core
,
Microsoft’s
cross-platform
free and open-source
managed software framework to support not only
Windows
, but
Linux
, and
Mac
[4]
[5]
.
Me Worry?
[6]
Table of Contents
Description
Move Generation
Search
Evaluation
See also
Forum Posts
2012
2013
2014
2015 ...
External Links
Chess Engine
Misc
References
What links here?
Description
Move Generation
MadChess applies an incremental
move generation
, using the C#
yield statement
[7]
[8]
[9]
[10]
[11]
using
incrementally updated
list of attackers
for any
rank
,
file
,
diagonal
, or
anti-diagonal
.
Search
MadChess performs a
principal variation search
along with
transposition table
,
killer
and
history heuristic
,
null move pruning
and
late move reductions
inside an
iterative deepening
framework with
aspiration
. It eliminates all
reductions
and lazy evaluation along the principal variation.
Evaluation
The
evaluation
might be
lazy
with respect to bounds, and otherwise uses a
tapered evaluation
on
game phase
between speculative computed
middlegame
and
endgame
scores
, considering
piece-square tables
,
mobility
,
pawn structure
, and
king safety
and various
piece evaluation
terms.
See also
Disease
Madness Schach
Matchess
RumbleMinze
Forum Posts
2012
MadChess 1.0 Released (C# .NET Engine)
by
Erik Madsen
,
CCC
, October 25, 2012
Score Inaccuracy: An Engine Weakening Algorithm
by
Erik Madsen
,
CCC
, October 31, 2012
2013
MadChess 1.1 Released
by
Erik Madsen
,
CCC
, January 06, 2013
MadChess 1.2 Released
by
Erik Madsen
,
CCC
, March 09, 2013
MadChess 1.3 Released
by
Erik Madsen
,
CCC
, September 28, 2013
2014
MadChess UCI_LimitStrength Algorithm
by
Erik Madsen
,
CCC
, April 12, 2014
MadChess 1.4 Released
by
Erik Madsen
,
CCC
, April 12, 2014
MadChess With Odds Versus Elite Engines
by
Erik Madsen
,
CCC
, September 11, 2014
MadChess 2.0 Development
by
Erik Madsen
,
CCC
, November 12, 2014
2015 ...
MadChess 2.0 Released
by
Erik Madsen
,
CCC
, October 12, 2015
MadChess 2.1 Released - Supports Windows, Linux, Mac
by
Erik Madsen
,
CCC
, February 23, 2017
MadChess 2.2 Released
by
Erik Madsen
,
CCC
, July 04, 2017
External Links
Chess Engine
MadChess
MadChess - User Guide
MadChess
in
CCRL 40/40
Misc
MAD from Wikipedia
Mad (magazine) from Wikipedia
Insanity from Wikipedia
References
^
MadChess 1.0 Released (C# .NET Engine)
by
Erik Madsen
,
CCC
, October 25, 2012
^
MadChess UCI_LimitStrength Algorithm
by
Erik Madsen
,
CCC
, April 12, 2014
^
MadChess - User Guide
^
MadChess 2.1 Released – MadChess
, February 22, 2017
^
MadChess 2.1 Released - Supports Windows, Linux, Mac
by
Erik Madsen
,
CCC
, February 23, 2017
^
A postcard with the
public domain
"
me worry?
" face that later inspired
Mad magazine's
Alfred E. Neuman
, ca. 1910s,
Alfred E. Neuman from Wikipedia
^
Re: Question About CPP-C#, Performance, and Square Representation
by
Erik Madsen
,
CCC
, October 03, 2012
^
yield - MSDN C# Reference
^
Behind the scenes of the C# yield keyword | Struggles
by
Lars Corneliussen
, June 9, 2008
^
Generator (computer programming) from Wikipedia
^
Coroutine from Wikipedia
What links here?
Page
Date Edited
Engine releases
Apr 23, 2018
Engines
Mar 10, 2018
Erik Madsen
Apr 13, 2014
Ethereal
Mar 20, 2018
MadChess
Jul 4, 2017
Matchess
Sep 7, 2015
Move Generation
Jan 29, 2018
RumbleMinze
Apr 13, 2014
Up one level
Javascript Required
You need to enable Javascript in your browser to edit pages.
help on how to format text
Turn off "Getting Started"
Home
...
Loading...
an UCI compliant open source chess engine by Erik Madsen, written in C# to run under the Windows .NET framework. It was first released under the GNU General Public License Version 3 as successor of Erik's former C# engine RumbleMinze in October 2012 [1], and features adjustable playing strength with improved algorithms since MadChess 1.4 [2] [3]. MadChess 2.1, released in February 2017 is using .NET Core, Microsoft’s cross-platform free and open-source managed software framework to support not only Windows, but Linux, and Mac [4] [5].
Table of Contents
Description
Move Generation
MadChess applies an incremental move generation, using the C# yield statement [7] [8] [9] [10] [11] using incrementally updated list of attackers for any rank, file, diagonal, or anti-diagonal.Search
MadChess performs a principal variation search along with transposition table, killer and history heuristic, null move pruning and late move reductions inside an iterative deepening framework with aspiration. It eliminates all reductions and lazy evaluation along the principal variation.Evaluation
The evaluation might be lazy with respect to bounds, and otherwise uses a tapered evaluation on game phase between speculative computed middlegame and endgame scores, considering piece-square tables, mobility, pawn structure, and king safety and various piece evaluation terms.See also
Forum Posts
2012
2013
2014
2015 ...
External Links
Chess Engine
MadChess - User Guide
Misc
References
What links here?
Up one level