  Mahjong is a complex game with an intractably large state space with
extremely sparse rewards, which poses challenges to develop an agent to play
Mahjong. To overcome this, the ShangTing function was adopted as a reward
shaping function. This was combined with a forward-search algorithm to create
an agent capable of completing a winning hand in Single-player Mahjong (an
average of 35 actions over 10,000 games). To increase performance, we propose a
novel bonus reward shaping function, which assigns higher relative values to
synergistic Mahjong hands. In a simulated 1-v-1 battle, usage of the new reward
function outperformed the default ShangTing function, winning an average of
$1.37 over 1000 games.
