Search found 95 matches

by maksimKorzh
Tue Aug 11, 2020 8:26 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Using piece-square table score for move ordering
Replies: 1
Views: 167

Using piece-square table score for move ordering

Hi all! I've been playing around with move ordering in my chess engine and tried to apply piece-square positional score evaluation table (knight scores worked best, probably due to being centralizing mostly) to score history moves. Now bearing in mind the fact that history scores are stored as: hist...
by maksimKorzh
Fri Aug 07, 2020 3:39 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: negamax alpha beta search doesn't always return mating score
Replies: 25
Views: 559

Re: negamax alpha beta search doesn't always return mating score

But I'm just wondering - how to implement quiescence search for bruteforce negamax? Like always: search only captures, and assume all non-captures return the current evaluation as score. But this tends to explode; capture-only searches in middle-game positions will have huge minimax trees, because ...
by maksimKorzh
Fri Aug 07, 2020 1:12 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: negamax alpha beta search doesn't always return mating score
Replies: 25
Views: 559

Re: negamax alpha beta search doesn't always return mating score

Mate distance solution actually solved my issue! Thank you so much! I understand that global variables are bad idea, but let's say we drop alpha beta and leave the brute force negamax (this time I wrote it myself, no copypaste): int search(int depth) { if (!depth) return evaluate_position(); int be...
by maksimKorzh
Fri Aug 07, 2020 12:59 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: negamax alpha beta search doesn't always return mating score
Replies: 25
Views: 559

Re: negamax alpha beta search doesn't always return mating score

I mean something like: int quiescence() { if (ply > 3) return evaluate_position(); int best_score = -50000; int eval = evaluate_position(); if (best_score < eval) best_score = eval; // create move list moves movelist[1]; // generate moves for given side to move generate_moves(movelist); // loop over...
by maksimKorzh
Fri Aug 07, 2020 12:33 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: negamax alpha beta search doesn't always return mating score
Replies: 25
Views: 559

Re: negamax alpha beta search doesn't always return mating score

Mate distance solution actually solved my issue! Thank you so much! I understand that global variables are bad idea, but let's say we drop alpha beta and leave the brute force negamax (this time I wrote it myself, no copypaste): int search(int depth) { if (!depth) return evaluate_position(); int be...
by maksimKorzh
Fri Aug 07, 2020 4:13 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: negamax alpha beta search doesn't always return mating score
Replies: 25
Views: 559

Re: negamax alpha beta search doesn't always return mating score

I would say something like: if (score > alpha) { best_sofar = xxx; if (score >= beta) return score; // or return beta for fail hard alpha = score; } Probably better to introduce a ply counter as well, since you only have to update the best_move at ply 0, I assume best_move is the move that you want...
by maksimKorzh
Thu Aug 06, 2020 4:27 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: negamax alpha beta search doesn't always return mating score
Replies: 25
Views: 559

Re: negamax alpha beta search doesn't always return mating score

I would say something like: if (score > alpha) { best_sofar = xxx; if (score >= beta) return score; // or return beta for fail hard alpha = score; } Probably better to introduce a ply counter as well, since you only have to update the best_move at ply 0, I assume best_move is the move that you want...
by maksimKorzh
Thu Aug 06, 2020 3:03 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: negamax alpha beta search doesn't always return mating score
Replies: 25
Views: 559

Re: negamax alpha beta search doesn't always return mating score

Dear community I have a humble help request of more like showing me a path rather than a concrete solution, but still I'll describe the issue. I've created 30+ youtube video series on creating a simple chess engine from scratch. I thought I'm so cool... until reached the negamax alphabeta search......
by maksimKorzh
Thu Aug 06, 2020 1:44 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: negamax alpha beta search doesn't always return mating score
Replies: 25
Views: 559

negamax alpha beta search doesn't always return mating score

Dear community I have a humble help request of more like showing me a path rather than a concrete solution, but still I'll describe the issue. I've created 30+ youtube video series on creating a simple chess engine from scratch. I thought I'm so cool... until reached the negamax alphabeta search... ...
by maksimKorzh
Thu Aug 06, 2020 1:30 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Arena chess error: BytesRead > 0 | LiesThread.Execute terminated
Replies: 7
Views: 233

Re: Arena chess error: BytesRead > 0 | LiesThread.Execute terminated

Guys, I'm sorry for bothering you - the problem was in my engine - it just crashes... (segmentation fault) Here's how you can easily debug a segfault using GDB: http://www.unknownroad.com/rtfm/gdbtut/gdbsegfault.html Obviously GDB))) Thanks for help. You know sometimes you just need a support to ca...