Paralysis Analysis - Part 1

According to Wikipedia, Analysis Paralysis is “an anti-pattern, the state of over-analyzing (or over-thinking) a situation so that a decision or action is never taken, in effect paralyzing the outcome”. Now today’s problem analyses the inverse of that expression: Paralysis Analysis. The problem was given by a Computer Science professor at University of Illinois at Urbana-Champaign: is there a way to assign unique digits (but no zeros allowed) to each letter in the expression Paralysis Analysis in such a way that you could split the word Paralysis into two parts whose product would then be the word Analysis? For example, we could have the following assignment:

P=1
A=2
R=3
L=4
Y=5
S=6
I=7
N=8

In which case the word Paralysis would then be the number 123245676 and the word Analysis would be the number 28245676. One way that we could try to split Paralysis in such a case would be the following:

PAR*ALYSIS

Which would be equivalent to:

123*245676=30218148

But that’s way too far off from our target Analysis (or 28245676, hence the absolute difference between the resultant number above and the target would be 1972472). So the question is: can we find an assignment AND a split of the word Paralysis into two parts such that their products is equal to the equivalent number for the word Analysis? And furthermore, if the answer is no, we can’t, then can we find an assignment AND a split of the word Paralysis into two parts P1 and P2 such that the product of P1*P2 is the closest number to Analysis? In other words, we want to minimize |Analysis-(P1*P2)|. Solution in the next post.

Comments

Popular posts from this blog

Advent of Code - Day 6, 2024: BFS and FSM

Golang vs. C#: performance characteristics (simple case study)

Advent of Code - Day 7, 2024: Backtracking and Eval