...you wrote your own chess engine, encoding all you know about playing chess, then used it to play your games? Assume that the engine has your playing strength when you are playing at your best. So, when you have a hangover or something, you use this engine, and it plays the moves you would make if you had a clear head. Any opinions?
EDIT: i realise this would breach the letter of the TOS, but putting this aside, would it really be cheating?
Originally posted by dfm65I think its good , for me is not call cheating
...you wrote your own chess engine, encoding all you know about playing chess, then used it to play your games? Assume that the engine has your playing strength when you are playing at your best. So, when you have a hangover or something, you use this engine, and it plays the moves you would make if you had a clear head. Any opinions?
Originally posted by dfm65it's an engine= cheating. nuff said. mind you if it had only your playing abiities it might be allowed.
...you wrote your own chess engine, encoding all you know about playing chess, then used it to play your games? Assume that the engine has your playing strength when you are playing at your best. So, when you have a hangover or something, you use this engine, and it plays the moves you would make if you had a clear head. Any opinions?
EDIT: i realise this would breach the letter of the TOS, but putting this aside, would it really be cheating?
but it would be a really cool idea.
fred
Originally posted by dfm65I asked that
...you wrote your own chess engine, encoding all you know about playing chess, then used it to play your games? Assume that the engine has your playing strength when you are playing at your best. So, when you have a hangover or something, you ...[text shortened]... r of the TOS, but putting this aside, would it really be cheating?
http://www.redhotpawn.com/board/showthread.php?threadid=24130
Originally posted by XanthosNZthat's a really interesting case. your computer picked out its best move in a given situation, then you stored that in your database. then later, when confronted by the same situation here, you consult your database, and select the move made by the computer. effectively the computer has made your move for you, but because it was done before you started the current game (i presume), it seems ok, and not cheating.
My computer has played hundreds of games on the playchess server. It has a rating of nearly 2600 right now. I've added those games to my database for use on this site.
That's not cheating is it?
it does suggest a new use for engines though: mapping out - at least partially - offbeat lines in the openings you favour - the lines that don't make it into the databases and books...
Originally posted by dfm65The problem is - when you program a "chess engine" you do not instill your inherent chess abilities on it - you will program it to build a game tree of all possible moves and then give a result or best move.
...you wrote your own chess engine, encoding all you know about playing chess, then used it to play your games? Assume that the engine has your playing strength when you are playing at your best. So, when you have a hangover or something, you use this engine, and it plays the moves you would make if you had a clear head. Any opinions?
EDIT: i realise this would breach the letter of the TOS, but putting this aside, would it really be cheating?
So it would be cheating.
Even if you're a crap programmer...
Originally posted by XanthosNZThat's not cheating. I have a database of over 4 million games. Whether the games were played by humans or computers is immaterial. A few hundred here or there would not make a difference.
My computer has played hundreds of games on the playchess server. It has a rating of nearly 2600 right now. I've added those games to my database for use on this site.
That's not cheating is it?
Even if you had a database that filled a 200Gb hard drive, it still won't help you much beyond the opening phase. And what does a database tell you? It tells you what was moved, how many times, and the eventual win percentage for white. It doesn't tell you what the "best" move is. You still have to decide that for yourself.
From experience I can tell you there are lies, damn lies, and chess database statistics!
Originally posted by Crowleybut if you think about it a little more:
The problem is - when you program a "chess engine" you do not instill your inherent chess abilities on it - you will program it to build a game tree of all possible moves and then give a result or best move.
So it would be cheating.
Even if you're a crap programmer...
when programming it to evaluate the 'best move', i encode how i make that evaluation. thus the program evaluates positions the same way i do, with all flaws and oversights that entails - it's not simply a matter of invoking some magical 'find_best_move' command.
Originally posted by dfm65If you manage to do this, you would have created the first form of A.I.
...you wrote your own chess engine, encoding all you know about playing chess, then used it to play your games? Assume that the engine has your playing strength when you are playing at your best. So, when you have a hangover or something, you use this engine, and it plays the moves you would make if you had a clear head. Any opinions?
EDIT: i realise this would breach the letter of the TOS, but putting this aside, would it really be cheating?
And yes, it would be cheating. Physical and mental fitness is part of the game, IMO.
Originally posted by dfm65OK, firstly, let me say: I don't know too much about game programming. I know some of the theory and I know even less about chess programming.
but if you think about it a little more:
when programming it to evaluate the 'best move', i encode how i make that evaluation. thus the program evaluates positions the same way i do, with all flaws and oversights that entails - it's not simply a matter of invoking some magical 'find_best_move' command.
You won't be coding in the moves to make into the program, because it will take forever. You will program in the chess rules and basic moves.
You have many end states (chekmate). The program will take your starting game state (FEN or whatever) and from there build a game tree. A game tree has all the possible game states from the start to all the possible end states. The program will then assign different values for all the branches of the tree according to which lead to checkmate positions.
Here, a database might also be employed. The program could consult it and assign better values to moves according to what happened in other games, I'm not too sure about this though...
This is what I understand under: how chess engines work.
This means you have no real input in what choice the program makes, it will do it all mathematically in much less time a human can.
Do a google about game trees and chess programming, I'm sure there's lots of info about the subject on the net.
Originally posted by Crowleyi think your comments are valid for people writing chess programs in general. a tree of possible moves is constructed, then pruned using heuristics, and each of the surviving positions is evaluated.
OK, firstly, let me say: I don't know too much about game programming. I know some of the theory and I know even less about chess programming.
You won't be coding in the moves to make into the program, because it will take forever. You will program in the chess rules and basic moves.
You have many end states (chekmate). The program will take your start ...[text shortened]... game trees and chess programming, I'm sure there's lots of info about the subject on the net.
it is how the moves are pruned and how they are evaluated that is key, and you can program those to happen however you want, as long as it complies to the rules of chess. for example, say i think that bishops are worth more, ceteris paribus, than knights, at a ratio of, say, 5:3. i program this into the dfm65 engine, and lo! it nearly always wants to exchange bishops for knights, regardless of whether the position is open or closed, the bishops are good or bad, etc etc. obviously this would be dumb, but i could program my engine that way if i wanted. instead though, i would encode heuristics such as 'bishops are better than knights in open positions' and so on - heuristics i employ in my own play. when i had encoded exactly how i think in pruning moves and evaluating positions, the program should play like me.
If you write a program to play crap chess, it will play crap. Vice Versa.
We're geting off your topic here.
If you design an engine to use your specific criteria - it will still be cheating, because a machine is doing the 'grunt work' for you - meaning - evaluation of a position in a chess game.
Does this answer your question.
Let me give you a scenario:
The project manager / head developer for Fritz8 comes to play here. Can he use Fritz to make his moves? He did do the programming.