{"action":"created","issue":{"url":"https://api.github.com/repos/pychess/pychess/issues/57","labels_url":"https://api.github.com/repos/pychess/pychess/issues/57/labels{/name}","comments_url":"https://api.github.com/repos/pychess/pychess/issues/57/comments","events_url":"https://api.github.com/repos/pychess/pychess/issues/57/events","html_url":"https://github.com/pychess/pychess/issues/57","id":56345101,"number":57,"title":"Pychess+Darwin","user":{"login":"pychess","id":10670522,"avatar_url":"https://avatars.githubusercontent.com/u/10670522?v=3","gravatar_id":"","url":"https://api.github.com/users/pychess","html_url":"https://github.com/pychess","followers_url":"https://api.github.com/users/pychess/followers","following_url":"https://api.github.com/users/pychess/following{/other_user}","gists_url":"https://api.github.com/users/pychess/gists{/gist_id}","starred_url":"https://api.github.com/users/pychess/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pychess/subscriptions","organizations_url":"https://api.github.com/users/pychess/orgs","repos_url":"https://api.github.com/users/pychess/repos","events_url":"https://api.github.com/users/pychess/events{/privacy}","received_events_url":"https://api.github.com/users/pychess/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/pychess/pychess/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-02-03T07:52:23Z","updated_at":"2015-02-03T07:52:29Z","closed_at":null,"body":"Original [issue 57](https://code.google.com/p/pychess/issues/detail?id=57) reported by [lobais](https://code.google.com/u/lobais/) 2006-10-25\n\nThe pychess eval function is important in many ways.\n\nIt contains a lot of hardcoded point values for different things.\n\n* We took the engine out of context, and made it add a little random to all\npointvalues.\n* We made it play a lot of times against it self\n* Everytime the engine won, the values was frozen, and in the next game,\nthe two engines evalfunctions would be the ones of the winning engine + a\nlittle random."},"comment":{"url":"https://api.github.com/repos/pychess/pychess/issues/comments/72608478","html_url":"https://github.com/pychess/pychess/issues/57#issuecomment-72608478","issue_url":"https://api.github.com/repos/pychess/pychess/issues/57","id":72608478,"user":{"login":"pychess","id":10670522,"avatar_url":"https://avatars.githubusercontent.com/u/10670522?v=3","gravatar_id":"","url":"https://api.github.com/users/pychess","html_url":"https://github.com/pychess","followers_url":"https://api.github.com/users/pychess/followers","following_url":"https://api.github.com/users/pychess/following{/other_user}","gists_url":"https://api.github.com/users/pychess/gists{/gist_id}","starred_url":"https://api.github.com/users/pychess/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pychess/subscriptions","organizations_url":"https://api.github.com/users/pychess/orgs","repos_url":"https://api.github.com/users/pychess/repos","events_url":"https://api.github.com/users/pychess/events{/privacy}","received_events_url":"https://api.github.com/users/pychess/received_events","type":"User","site_admin":false},"created_at":"2015-02-03T07:52:29Z","updated_at":"2015-02-03T07:52:29Z","body":"Original [comment 3.](https://code.google.com/p/pychess/issues/detail?id=57#c3) posted by [gbtami](https://code.google.com/u/gbtami/) 2013-07-01\n\nThe evaluation function of a chess engine has several component. They has some constant values which need to be work together to produce a good final value. Tuning these constant manually is a hopeless task, so developers need some method to find the optimal values. One method can be some \"darwin-like\" system, Thomas was talking about. Last time I read another promising one here: http://remi.coulom.free.fr/CLOP/"}}