1

Practice question: infer from X reduces to Y

Hi there, I am having trouble understanding the relation of X and Y when problem X is reducible to Y.

In the question in the picture, I especially don't understand why a and b are not correct, if X is no harder than Y, then Y is at least as hard as X (?), then if X is NP-complete, wouldn't Y be at least NP-complete too?

Thank you

(question source: https://introcs.cs.princeton.edu/java/55intractability/)

templatetypedef
  • 328,018
  • 92
  • 813
  • 992
Fores
  • 15
  • 3

1 Answers1

1

It might help to reason by analogy here. Rather than thinking about problems and reducibility, let’s talk about people and how fast they run.

Let’s define SO to be all the people who use Stack Overflow, and then define someone to be SO-fast if they can run at least as fast as anyone who uses Stack Overflow. We can then say that someone is SO-complete if they use Stack Overflow (they’re in SO) and also can run at least as fast as anyone on Stack Overflow (they’re SO-fast).

Now, suppose that X can run no faster than Y and that Y is SO-complete. Does that mean that X is definitely SO-fast? Probably not. All we know that X can’t outrun someone who can run as fast as everyone on Stack Overflow. Maybe that means X can run just as fast as Y and is therefore also SO-fast, but it’s more likely that X isn’t nearly that fast. So, reasoning by analogy, do you see why option (a) is incorrect?

Next, suppose X can run no faster than Y and that X is SO-complete. Does that mean that Y is SO-complete? The answer is no. I’m going to assume that Usain Bolt is not a Stack Overflow user, but I can guarantee you that Usain Bolt can outrun anyone on Stack Overflow. That means that Usain Bolt is SO-fast, but not SO-complete. Remember that SO-completeness has two components: you have to be fast, but you also have to be a Stack Overflow user. Knowing you can outrun the fastest Stack Overflow users says nothing about whether you yourself are on Stack Overflow. Does that account for why option (b) is incorrect?

Hope this helps!

templatetypedef
  • 328,018
  • 92
  • 813
  • 992