AquaRegia
AquaRegia t1_j23wspr wrote
Reply to comment by nmxt in ELI5: How do computers compute gigantic mathematical calculations? by DryEstablishment2
Yes, and that's my point.
AquaRegia t1_j23vf57 wrote
Reply to comment by nmxt in ELI5: How do computers compute gigantic mathematical calculations? by DryEstablishment2
2838393^(72829) is 72,828 multiplications resulting in a number with 469,965 digits. A 64-bit processor can't directly work with numbers larger than 20 digits, which means it'll have to perform multiple operations for a single multiplication.
All in all, it's not enough that modern computers are really fast, if it just tried to brute-force the calculation it'd still take a lot of time.
AquaRegia t1_j23slck wrote
There are often shortcuts that can be used to make the problem easier. For example the fact that:
>(x^(a))^(b) = x^(ab)
Using this knowledge you can break down the exponent in your example, by finding its factors:
>67 * 1087 = 72829
1087 is still a bit large, so we can use another trick:
>x^(a) * x^(b) = x^(a+b)
And for example break it down to:
>500 + 587 = 1087
Using all this we can then perform the calculation:
>(2838393^(500) * 2838393^(587))^(67)
Which is a lot less daunting. It could probably use other rules to break it down further, but this is the general concept.
AquaRegia t1_j9fgrb3 wrote
Reply to comment by Digital-Chupacabra in ELI5: How do you make a computer “dumber?” by [deleted]
In addition to this, OP seems to assume that an "optimal choice" is always an option. In reality, it can be really really hard to make a good AI, so the chess AI you're playing against might actually be "doing its best", because whoever made it couldn't make it any better.