Honestly? I feel the hardest thing for a computer to do is to determine that board X is better than board Y. For instance, me having a 7/7 out, and, you having nothing out, is, obviously better for me. But, if you have a 7/7 out that gives +1 to all mobs, and, I have a 9/9 that doesn't, who has it better? That's hard to say. That's just a very basic one, there are much more advanced things, such as RND, etc...
I feel it'll probably get to a point where it can maybe win ~ 50% of the time at rank 18 or so, and, that's where it'll probably die down. The *only* way I see to advance from that would be to make an amazing algorithm to actually be able to state "This board state is better than this other board state" (Which, will be insanely hard on it's own), then, to loop through all possible moves you can possibly make this turn, and, calculate which board is the absolute best for me.
>I did the math here for how long it'd take, but, re-reading it, it was super boring. It ended up taking ~ 20 seconds, assuming you had a setup that could process 1 board per MS per CPU cpre (I.E. in 2MS, it has to generate two sequential boards (Following the rules of Hearthstone to get there), rate them, and, return the highest scoring board), and, that you had six cores that had absolutely no overhead. This also assumed that you were playing in two destined categories "Hand" mode and "Board" mode, where, you can't combo anything from your hand with your board, and, visa-versa, it, finally, also assumed that there were ten cards on the board, five yours, five the opponents, and, you had five cards in your hand.