Search found 224 matches

by outAtime
Thu Mar 17, 2011 8:13 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: maximum engine elo
Replies: 4
Views: 1258

maximum engine elo

Would it be fair that most engines reach a stage in development where most if not all changes/additions to the code lead to little or no noticeable improvement? I ask because i feel i have reached a stage after LMR and Mobility where the engine appears to no longer improve. I have tried major change...
by outAtime
Sun Feb 20, 2011 7:31 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Trouble with IID
Replies: 18
Views: 4614

Re: Trouble with IID

I'm having some difficulty because I'm not sure how to check if the hash contains a best move or not. also after the IID search would I return chk_hash(alpha, beta, depth, &h_type, &h_move)? I have the feeling I should only be returning just the move, but again having difficulty with implementation...
by outAtime
Sun Feb 20, 2011 6:15 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Trouble with IID
Replies: 18
Views: 4614

Re: Trouble with IID

ok, that looks more like the implementations im used to seeing. Im still waiting to find out Shawul's idea of IID with no return... he suggests I dont need to return anything or have any conditions... I guess I still dont know :) Sloppy does: /* Get the best move from the hash table. If not successf...
by outAtime
Sun Feb 20, 2011 5:38 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Trouble with IID
Replies: 18
Views: 4614

Re: Trouble with IID

I still think I should be saving the result of this search in move_ordering or something otherwise... hmm, never mind ill wait for the reply. Thanks again.
by outAtime
Sun Feb 20, 2011 5:35 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Trouble with IID
Replies: 18
Views: 4614

Re: Trouble with IID

ok, so from what i can gather you are suggesting i do something so simple as: /* Internal iterative deepening */ { int d; d = (pv_node ? depth - 2 : depth / 2); do_null = FALSE; search(alpha, beta, d, FALSE, TRUE); do_null = TRUE; } seems almost too simple... what am I miss...
by outAtime
Sun Feb 20, 2011 4:45 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Trouble with IID
Replies: 18
Views: 4614

Re: Trouble with IID

This has to be wrong i get compiler errors: /* Internal iterative deepening */ if ( depth >= 5 && h_type == no_info && (pv_node || (!in_check()))) { int d; move_s moves[MOVE_BUFF], best_move = dummy; int bestIID = -INF; d = (pv_node ? depth - 2 : depth / 2); do_null = FALSE; bes...
by outAtime
Sun Feb 20, 2011 4:35 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Trouble with IID
Replies: 18
Views: 4614

Re: Trouble with IID

hmmm... ok well the hash tables are checked in search: /* see what info we can get from our hash table: */ h_score = chk_hash(alpha, beta, depth, &h_type, &h_move); if (h_type != no_info) { switch (h_type) { case exact: return (h_score); case u_bound: return...
by outAtime
Sun Feb 20, 2011 3:18 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Trouble with IID
Replies: 18
Views: 4614

Trouble with IID

I'm having some difficulty because I'm not sure how to check if the hash contains a best move or not. long int chk_hash(int alpha, int beta, int depth, int *type, move_s *move) { /* see what info we can get from our hash tables for the current position. This could be a value we can retu...
by outAtime
Sun Feb 13, 2011 6:54 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Newbie time control
Replies: 7
Views: 1605

Re: Newbie time control

You could try something like this for adding time when the root score drops. think() is the iterative deepening process which calls root_search() so in think(): last_root_score = cur_score; and then in root_search() if root_score > alpha..... alpha = root_score; best_move = moves[i]; cur_score = alp...
by outAtime
Sun Feb 06, 2011 10:10 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Simple question
Replies: 8
Views: 1977

Re: Simple question

Thanks for the suggestion, that idea matches some already added code. so for black: if (board[q] && ((board[q] & 1) == 0)) t++; t += (board[q] && ((board[q] & 1) + 10*(board[q] == wknight))); return t; or no i still need the if (board[q] == wknight) { above t+= .....