   looking for better chess evaluation function
  i have been working on a chess engine for fewmonthes by now.it has alpha-beta, PV, Iterative deepening,verified null-prunning.i use, highest victim, lowest attachermove ordering scheme.i recently removed the aspiration windows,because the pruning reached a point wherea -infinity to +infinity windows, arebetter than having to re-search.the engine now reached the point where it can search7-ply with quiescence in an average of 10 sec.(on my 2.0GHz computer)with nearly 3.5x for each additional ply.thats not a record at all, i know.i dont use bitboards.anyways, here is what i want to do next:make a better evaluation function,mine is too lame, (it knows about doubled, isolated,and passed pawns, and importance of castling)it dont have piece-square tables, nor king safety,and mobility evaluation.and it treats openings, middle-games, andend-games the same.i gave my program to some good chess playingfriends, and had the same feedback:its hard to go against it on tactical basis,but you can easily put in bad situations becauseit neglects development, and strategic moves.i really need a good explantion for the implementaionof such stuff:**how can i tell the computer that its inthe opening, middle-game, or end-game stage.a suggested piece-square table for each.**an explantion of terms important to define king safety,and mobility.**better pawn structure evaluation is also important.where can i find such information.any explanations, or links are much apreciated.questions asking for help in evalating functions has been asked beforebut i found no well-explained answers.please help.[edited by - zaidgs on April 8, 2004 7:07:21 AM]