Soberango 0.00.0 (chess engine) realized.
-
- Posts: 375
- Joined: Mar 15, 2015 12:41
Soberango 0.00.0 (chess engine) realized.
Well, 1st step completed.
Starting from zero knowledge, after 5 months (3 trying to understand what´s the matter and 2 in the making and tests), the very first version of Soberango see the sunlight.
It´s played some games against myself (1500 in chess.com) and in 5/0 blitz is a good opponent. Playing 10 games against the weakest engine I could found: Safrad, won 1, tie 3 and loses 6.
Site: http://www.luisb.com.ar/Soberango/Soberango.html
Comments:
-Version: 0.00.0 (Very basic winboard engine, just works and for the moment just checked successfully in Arena 3.5 and Arena 3.5.1).
-Options: there isn´t, just plays matchs from the initial position.
-Searching algorithm: just Mini-Max, no alphabeta.
-Search depth: fixed in 4 plies.
-No time management. In a Phenom 955 3.2MHz, could play Blitz from minimum time 1:30/0 losing by time very rarely.
-Evaluation: just material difference.
-Not detection of 50 moves rules neither 3rd repetition.
-Known bug: if lose by time, could not start a new game without restart.
-32 bits engine.
-8x8 matrix board representation.
-Wrote in FreeBasic .
Thanks to the forum, specially SARG and fxm, and ofcourse to dkl for FreeBasic, for the help you give me no matter how noob my questions use to be!
Starting from zero knowledge, after 5 months (3 trying to understand what´s the matter and 2 in the making and tests), the very first version of Soberango see the sunlight.
It´s played some games against myself (1500 in chess.com) and in 5/0 blitz is a good opponent. Playing 10 games against the weakest engine I could found: Safrad, won 1, tie 3 and loses 6.
Site: http://www.luisb.com.ar/Soberango/Soberango.html
Comments:
-Version: 0.00.0 (Very basic winboard engine, just works and for the moment just checked successfully in Arena 3.5 and Arena 3.5.1).
-Options: there isn´t, just plays matchs from the initial position.
-Searching algorithm: just Mini-Max, no alphabeta.
-Search depth: fixed in 4 plies.
-No time management. In a Phenom 955 3.2MHz, could play Blitz from minimum time 1:30/0 losing by time very rarely.
-Evaluation: just material difference.
-Not detection of 50 moves rules neither 3rd repetition.
-Known bug: if lose by time, could not start a new game without restart.
-32 bits engine.
-8x8 matrix board representation.
-Wrote in FreeBasic .
Thanks to the forum, specially SARG and fxm, and ofcourse to dkl for FreeBasic, for the help you give me no matter how noob my questions use to be!
Last edited by Luis Babboni on Apr 15, 2018 21:39, edited 1 time in total.
-
- Posts: 1008
- Joined: Nov 24, 2011 19:49
- Location: France
- Contact:
Re: Soberango 0.00.0 (chess engine) realized.
Hello! Glad to see a new FB chess project.
But you don't intend to release the source code?
Another question (if I may): why did you choose the Winboard protocol? I believe that nowadays the UCI protocol is more commonly used.
Anyway, good luck with that project!
But you don't intend to release the source code?
Another question (if I may): why did you choose the Winboard protocol? I believe that nowadays the UCI protocol is more commonly used.
Anyway, good luck with that project!
-
- Posts: 375
- Joined: Mar 15, 2015 12:41
Re: Soberango 0.00.0 (chess engine) realized.
Thanks!!Roland Chastain wrote:Hello! Glad to see a new FB chess project.
But you don't intend to release the source code?
Another question (if I may): why did you choose the Winboard protocol? I believe that nowadays the UCI protocol is more commonly used.
Anyway, good luck with that project!
Well..... to public the code and not be shamed I need a lot of work to "unmess" a giant mess first :-D
The anxious to have it working made me left this for next weeks but I´ll do it.
I tried first with UCI but seems to me more easy to understand the winboard not know why! :-/
Re: Soberango 0.00.0 (chess engine) realized.
What I did in my draughts AI (posted somewhere on this forum), is: When at the 'bottom' of the search 'tree' an exciting placement of pieces occurs, the AI went a few steps deeper in these cases. Exciting for draughts meant that one of both players had to capture at least one of the opponents pieces. The performance penalty was limited, but the AI was significantly stronger because of this. Not sure if this method can be use with chess though.-Search depth: fixed in 4 plies.
(Couldn't run the code as my system does not understand .exe files.)
-
- Posts: 375
- Joined: Mar 15, 2015 12:41
Re: Soberango 0.00.0 (chess engine) realized.
Yes, yes, is the usual behavior of chess engines. Not Soberango´s yet but needed to be a good chess engine.badidea wrote:What I did in my draughts AI (posted somewhere on this forum), is: When at the 'bottom' of the search 'tree' an exciting placement of pieces occurs, the AI went a few steps deeper in these cases. Exciting for draughts meant that one of both players had to capture at least one of the opponents pieces. The performance penalty was limited, but the AI was significantly stronger because of this. Not sure if this method can be use with chess though.-Search depth: fixed in 4 plies.
(Couldn't run the code as my system does not understand .exe files.)
-
- Posts: 3922
- Joined: Jan 01, 2009 7:03
- Location: Australia
Re: Soberango 0.00.0 (chess engine) realized.
http://www.freebasic.net/forum/viewtopi ... t=draughtsbadidea wrote:... my draughts AI (posted somewhere on this forum), ...
Will not compile as is with the latest version of FB.
I think there is some directive you can put at the start of the code but I forget it and find it tiresome to have to search for it every time.
Made the effort again,
$lang: "qb"
'' or
#lang "fblite"
.
-
- Posts: 3922
- Joined: Jan 01, 2009 7:03
- Location: Australia
Re: Soberango 0.00.0 (chess engine) realized.
@Luis Babboni,
Don't like to download and run .exe files in case someone (not you) has added some virus somehow.
Of course chess playing machines crunch numbers they don't play like humans ... yet.
.
Don't like to download and run .exe files in case someone (not you) has added some virus somehow.
Of course chess playing machines crunch numbers they don't play like humans ... yet.
.
-
- Posts: 375
- Joined: Mar 15, 2015 12:41
Re: Soberango 0.00.0 (chess engine) realized.
Few days ago, Soberango appears for first time in the CCRL ranking list of chess engines playing 40 moves in 4 minutes blitz games.
Actually it is version 0.07.2
It is ranked nº484 out of 503 engines... but could be worst! Version 0.00.0 was not better than the nº501 :-D
Here CCRL 40/4 ranking:
http://www.computerchess.org.uk/ccrl/404/
Here Soberango web:
http://www.luisbtenis.com.ar/Soberango/Soberango.html
Here the code. I resisted to public it cause the great mess it is.... but I feel like if I want to hide something that have no reason (other than the mess it is as I said) to be hide:
https://dl.dropboxusercontent.com/s/ldu ... e.rar?dl=0
(In any case I do not suggest to try to understand anything, is a bigger mess than you could imagine!)
Anyway, here a brief explanation of how, previous 0.07.1 version, works:
https://dl.dropboxusercontent.com/s/69i ... .docx?dl=0
Actually it is version 0.07.2
It is ranked nº484 out of 503 engines... but could be worst! Version 0.00.0 was not better than the nº501 :-D
Here CCRL 40/4 ranking:
http://www.computerchess.org.uk/ccrl/404/
Here Soberango web:
http://www.luisbtenis.com.ar/Soberango/Soberango.html
Here the code. I resisted to public it cause the great mess it is.... but I feel like if I want to hide something that have no reason (other than the mess it is as I said) to be hide:
https://dl.dropboxusercontent.com/s/ldu ... e.rar?dl=0
(In any case I do not suggest to try to understand anything, is a bigger mess than you could imagine!)
Anyway, here a brief explanation of how, previous 0.07.1 version, works:
https://dl.dropboxusercontent.com/s/69i ... .docx?dl=0
Last edited by Luis Babboni on Sep 01, 2016 14:42, edited 1 time in total.
-
- Posts: 2958
- Joined: Jun 02, 2015 16:24
Re: Soberango 0.00.0 (chess engine) realized.
Nice, congratz Luis Babboni! Chess engines are great things.Luis Babboni wrote:Few days ago, Soberango appears for first time in the CCRL ranking list of chess engines playing 40 moves in 4 minutes blitz games.
Re: Soberango 0.00.0 (chess engine) realized.
The link that should point to the basic listing is the same as the link for the explanation, can you provide the proper link to the basic listing. I would like to see the program.Luis Babboni wrote:Here the code. I resisted to public it cause the great mess it is.... but I feel like if I want to hide something that have no reason (other than the mess it is as I said) to be hide:
https://dl.dropboxusercontent.com/s/69i ... .docx?dl=0
(In any case I do not suggest to try to understand anything, is a bigger mess than you could imagine!)
Anyway, here a brief explanation of how, previous 0.07.1 version, works:
https://dl.dropboxusercontent.com/s/69i ... .docx?dl=0
regards
-
- Posts: 375
- Joined: Mar 15, 2015 12:41
Re: Soberango 0.00.0 (chess engine) realized.
Sorry frisian!!frisian wrote:The link that should point to the basic listing is the same as the link for the explanation, can you provide the proper link to the basic listing. I would like to see the program.Luis Babboni wrote:Here the code. I resisted to public it cause the great mess it is.... but I feel like if I want to hide something that have no reason (other than the mess it is as I said) to be hide:
https://dl.dropboxusercontent.com/s/69i ... .docx?dl=0
(In any case I do not suggest to try to understand anything, is a bigger mess than you could imagine!)
Anyway, here a brief explanation of how, previous 0.07.1 version, works:
https://dl.dropboxusercontent.com/s/69i ... .docx?dl=0
regards
Here the correct link to the code:
https://dl.dropboxusercontent.com/s/ldu ... e.rar?dl=0
I edited the above post too.
Thanks for the warning!
-
- Posts: 375
- Joined: Mar 15, 2015 12:41
Re: Soberango 0.00.0 (chess engine) realized.
LOL, I tried to comment you frisian about Numpty that is far better and nicely programmed and far better playing chess but I saw you was one of the guys appear commenting in Numpty web!! :-)
Re: Soberango 0.00.0 (chess engine) realized.
Luis
Thanks for the fast correction of the link.
The listing is somewhat hard to follow since I don't speak Spanish. I had to swap my favorite editor FBEdit for CSED_FB because FBEdit does not display the international characters the right way. I have managed to compile your program and got working with Arena 3.5.1.
Only my program is about 190 Kb yours 370 Kb It seems that you compiled it with the -g (debug), a simple compile with -s GUI or -s console is for distribution enough.
Also you include in the rar file log files from runs, delete the 0 size files they contain no information.
First impression:
You use a lot of subroutines, try to avoid them in the time consuming parts of the program, if not don proper they can wast to much time.
Avoid using floating point (double) and strings where ever you can, and avoid calculating with strings (val).
I have seen somethings that can be improved but it will take me some time to work that out.
Thanks for the fast correction of the link.
The listing is somewhat hard to follow since I don't speak Spanish. I had to swap my favorite editor FBEdit for CSED_FB because FBEdit does not display the international characters the right way. I have managed to compile your program and got working with Arena 3.5.1.
Only my program is about 190 Kb yours 370 Kb It seems that you compiled it with the -g (debug), a simple compile with -s GUI or -s console is for distribution enough.
Also you include in the rar file log files from runs, delete the 0 size files they contain no information.
First impression:
You use a lot of subroutines, try to avoid them in the time consuming parts of the program, if not don proper they can wast to much time.
Avoid using floating point (double) and strings where ever you can, and avoid calculating with strings (val).
I have seen somethings that can be improved but it will take me some time to work that out.
-
- Posts: 375
- Joined: Mar 15, 2015 12:41
Re: Soberango 0.00.0 (chess engine) realized.
Thanks frisian for your tips!
some I´ll could easy follow, others will be postponed for future versions.
Actually I´m working to add to the engine moves ordering.
My plan is first to try to understand the basic chess engines ideas. Still remains that´s moves ordering; quiescence search (I did it yet but was not sucesfull without moves ordering so need to make an step back to first do that); using tablabases, have hash tables; use openings; less basic evaluation (actually just count material); etc.
Just for versions 1.xx.x I´ll plan to make a most optimized code.
To be sincerous, when I started the program in last February I doubt too much I will be able to make something that work... but I did!! :-)
Now a lot of hard but fun work is in front of me I think for some years.
If you do not mind, I think in the future I will ask you no few things if you not just know FB but about chess engines too! :-)
some I´ll could easy follow, others will be postponed for future versions.
Actually I´m working to add to the engine moves ordering.
My plan is first to try to understand the basic chess engines ideas. Still remains that´s moves ordering; quiescence search (I did it yet but was not sucesfull without moves ordering so need to make an step back to first do that); using tablabases, have hash tables; use openings; less basic evaluation (actually just count material); etc.
Just for versions 1.xx.x I´ll plan to make a most optimized code.
To be sincerous, when I started the program in last February I doubt too much I will be able to make something that work... but I did!! :-)
Now a lot of hard but fun work is in front of me I think for some years.
If you do not mind, I think in the future I will ask you no few things if you not just know FB but about chess engines too! :-)
Last edited by Luis Babboni on Sep 02, 2016 1:02, edited 4 times in total.
-
- Posts: 375
- Joined: Mar 15, 2015 12:41
Re: Soberango 0.00.0 (chess engine) realized.
Wich is your program? Numpty? I´m not sure. :-Ofrisian wrote: ...
Only my program is about 190 Kb
...
EDIT: I think I understadn now.... you compiled soberango have 190kb and my compiled have 370 kb, I´m right? Sorry but my english is not too good.