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.

Reply via email to