English Amiga Board


Go Back   English Amiga Board > Support > support.Games

 
 
Thread Tools
Old 20 February 2015, 07:11   #1
Sandro
Banned
 
Join Date: Feb 2013
Location: spain
Posts: 897
porting the most poweful chess engine to the Amiga

right now the most strongest chess engine is "stockfish 6" plays about 3300 elo
here is the recent list of the most powerful chess engines

http://www.computerchess.org.uk/ccrl..._list_all.html

StockFish 6 is freeware and contains source code, you can download it here

http://stockfishchess.org/


in the Amiga the most strongest chess game is yet Chessmaster 2100, it plays about 1700 elo, so it sucks for today standards

my question is:

being stockfish 6 only 800k in size:
is it possible to port this powerful chess engine to the Amiga?
Sandro is offline  
AdSense AdSense  
Old 20 February 2015, 08:00   #2
mc6809e
Registered User
 
Join Date: Jan 2012
Location: USA
Posts: 281
The CPU of the Amiga would probably limit stockfish's rating.

If Chessmaster 2100 was written in assembler, it might actually be a better player on the Amiga than stockfish's compiled c++ running on an Amiga.

There are two factors that generally determine the skill of a chess playing computer: board evaluation formula/method, and number of moves ahead (plies).

It might be possible to use stockfish's evaluation function, but the program would have to be written in assembler to allow it to evaluate boards many moves ahead, IMO.
mc6809e is offline  
Old 20 February 2015, 08:34   #3
Sandro
Banned
 
Join Date: Feb 2013
Location: spain
Posts: 897
Quote:
Originally Posted by mc6809e View Post
The CPU of the Amiga would probably limit stockfish's rating.

If Chessmaster 2100 was written in assembler, it might actually be a better player on the Amiga than stockfish's compiled c++ running on an Amiga.
nope your are wrong, seems that you are not updated

nothing related to speed, stockfish in a pentium 100 mhz at 2 sec per move can play at 3000 elo it will destroy any human on earth even magnus carlsen

chessmaster 2100 in assembler is a weak and outdated obsolete chess engine, you can't compare with stockfish which is modern and is a masterpiece in programing
Sandro is offline  
Old 21 February 2015, 04:28   #4
NovaCoder
Registered User
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 3,450
Quote:
Originally Posted by Stockfish
It is not a complete chess program and requires some UCI-compatible GUI (e.g. XBoard with PolyGlot, eboard, Arena, Sigma Chess, Shredder, Chess Partner or Fritz) in order to be used comfortably. Read the documentation for your GUI of choice for information about how to use Stockfish with it.
So not an easy port then
NovaCoder is offline  
Old 21 February 2015, 06:44   #5
Sandro
Banned
 
Join Date: Feb 2013
Location: spain
Posts: 897
Quote:
Originally Posted by NovaCoder View Post
So not an easy port then
I think not requires a chess gui program , seems you can play chess using commands
but of course is better use it with a chess gui program
I use it with Arena

btw, you ported scummvm ,maybe you can try to port both, some chess gui+ stockfish
anyways I assume is more complicated porting the chess gui program than stockfish...right?

Last edited by Sandro; 21 February 2015 at 06:49.
Sandro is offline  
Old 21 February 2015, 08:00   #6
Hewitson
Registered User
Hewitson's Avatar
 
Join Date: Feb 2007
Location: Melbourne, Australia
Age: 35
Posts: 2,244
Ideally you'd update ChessMaster with the stockfish chess system. Of course, that is likely to be a very difficult job.
Hewitson is offline  
Old 21 February 2015, 09:28   #7
alkis
Registered User

 
Join Date: Dec 2010
Location: Athens/Greece
Age: 47
Posts: 403
Current chess engines (most of them anyways, and stockfish for sure) use "bitboards" which is a 64bit type. 64bit is native in current CPUs. By using bitboards, they gain speed. This will not be as fast in 32bit CPU.

Speed is a big issue. Last time I checked stockfish was doing ~2million nodes per second (nps). On amiga (I think I was playing with an emulated A1200) a much simpler board representation (not bitboards) was giving me 1000 nps.

Also, I am pretty sure you'd need a very recent compiler to compile stockfish's code.
alkis is offline  
Old 21 February 2015, 13:46   #8
Sandro
Banned
 
Join Date: Feb 2013
Location: spain
Posts: 897
Quote:
Originally Posted by alkis View Post
Current chess engines (most of them anyways, and stockfish for sure) use "bitboards" which is a 64bit type. 64bit is native in current CPUs. By using bitboards, they gain speed. This will not be as fast in 32bit CPU.

Speed is a big issue. Last time I checked stockfish was doing ~2million nodes per second (nps). On amiga (I think I was playing with an emulated A1200) a much simpler board representation (not bitboards) was giving me 1000 nps.

Also, I am pretty sure you'd need a very recent compiler to compile stockfish's code.

please note that the stockfish 32 bits version is only 20 or 30 elo points weaker than the 64 bits version

I sense speed is not a issue because stockfish can play better than grandmasters at 1 sec per move in a weak x86 cpu

Rybkav2.3.2a.mp.w32.exe is even faster, can play at GM levels at 0 sec per move

Rybkav2.3.2 is another good candidate to be ported to the Amiga due is very very fast and strong
Sandro is offline  
Old 21 February 2015, 17:46   #9
alkis
Registered User

 
Join Date: Dec 2010
Location: Athens/Greece
Age: 47
Posts: 403
Speed is a very strong factor in chess.
You can run stockfish and enter this "go depth 16"

This is what I get from my desktop (64bit)
info depth 16 seldepth 23 multipv 1 score cp 18 nodes 1280563 nps 1616872 tbhits 0 time 792 pv g1f3 g8f6 d2d4 d7d5 c1f4 e7e6 e2e3 b8c6 f1b5 c8d7 e1g1 f8d6 b1d2 d6f4 e3f4 e8g8 a2a3

And this from my netbook (32bit)
info depth 16 seldepth 23 multipv 1 score cp 18 nodes 1280563 nps 215837 tbhits 0 time 5933 pv g1f3 g8f6 d2d4 d7d5 c1f4 e7e6 e2e3 b8c6 f1b5 c8d7 e1g1 f8d6 b1d2 d6f4 e3f4 e8g8 a2a3

Pay attention that the total number of nodes the program has to check is exactly the same 1280563. Due to differences in speed the desktop needs 0.792 seconds while the netbook needs 5.933 seconds. The amiga A1200 (if we assume a similar quality compiler...which does not exist) would need something like 1200 seconds, to search the same
alkis is offline  
Old 21 February 2015, 18:23   #10
Hewitson
Registered User
Hewitson's Avatar
 
Join Date: Feb 2007
Location: Melbourne, Australia
Age: 35
Posts: 2,244
Quote:
Originally Posted by alkis View Post
Pay attention that the total number of nodes the program has to check is exactly the same 1280563. Due to differences in speed the desktop needs 0.792 seconds while the netbook needs 5.933 seconds. The amiga A1200 (if we assume a similar quality compiler...which does not exist) would need something like 1200 seconds, to search the same
If that is true, then this code is a disgrace. It may be the most intelligent chess engine in the world, but it should'nt take any more than a few seconds to make its decision on a 68000.
Hewitson is offline  
Old 22 February 2015, 01:29   #11
Sandro
Banned
 
Join Date: Feb 2013
Location: spain
Posts: 897
I found that someone ported stockfish 5 but for Amiga OS4
and the author hopes someone develop a gui for the engine

http://de4.aminet.net/game/board/sto...migaos4.readme


anyways you can play chess and use the engine using commands in shell interface
Sandro is offline  
Old 22 February 2015, 03:48   #12
mc6809e
Registered User
 
Join Date: Jan 2012
Location: USA
Posts: 281
Quote:
Originally Posted by Hewitson View Post
If that is true, then this code is a disgrace. It may be the most intelligent chess engine in the world, but it should'nt take any more than a few seconds to make its decision on a 68000.
Oh it's easy to write a chess playing program that takes just a few seconds to make a decision.

Those decisions won't be good ones, but they can be made quickly.
mc6809e is offline  
Old 27 February 2015, 16:31   #13
Anubis
Maj. Voodoo

Anubis's Avatar
 
Join Date: Jan 2005
Location: #Confefe
Age: 45
Posts: 2,328
Quote:
Originally Posted by Sandro View Post
nope your are wrong, seems that you are not updated

nothing related to speed, stockfish in a pentium 100 mhz at 2 sec per move can play at 3000 elo it will destroy any human on earth even magnus carlsen

chessmaster 2100 in assembler is a weak and outdated obsolete chess engine, you can't compare with stockfish which is modern and is a masterpiece in programing
Sure thing, that is why IBM used P100 to beat Kasparov, right??

All chess masters are using chess engine now, mostly with ChessBase of Fritz front end (or some even FreeChess Database), but when they review position, one of them I remember told he uses 2 quad code processor server with 16 GB of memory (this was about 10 years ago, or bit more when I used to play lots of chess) just while exploring opening positions, and they give chess engine hours to crack position while looking for a novelty that will give them small advantage over opponent.

I doubt that even if ever moved to Amiga, limitation of hardware would limit engine to bellow 1800 chess rating. (still above your average player)
Anubis is offline  
Old 27 February 2015, 23:18   #14
Leffmann

 
Join Date: Jul 2008
Location: Sweden
Posts: 2,085
I think it's easy to underestimate just how difficult of a search problem Chess is. The state-space absolutely explodes in size when you start going deeper into the search tree, and if you want your Chess AI to do a really exhaustive search then you'll need many gigabytes of RAM.
Leffmann is offline  
Old 27 February 2015, 23:28   #15
alkis
Registered User

 
Join Date: Dec 2010
Location: Athens/Greece
Age: 47
Posts: 403
Ah, yes RAM. Another limiting factor on the amiga would be ram.
All these modern chess engines would be seriously crippled if you run them without transposition tables space. I think the default stockfish benchmark (if you run 'stockfish bench') is using 128MB for the transposition table alone.
alkis is offline  
Old 28 February 2015, 04:56   #16
Hewitson
Registered User
Hewitson's Avatar
 
Join Date: Feb 2007
Location: Melbourne, Australia
Age: 35
Posts: 2,244
Quote:
Originally Posted by Leffmann View Post
I think it's easy to underestimate just how difficult of a search problem Chess is. The state-space absolutely explodes in size when you start going deeper into the search tree, and if you want your Chess AI to do a really exhaustive search then you'll need many gigabytes of RAM.
Gigabytes? We're talking about chess here, not designing the next NASA space shuttle.
Hewitson is offline  
Old 28 February 2015, 09:41   #17
alkis
Registered User

 
Join Date: Dec 2010
Location: Athens/Greece
Age: 47
Posts: 403
Quote:
Originally Posted by Hewitson View Post
Gigabytes? We're talking about chess here, not designing the next NASA space shuttle.
We are talking about modern chess engines with a very high ELO rating here.
You can of course play chess on Amiga 500, on a C64 or a ZX81. Won't be that strong though, that's all.
alkis is offline  
Old 28 February 2015, 11:35   #18
Hewitson
Registered User
Hewitson's Avatar
 
Join Date: Feb 2007
Location: Melbourne, Australia
Age: 35
Posts: 2,244
It's a task of deciding should I move my pawn here, or should I move my king there. A high powered CPU and lots of memory is simply not required and any software that does require these things is a piece of shit.
Hewitson is offline  
Old 28 February 2015, 12:13   #19
Leffmann

 
Join Date: Jul 2008
Location: Sweden
Posts: 2,085
Yes that's what it comes down to in the end, but in order to arrive at that decision you will need to plan ahead, and in the context of a Chess AI that means considering all possible moves many steps ahead.

At any point in the game there could be several dozens of possible moves, and for each of those you have another dozen possible moves, and so on, quickly factoring into huge amounts of possible game-states which have to be considered.

Even with a smart heuristic where you only search through a fraction of the state-space, you are still looking at billions of states that have to be evaluated if you want your AI to play really well.
Leffmann is offline  
Old 28 February 2015, 16:06   #20
Sandro
Banned
 
Join Date: Feb 2013
Location: spain
Posts: 897
Quote:
Originally Posted by Anubis View Post
Sure thing, that is why IBM used P100 to beat Kasparov, right??
if you are talking about the IBM scam called deep blue,
maybe you wonder why they dismantled the super machine ?

Yes in 1996-1997 they used a pentium II 450 mhz + 2 hidden chessmasters to beat Karparov

that's was a scam like the ancient"THE TURK" http://en.wikipedia.org/wiki/The_Turk

the fake machine they constructed was the Turk and the computer + the 2 chessmaster were the little man hidden inside the Turk

I wonder if you are into chess why you did not know this
Sandro is offline  
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Porting SDL2 to Amiga copse request.Other 3 30 November 2017 17:46
Porting PhotoChrome ST/e to Amiga. pandy71 request.Other 0 09 February 2015 15:12
Porting Neo Geo game to Amiga Gunnar project.CARE 16 15 June 2014 21:19
Porting Qt Framework to Amiga OS enviroments Pyromania Coders. General 2 24 July 2013 06:42
Battle Chess II - Chinese Chess genre wrong Fred the Fop HOL suggestions and feedback 1 02 June 2004 14:37

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 20:10.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.
Page generated in 0.08866 seconds with 15 queries