Some AI's, such as some chess players, are extremely well coded and have defeated humans in several matches. But I think that they won simply because computers can make calculations way faster than humans can not because they learned from their opponents.
If you put an AI against itself, who will win? Will the game continue indefinitely or will the game eventually finish because the AI plays randomly?
So, are machine learning and self-learning really possible?