As previously stated, the process of creating a private/public key is so complex that the theoretical possibility of collision exists only as a mathematical probability and is practically equal to zero.
That's not quite right. The process of creating a private/public key pair is not that complex and is actually pretty straightforward.
I understand what you mean, but I believe that complexity can be expressed in a variety of ways. As it turns out, a collision resistant hash function that can map data of arbitrary size to data of fixed size is extremely difficult to achieve in mathematics. Therefore, I regard the mathematical function underlying the SHA-256 hash algorithm to be highly complex, despite being computationally incredibly fast.