Source: https://webdocs.cs.ualberta.ca/~darse/Papers/IJCAI03.pdf