The question is also how you define a PST for an arbitrary chess variant.
My idea for that was essentially to use mobility instead of a PST as a major component in the evaluation.
The idea behind this is that mobility is a more general concept and the PST score is something of a proxy for it anyway.
Jazz actually constructs a PST as part of its evaluation (which is in principle called at every node),
but I probably wouldn't recommend doing that in general since it's pretty expensive even if you reuse it as much as possible.
yes mobility is a major evaluation term in many variants, but becomes costly without bitboards
Mobility or/and piece square tables are good for a general game playing (GGP) program. History heuristic too.
Btw I tried PST only in Nebiyu ,which has only piece square tables for its eval. I was actually very
optimistic since eval() is very cheap. It didn't perfrom as good as history. PST ordering is perfect for a
1 ply search since it puts moves that maximize eval at the front of the list. However,for searchs with larger
depths, it becomes a _greedy_ algorithm which always tries moves that maximize eval one ply ahead first.
It also suffers from simple tactical bindness. Nb1c3 could be a good move most of the time, but not if there
is a black pawn on d4. History catches that easily.
Ultimately, the goal is to sort moves that lead to better positions higher up in the move list. The idea behind using the PST for move ordering is that the delta(evaluation) is just the change in PSQ for quiet moves. That's not true for pawn moves or situations where non-linear evaluation features are important. It should be possible to take that into account, but then scoring a single move may be as expensive as calculating the evaluation function, which would be much too slow. Still, it may be possible to work out a way to detect "obvious" patterns and implement those in a way that is a net gain. Not for a general variant engine though, there you really do want something that is based more on dynamical information than on static pre-computed data.
Thinking as I type here...
It makes sense. Patterns are such a win in GO even simple handcrafted ones do improve strength a lot.
And the integration with UCT search is very "smooth". Action (move) selection in a position takes into consideration
simulation values (Monte carlo result), online learning (history heuristic), offline learning (patterns)
are all seamlessly integrated with different weighing factors. Same idea could work for chess too but I doubt
patterns would be that important. There is a lot of work done to learn piece values and piece square tables for variants
using TD-leaf. Also for a GGP, you are given the chance to do all three. The game will be described to you in a certain format,
you are then allowed to do offline learning (collecting patterns ,history or selecting other heuristic), then
you can do online learning while playing the game (history heuristic). I like history heuristic more than
PST since it can be used in a GGP and can sometimes yield significant benefits in some games 300 elos!