Search found 178 matches

by Harald
Sat Sep 12, 2020 8:21 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Triangular PV question
Replies: 10
Views: 1043

Re: Triangular PV question

"This code only makes copy of next ply move to the current ply line."

My version copies the best PV from the deeper ply back to the current ply
and your version does not. Compare the versions, please.
by Harald
Sat Sep 12, 2020 7:25 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Triangular PV question
Replies: 10
Views: 1043

Re: Triangular PV question

May be

Code: Select all

            // loop over the next ply
            for (int next_ply = ply + 1; next_ply < pv_length[ply + 1]; next_ply++)
                // copy move from next ply to the current line
                pv_table[ply][next_ply] = pv_table[ply + 1][next_ply];
by Harald
Tue Aug 25, 2020 12:22 pm
Forum: Computer Chess Club: General Topics
Topic: Chess programming on YouTube: NOBODY CARES?
Replies: 44
Views: 6575

Re: Chess programming on YouTube: NOBODY CARES?

After watching Bitboard CHESS ENGINE in C on youtube I have some comments. Don't comment count++; with // increment count. Write printf("%llu", bitboard); and not printf("%llud", bitboard); Otherwise you get an ugly d after the number because you yourself put it there. %u already means unsigned int ...
by Harald
Wed Feb 12, 2020 7:46 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: New RookAttacks() - possibly
Replies: 11
Views: 2178

Re: New RookAttacks() - possibly

Hi Michael I am Harald Lüßen -- or if you do not like ü and ß -- Harald Luessen. I read this u64 bb = ss1[sq][(occ.b64 >> (((sq >> 3 << 3) + 1) & 7))]; as u64 bb = ss1[sq][(occ.b64 >> (((sq & 0xc8) + 1) & 7))]; or u64 bb = ss1[sq][(occ.b64 >> (((sq & 56) + 1) & 7))]; and then it is u64 bb = ss1[sq][...
by Harald
Wed Apr 24, 2019 8:40 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Chess engines for circular chess boards
Replies: 32
Views: 8675

Re: Chess engines for circular chess boards

You described the knight move as Y shaped. You could also desribe it as T shaped.
Two steps orthogonally and then one step to each side.
by Harald
Tue Apr 16, 2019 6:26 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Winboard state machine diagram
Replies: 10
Views: 4727

Re: Winboard state machine diagram

Thank you for that explanation. May be I try to visualize that somehow. My diagram was created from the engine's point of view. While it is mostly just waiting or looping around in the observing force mode it gets all kinds of commands that just change some variables. Perhaps some member variables o...
by Harald
Mon Apr 15, 2019 8:40 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Winboard state machine diagram
Replies: 10
Views: 4727

Winboard state machine diagram

Hi I am trying to understand the communication between Winboard and the chess engine a little better. See: Chess Engine Communication Protocol http://www.open-aurec.com/wbforum/WinBoard/engine-intf.html and: WinBoard/XBoard protocol state diagram https://www.chessprogramming.org/Chess_Engine_Communi...
by Harald
Fri Apr 05, 2019 3:50 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Some x64 assembler for the curious
Replies: 21
Views: 6731

Re: Some x64 assembler for the curious

This thread reminds me of an old Z80 assembler chess program 'Schachmatt' by Gerhard Scheuermann. It is a very fast mate solver that was published in the german computer magazine CHIP in 03/1984. It does not play chess but generates, makes, unmakes moves and looks for mates. The piece abbreviations ...
by Harald
Wed Feb 06, 2019 9:43 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Killers and forward pruning test searches
Replies: 16
Views: 5034

Re: Killers and forward pruning test searches

Just an untested idea: What if there is a dynamic array int killer_reliability[MAX_PLY] that measures distances in the search tree and is initialised in the root with killer_reliability[0] = 100 and in each node (at ply) when we make the first move set killer_reliability[ply + 1] = killer_reliabilit...
by Harald
Wed Dec 26, 2018 7:36 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: fast(er) movegen
Replies: 34
Views: 9425

Re: fast(er) movegen

Here is a little piece of history that partly matches this topic: Search found 1 match: +Bitboard +methods +compared with author Harald: http://talkchess.com/forum3/viewtopic.php?f=7&t=16002&p=140111&hilit=Bitboard+methods+compared#p140111 Maybe I find an old zipped source of the old test engine Ele...