===============================================
Chess and Coding:
{
Eliminate the brute force; Maybe that is the goal of A.I.
The core of A.I. is constraint satisfaction.
Put the pieces where they can be placed reasonably;(Capture ordering).
Minimize defensive contact, Maximise offensive contact;(Contactness).
then:
Reduce search graph : Eliminate the contradiction.
Beautiness : Beauty is Art and Art is Beauty.
}
======================================================
Static Analysis and Dynamic Analysis constitute chess consideration in A.I.
Static Analysis is basically boundness and contactness.
Dynamic Analysis is basically intelligent search.
Maybe Dynamic Analysis instance:
Compute on the fly; Three type of pieces: Good, Neutral, Bad.
Consider maneuver of each piece of opponent several times; Do it for yourself; Combine them into consecutive moves.
Maybe: From Positional to Tactical.
Maybe Positional: Select worst placed piece and put it on it's best square.
Maybe Tactical: Man (Piece or Pawn) is taken, like favorable exchange.
=====================================================
Part of the memory would be allocated for full bitboard
and part for hashed bitboard.
Use double hash for accuracy.
=====================================================
Basic Capture/Threat Ordering:
0.(King)
1.Queen
2.Rook
3.Bishop - Knight
4.Pawn
----------
Contactness (general form of Boundness):
Maybe tactical game.
---------
What is Forward Thinking, here?
=======================================
UnitTest++ library(project) for MSVC
Try Boost test.
CUnit a test library for C programming language.
Compile test library into ".lib" file and connect and use it in MSVC.
First compile code with low level warning, then increase warning level, solve warnings;
Then gradually increase optimasation levels.
Use "const" , "assert".
Pointers either point to NULL or some address.
======================================
Coding paradigms:
Modular - Test driven - Automated code generation.
======================================
Alpha Beta is brute force.
======================================
Compare Greatest strength and Biggest weakness.
======================================
Use effective squares for men placement.
Maybe positional game.
=======================================
Testing engine:
Assurance tests: Some tests that should always be passed.
Quality tests: Some of the tests can be passed.
1-2 Hour testing a bunch of positions and do some operations on it, for cooking ideas. (Some times pass some times fail.)
Engine-engine match of self-play for 1-2 days (like 1min+1sec) to understand whether change was successful.
=======================================
Use standard chess symbols for (built in) position evaluation.
+- +/- += = == -= -/+ -+ unclear
and so on.
Consider all chess symbols.
=======================================
Use Backup software.
=======================================
On intelligent chess
Moderators: hgm, Rebel, chrisw
-
- Posts: 366
- Joined: Thu Jun 05, 2014 2:14 pm
- Location: Iran
- Full name: Mehdi Amini
On intelligent chess
Farewell.
-
- Posts: 4611
- Joined: Wed Oct 01, 2008 6:33 am
- Location: Regensburg, Germany
- Full name: Guenther Simon
Re: On intelligent chess
I cannot help but all of this just reminds me of this:Look wrote:===============================================
...
=======================================
https://en.wikipedia.org/wiki/Platitude