As long as you accept subjectivity, you must also accept that logical inference isn't really useful... because the observer can add rules at any given time - without any logical constraint - thus preferences aren't deterministic... so a random option is as good as it can be.
A recommendation is in the domain of subjectivity, meaning that there is no consensus on the correctness... so, even if the algorithm is faster, its usefulness shouldn't be superior to a random pick based on some matching criteria... which is already as fast as it can be