So I know that 'h' and 'f' will be pruned, but I'm not sure about 'k' and 'l'.
When we visit 'j', technically there is no need for us to visit 'k' and 'l' because there are 2 options:
- one or two of them might be higher than 8 ('j')
- both of them less than 8
But no matter what, the decision of the max(root) will not change, the max will choose the right side no matter what 'k' and 'l' are, because the right side will either be 8 or 9, which is still higher than 4 (returned value from left side)
so will alpha beta prune 'k' and 'l' or not? if not, then it means alpha beta is not "optimal" overall right? considering it will not prune all the unnecessary paths.