![]() |
| If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|||||||
| Tags: advance, against, analyze, level, win, zebediah |
|
|
Thread Tools | Display Modes |
|
#21
|
|||
|
|||
|
* Many years ago, a fellow came from out
of nowhere with achessprogram that was stronger than all the others. *It had a nice GUI, nicerchesspieces than the number two program, and most curious of all, it fit on a single floppy disk as it was quite small in addition to searching faster. Even GetClub Chess Program will fit in a floppy Disk GetClub Chess Program Size is Just 200 KB. While a Floppy can take 1.2 MB. So you can pack 5 Chess Programs in a floppy. The thing is that the size is small but the complexity is very high. I think GetClub program is good enough for all Human Players. Only the player using other commercial programs are beating the higher levels. Only you are able to win the Master Level rest all are not going higher than Normal Level. Bye Sanny Play Chess at: http://www.GetClub.com/Chess.html |
| Ads |
|
#22
|
|||
|
|||
|
On May 10, 12:54 am, Sanny wrote:
Many years ago, a fellow came from out of nowhere with achessprogram that was stronger than all the others. It had a nice GUI, nicerchesspieces than the number two program, and most curious of all, it fit on a single floppy disk as it was quite small in addition to searching faster. Even GetClub Chess Program will fit in a floppy Disk GetClub Chess Program Size is Just 200 KB. While a Floppy can take 1.2 MB. So you can pack 5 Chess Programs in a floppy. Ah, yes-- the single-sided, single density era is long over. In fact, I think the entire 5.25" floppy disk era is over. One day, my collection will be worth a fortune, and I will then donate it to the Smithsonian, along with my old 8-track tapes. The thing is that the size is small but the complexity is very high. I think GetClub program is good enough for all Human Players. Only the player using other commercial programs are beating the higher levels. Well, it is rumored that some kid called "Nakamura" is now better than Roman D., who himself was quite a computer-crusher in his heyday. And if you recall, then-world champion Kramnik was beating one of the world's top chess programs... when he threw away the win, and then overlooked a mate-in-one on himself! Generally speaking, you might need to get up to at least 2000 strength before declaring victory over *all* humans. Only you are able to win the Master Level rest all are not going higher than Normal Level. True. But then, nobody else can stand the delay required to play the higher levels, so it is not necessarily a case of being outclassed in terms of strength. One thing I have noticed is that when it comes to attacking, your program is much too eager to sacrifice material, and this makes it so that a stubborn and patient defender can win without much trouble. It is probably better to be a good defender, and let the impatience of the human animal work to destroy him. Many years ago, I ran into a sort of "wall", a rating line I could not get over. I decided to play more aggressively, to /force/ my way to victory against the lowly opponents I felt I was superior to. This backfired, and I found myself losing games I ought to have drawn. My rating dropped, and this made me all the more frustrated! Then I decided to just stop making quite so many stupid blunders, to force my despised opponents to work hard for their wins or draws. This worked much better, and I soon found that in the course of many an even game, I needed but one opportunity to seize the win, because my technique was superior overall. I had no "brilliancies", but I leaped ahead of those other guys, into a new group of players. Now my goal was to stop getting killed every time! I began to nick them for draws, and eventually became a real annoyance (deja vue)... . -- help bot |
|
#23
|
|||
|
|||
|
On May 2, 10:56 pm, Sanny wrote:
Game Played between zebediah and advance at GetClub.com -------------------------------------------------------------------------------- zebediah: (White) advance: (Black) Game Played at:http://www.GetClub.com/Chess.html View Recorded Game:http://www.getclub.com/playgame.php?...903&game=Chess -------------------------------------------------------------------------------- White -- Black (zebediah) -- (advance) 1. e2-e4{6} c7-c5{0} 2. [etc] Sanny, instead of the score provide a link to the game, so that I can replay it on the screen by click-clicking. Otherwise forget it. Wlod |
|
#24
|
|||
|
|||
|
On May 2, 10:56 pm, Sanny wrote:
-------------------------------------------------------------------------------- zebediah: (White) advance: (Black) Game Played at:http://www.GetClub.com/Chess.html View Recorded Game:http://www.getclub.com/playgame.php?...903&game=Chess -------------------------------------------------------------------------------- White -- Black (zebediah) -- (advance) 1. e2-e4{6} c7-c5{0} Sanny, simply provide a link, so that I will be able to replay the game on the screen just by clicking on the moves. Otherwise forget it. Wlod |
|
#25
|
|||
|
|||
|
On May 10, 2:30 am, "Wlodzimierz Holsztynski (Wlod)"
wrote: Game Played between zebediah and advance at GetClub.com -------------------------------------------------------------------------------- zebediah: (White) advance: (Black) Game Played at:http://www.GetClub.com/Chess.html View Recorded Game:http://www.getclub.com/playgame.php?...903&game=Chess -------------------------------------------------------------------------------- White -- Black (zebediah) -- (advance) 1. e2-e4{6} c7-c5{0} 2. [etc] Sanny, instead of the score provide a link to the game, so that I can replay it on the screen by click-clicking. Otherwise forget it. Someone has not been eating his Wheaties... . Sanny includes *both* in his postings: a link for those who are lazy bots like me, *plus* the game score, for those who prefer to cut-and-paste into their favorite GUI program. Trouble is, his score is non-standard, so the cut-and-paste method most likely won't work. Even so, there are a few really strong players who don't need a graphical board to "see" what is going on; these few, I have heard (but would have no way of knowing, of course) can replay the games in their minds, just by looking at the score! Unfortunately, this foresight on Sanny's part is always overlooked, since there are no really strong players here in rgc... (snicker). Oh, and it is of course a simple matter to type "http://www.getclub.com/" into your browser, then scroll through just the last couple of games played... click... click... hmmm, I think Zeb may like Fritz 10, or maybe Shredder 7, or maybe it is Chessmaster. Zeb's program is stronger than the GetClub program, by far. But I think Rybka can give it greater odds, because it is stronger still. -- help bot |
|
#26
|
|||
|
|||
|
Sanny, simply provide a link, so that
I will be able to replay the game on the screen just by clicking on the moves. Otherwise forget it. * * Wlod View Recorded Game:http://www.getclub.com/playgame.php? id=DM19903&game=Chess I always give the link to Recorded game on top. Bye Sanny |
|
#27
|
|||
|
|||
|
Sanny wrote:
Many years ago, a fellow came from out of nowhere with achessprogram that was stronger than all the others. It had a nice GUI, nicerchesspieces than the number two program, and most curious of all, it fit on a single floppy disk as it was quite small in addition to searching faster. Even GetClub Chess Program will fit in a floppy Disk GetClub Chess Program Size is Just 200 KB. While a Floppy can take 1.2 MB. So you can pack 5 Chess Programs in a floppy. The thing is that the size is small but the complexity is very high. I think GetClub program is good enough for all Human Players. Only the player using other commercial programs are beating the higher levels. That seems very unlikely given that it is so predictable about sacrificing N for 2P and going for spite checks. Its endgame play is complete rubbish (but then even the top engines are still a little bit flakey there at tournament time controls) I'd be surprised if it could beat most serious club players reliably looking at the recent games. I think it will now comfortably beat all casual chess players, but I think anyone at ELO 2000+ will crush it (excluding careless slip ups). Only you are able to win the Master Level rest all are not going higher than Normal Level. That is more because the humans die of boredom waiting for GetClub to make a move at the higher levels. You would do well to find a couple of local club level chess players with some mathematics or programming background if you actually want to make the program stronger. Playing toy matches and tweaking things isn't the right approach. If you are serious you need to get a set of test cases that it should be able to solve and regression test the engine against them after each "improvement" - that way you can be sure you *are* making things better. Some of the positions I have already picked out would be good ones to have in your test suite. A first step towards this is to allow the engine to accept FEN notation for game positions and set up the board at the test position. Then a modification so that you can display a table of move score in cp ranked by evaluation as a function of search depth. And underneath the time taken, number of nodes processed and terminal nodes evaluated (this may require adding diagnostics to your code). eg. Ply: 1 2 3 4 5 6 e4 05 d4 03 c4 00 Nf3 -01 .... Nodes Evals Time (this table should be sorted by the deepest evaluation available) The objective is to try and get the ply 1 evaluation to be self consistent with the deeper evaluations and so minimise the number of nodes the program has to evaluate to get to a given depth. The maximum depth examined by selective extensions is also possibly useful here too. We need to see how it is thinking and what its internal evaluation is for the moves to be able to give sensible advice. Regards, Martin Brown ** Posted from http://www.teranews.com ** |
|
#28
|
|||
|
|||
|
On Fri, 9 May 2008 09:57:41 -0700 (PDT), Sanny
wrote: Yes, I will see if that can be corrected. It is very difficult to modify the code as changing one line of code brings new Bugs and then a week is wasted in correcting the Bugs. That statement tells me quite at least 2 things: 1) There's a lot of copy and paste in your code (parts tend to look alike, with minor modifications... some question as to whether making a change is the right one). 2) You're probably not using the benefits of Java. Your display might be OO, but I doubt that your chess analysis part did. What I know about some contemporary chess engines (the company I work for built the boards for Deep Blue) is that they evaluate each space. You can score the piece count, but you also can score position... Simplistically by how many squares are controlled. You only have 3 different kind of squares. Also I have to agree with what someone else said. For testing purposes, you really should work on handling position notation. One of the beauties of chess is the state of the game can store in so few bytes (64 and be comfortable). If you have a position that is, say, a mate in 5, you can try that position against different versions (and load it against different opponents as well). Checks and draws should be some sort of function... I forget whether you play a particular sound when the person is in check, but you can use it for that, and also to put a '+' in the notation (or '#' for checkmate). Its like when we fly Kites. When the threads messup how difficult it is to correct the jumbeled threads. This Program is so large that if I have to read whole program line by line, it will take me full day. So its very difficult to go through all the codes and correct them. 200K isn't that large, even for a one-person project. Bye Sanny |
|
#29
|
|||
|
|||
|
Patrick Volk wrote:
On Fri, 9 May 2008 09:57:41 -0700 (PDT), Sanny wrote: Yes, I will see if that can be corrected. It is very difficult to modify the code as changing one line of code brings new Bugs and then a week is wasted in correcting the Bugs. That statement tells me quite at least 2 things: 1) There's a lot of copy and paste in your code (parts tend to look alike, with minor modifications... some question as to whether making a change is the right one). It would make sense to split the code into clean separate modules (even if there was initially a slight performance penalty). It is probably well worth profiling it to see exactly where it spends all its time. Getting the thing to run faster would help a lot. You will probably find that it spends all its time in the terminal node eval. 2) You're probably not using the benefits of Java. Your display might be OO, but I doubt that your chess analysis part did. What I know about some contemporary chess engines (the company I work for built the boards for Deep Blue) is that they evaluate each space. That is a hardware accelerator tactic which can consider all the squares using a local sub processor per square. I don't think it works so well on a PC. You can score the piece count, but you also can score position... Simplistically by how many squares are controlled. You only have 3 different kind of squares. I get the impression it is already a bit better than that, but that there is something horribly wrong with its quiessence search. Perhaps because it thinks that pinned pieces can move or something... see the game with the mobile phone. Also I have to agree with what someone else said. For testing purposes, you really should work on handling position notation. One of the beauties of chess is the state of the game can store in so few bytes (64 and be comfortable). If you have a position that is, say, a mate in 5, you can try that position against different versions (and load it against different opponents as well). Regression testing at least means that you can be sure the program still gets right all the test cases you have tested and fixed so far as well as any new ones. Checks and draws should be some sort of function... I forget whether you play a particular sound when the person is in check, but you can use it for that, and also to put a '+' in the notation (or '#' for checkmate). Human readable output needs a couple more tweaks and it would be OK. Like for example putting the players and dates in the right sort of brackets and format for standard engines to read. Its like when we fly Kites. When the threads messup how difficult it is to correct the jumbeled threads. This Program is so large that if I have to read whole program line by line, it will take me full day. So its very difficult to go through all the codes and correct them. Bulk spagetti code is not a viable programming model. It is time to restructure the code and separate the evaluation, move generation and alpha-beta search into clearly separate modules. Ultimately the majority of the changes should be in eval once the other components are stable. 200K isn't that large, even for a one-person project. It is large if there is no well defined overall structure. Regards, Martin Brown ** Posted from http://www.teranews.com ** |
|
#30
|
|||
|
|||
|
On Mon, 12 May 2008 08:38:04 +0100, Martin Brown
wrote: Patrick Volk wrote: On Fri, 9 May 2008 09:57:41 -0700 (PDT), Sanny wrote: Yes, I will see if that can be corrected. It is very difficult to modify the code as changing one line of code brings new Bugs and then a week is wasted in correcting the Bugs. That statement tells me quite at least 2 things: 1) There's a lot of copy and paste in your code (parts tend to look alike, with minor modifications... some question as to whether making a change is the right one). It would make sense to split the code into clean separate modules (even if there was initially a slight performance penalty). It is probably well worth profiling it to see exactly where it spends all its time. Getting the thing to run faster would help a lot. You will probably find that it spends all its time in the terminal node eval. C&P is a consequence generally of wandering design. You find some code that could work, and instead of re-factoring it to fulfill all cases, you copy and modify it for each. One of the levels of programming hell (hell not only to maintain, but to test)! 2) You're probably not using the benefits of Java. Your display might be OO, but I doubt that your chess analysis part did. What I know about some contemporary chess engines (the company I work for built the boards for Deep Blue) is that they evaluate each space. That is a hardware accelerator tactic which can consider all the squares using a local sub processor per square. I don't think it works so well on a PC. It used at least one processor per square. A PC could thread it, yeah, not as fast, but it lends itself to replication. You can score the piece count, but you also can score position... Simplistically by how many squares are controlled. You only have 3 different kind of squares. I get the impression it is already a bit better than that, but that there is something horribly wrong with its quiessence search. Perhaps because it thinks that pinned pieces can move or something... see the game with the mobile phone. Where A-B pruning comes in. At the level it's at, I don't think you're going to find a queen sacrifice 4 plies down. Bail! Also I have to agree with what someone else said. For testing purposes, you really should work on handling position notation. One of the beauties of chess is the state of the game can store in so few bytes (64 and be comfortable). If you have a position that is, say, a mate in 5, you can try that position against different versions (and load it against different opponents as well). Regression testing at least means that you can be sure the program still gets right all the test cases you have tested and fixed so far as well as any new ones. Sanny's idea of regression testing is release, and saying how it's improved 200%. Checks and draws should be some sort of function... I forget whether you play a particular sound when the person is in check, but you can use it for that, and also to put a '+' in the notation (or '#' for checkmate). Human readable output needs a couple more tweaks and it would be OK. Like for example putting the players and dates in the right sort of brackets and format for standard engines to read. Its like when we fly Kites. When the threads messup how difficult it is to correct the jumbeled threads. This Program is so large that if I have to read whole program line by line, it will take me full day. So its very difficult to go through all the codes and correct them. Bulk spagetti code is not a viable programming model. It is time to restructure the code and separate the evaluation, move generation and alpha-beta search into clearly separate modules. Ultimately the majority of the changes should be in eval once the other components are stable. Exactly my point. His comments indicate he may not have painted himself into the corner just yet, but there's probably no doorways or windows around. A program isn't philosophically a journey - it's more like a tour. You have a list of sights to see. 200K isn't that large, even for a one-person project. It is large if there is no well defined overall structure. Very true. Regards, Martin Brown ** Posted from http://www.teranews.com ** |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Please Analyze the Advance Level best Game | Sanny | rec.games.chess.analysis (Chess Analysis) | 6 | April 23rd 08 09:47 AM |
| Please Analyze the Advance Level best Game | Sanny | rec.games.chess.computer (Computer Chess) | 4 | April 23rd 08 09:47 AM |
| Please Analyze the Advance Level best Game | Sanny | rec.games.chess.misc (Chess General) | 4 | April 23rd 08 09:47 AM |
| Please Analyze the Advance Level best Game | Sanny | alt.chess (Alternative Chess Group) | 4 | April 23rd 08 09:47 AM |
| Please Analyze the Advance Level best Game | Sanny | rec.games.chess.politics (Chess Politics) | 0 | April 21st 08 09:01 AM |