That math is wrong, doing a three-depth search would take more like 250 seconds, not half a second. My next level of computer player would maybe do a one-depth search for about 250 milliseconds.
Matt On Saturday, December 2, 2017 at 6:13:34 PM UTC-6, matthe...@gmail.com wrote: > > The plan for my variation is to extend my "easy computer" move rating > system into traversing the tree of possible positions, maybe something like > three deep which would take about half a second to compute with my > unoptimized engine. Stockfish probably has much more effort put into such a > thing (like you pointed out, it's probably better to go many deep in one > path and ignore most of the other branches) and understanding those > algorithms will take some work. > > Writing an opponent with some basic character and variation isn't > difficult in your own engine once you have a call to get possible moves for > a position. Is your primary goal to make a strong opponent for your > variation, or just to have a computer game to play with others? > > Those special cases (promotion, en passant, and castling) break some > assumptions that a person may make when starting to design a chess engine. > Specifically, promotion causes two moves in a row and requires an interface > to choose the piece, en passant is the only move that lasts for a single > turn even if the two interacting pieces don't move, and castling is the > only move that moves two pieces. > > I appreciate that Go is not a commercial product even though I have > concerns for collective use, and hopefully it doesn't require forks > eventually. Thanks for sharing your story. > > Matt > > On Saturday, December 2, 2017 at 1:38:23 PM UTC-6, Hugh Aguilar wrote: >> >> >> >> On Saturday, December 2, 2017 at 7:00:55 AM UTC-7, matthe...@gmail.com >> wrote: >>> >>> Writing a chess engine is easier than you may think, those algorithms >>> are meant to speed up computer moves and computer analysis, neither of >>> which are necessary to play the game. My engine has none of that and is not >>> optimized at all and doesn't do any caching between the database and still >>> responds to making a move or calculating all moves for a position within 5 >>> milliseconds. Just be ready to hack a little for promotion, en passant, and >>> castling. >>> >> >> My Reversi program was weak because it searched to a fixed depth. For a >> game to be strong, it needs to search the more volatile paths deeper than >> the quiet paths. >> In chess this means that exchanges of pieces have to be completed. The >> search should terminate on a board position that is "settled." >> I don't know how to do this. What does "settled" mean, exactly. >> Are there any books available on the Alpha-Beta algorithm, or anything on >> the web? >> That book I had was a TAB book bought in the 1980s --- it discussed >> pretty simple games --- my understanding of the Alpha-Beta algorithm is >> pretty weak. >> >> I don't know why you keep mentioning promotion, en passant and castling. >> This is the same in Elphaba Chess as in International Chess. >> The only difference about Elphaba Chess is that the queen can't capture >> and can't be captured. The queen just gets in the way! >> >> >>> I think what I was getting to earlier is that Go would benefit from >>> official corporate and academic partners (that foundation) because if >>> Google goes then probably Go does too, for any significant commercial or >>> academic use at least. >>> >> >> Well, just be aware that a corporation typically sees the rest of the >> world as competition to be crushed. This means you! >> >> Google is not going to be happy if somebody uses Go to compete against >> Google. AFAIK, most if not all of Google's money comes from selling >> advertising on their >> search-engine. Theirs isn't the only search-engine though. Another >> example is Bing. There may be others, but it takes a pretty big server. >> If people use Go to compete against Google, then Google will pull the rug >> out from under their feet! >> Writing a chess program is non-threatening though --- there is no money >> to be made --- this is just hobbyist programming. >> >> I mentioned the ANS-Forth standard of 1994, which is truly awful from a >> technical stand-point. The author of ANS-Forth was Elizabeth Rather, the >> owner of Forth Inc.. >> Charles Moore, the inventor of Forth left Forth Inc. in 1982, and he >> abandoned ANS-Forth in 1989. He says that ANS-Forth is not Forth at all. >> Elizabeth Rather is unconcerned that ANS-Forth has technical problems. >> She says that the purpose of ANS-Forth is "portable programmers." >> Apparently Forth Inc. was tired of hiring programmers who know nothing >> about Forth, and training them from the ground up. >> She wants programmers to learn the rudiments of Forth first, before they >> apply for work at Forth Inc.. >> ANS-Forth is adequate for writing trivial programs, for learning the >> rudiments of Forth --- learn how DUP OVER SWAP ROT etc. work. >> ANS-Forth was purposely crippled though, to prevent it from being used >> for writing non-trivial programs in competition with Forth Inc.. >> >> In 1994 I wrote the MFX Forth cross-compiler using UR/Forth. This >> targeted the MiniForth processor, which was built on a Lattice isp1048 PLD. >> The MiniForth was used in the motion-control board for a laser-etching >> machine. >> This was obviously not ANS-Forth compliant, because ANS-Forth came out in >> the same year. >> UR/Forth was Forth-83 compliant, but MFX was not Forth-83 compliant --- >> Forth-83 had technical problems too --- it wasn't adequate for what I >> needed. >> The purpose of ANS-Forth was to give Forth Inc. the high-ground --- they >> can denounce all the competitors' accomplishments as being non-standard. >> LMI, the company that sold UR/Forth, went out of business when ANS-Forth >> became the standard. LMI went from being industry leader to being a >> wanna-bee. >> This is the danger of allowing a corporation to define a >> programming-language standard --- competitors will be non-standard --- all >> programmers are competitors. >> >> Most likely, Google made Go public because they wanted enthusiastic >> contributors to help them develop Go --- hiring programmers is expensive. >> After Go is settled though, Google may make it proprietary again. The >> enthusiasts will succeed so well that no further contribution from them is >> needed. >> Google could kill Go by pushing a crippleware version through ANSI and >> calling that the "Standard" so nobody can use Go to write non-trivial >> programs. >> This trick works very well! This pulls the rug out from under the >> programmers --- dumps them on their non-standard butts --- they don't rise >> again. >> >> From a legal perspective, a corporation is the same as a person, although >> most people don't think of a corporation as being a "person." >> If it were a person, it would be a sociopath! >> >> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.