Live data from Hacker News

Ask HN: Solving problems by mapping to other problems that we know how to solve

news.ycombinator.com

41–50 of 81 posts

Re: Ask HN: Solving problems by mapping to other problems that we know how to solve

#41
post #35

That’s called Mathematics. For example, most NP-complete problems we know of were proven to be NP-complete by showing them to be no easier than some other problems we know to be NP-complete. https://en.wikipedia.org/wiki/NP-completeness#NP-complete_pr... : “The easiest way to prove that some new problem is NP-complete is first to prove that it is in NP, and then to reduce some known NP-complete problem to it” As a se…

Agree with this. And I guess a more “applied” branch of science that covers this would be Computer Science in the area of Computational Complexity (https://en.m.wikipedia.org/wiki/Computational_complexity_the...)

See for example the section on Complexity classes wrt the P/NP/Pspace class problems mentioned above

Re: Ask HN: Solving problems by mapping to other problems that we know how to solve

#42
I own a book that may be relevant: "Bypasses: A Simple Approach to Complexity" by Z. A. Melzak, (New York, Wiley, 1983) 0-471-86854-X, or maybe it's too theoretical.

A borrowable digital copy is at the Internet Archive: https://archive.org/details/bypasses00zdzi

Re: Ask HN: Solving problems by mapping to other problems that we know how to solve

#44
From “The Origin of Consciousness in the Breakdown of the Bicameral Mind”:

“Understanding a thing is to arrive at a metaphor for that thing by substituting something more familiar to us. And the feeling of familiarity is the feeling of understanding.”

“Understanding in science is the feeling of similarity between complicated data and a familiar model.”

“The Bohr model of the atom is that of a proton surrounded by orbiting electrons. It is something like the pattern of the solar system, and that is indeed one of its metaphoric sources.”

Re: Ask HN: Solving problems by mapping to other problems that we know how to solve

#45
post #44

From “The Origin of Consciousness in the Breakdown of the Bicameral Mind”: “Understanding a thing is to arrive at a metaphor for that thing by substituting something more familiar to us. And the feeling of familiarity is the feeling of understanding.” “Understanding in science is the feeling of similarity between complicated data and a familiar model.” “The Bohr model of the atom is that of a proton surrounded by orb…

"Young man, in mathematics you don't understand things. You just get used to them." - (supposedly) von Neumann

Re: Ask HN: Solving problems by mapping to other problems that we know how to solve

#46
This is very fundamental not only in maths but in theoretical computer science in general. Even to prove how "hard" a problem is. E.g. look into (Turing/many-one) reductions [1]

Many problems can be reduced to SAT and then you can employ an off-the-shelf SAT/SMT solver to solve it for you. Etc etc.

But in general, being able to reduce problem A to problem B implies that A is not harder than B. I.e., to show that a problem P is undecidable, you can reduce the Halting problem to P.

TSP is NP-hard and can be reduced to SAT, then solved with a SAT solver. But something like determining whether a player has a winning strategy in unrestricted chess (with an nxn board, for arbitrary n) is in EXPTIME and can't be reduced to an "easier" problem.

Edit: Someone ITT also mentioned ILP (integer linear programming). Also a good example. E.g., many optimization programs can be mapped to ILP.

[1] https://en.wikipedia.org/wiki/Turing_reduction

Re: Ask HN: Solving problems by mapping to other problems that we know how to solve

#47
Everyone already mentioned mathematics but I'd also like to mention Operations Research as a field that's basically all about translating complex business problems into mathematical models that can be efficiently solved.

In practice this almost always means translating to the formats used by (Mixed) Integer Programming (MIP) solvers, Constraint Programming (CP) solvers or SAT solvers.

Satisfiability Modulo Theories (SMT) solvers are used more in the formal verification realm, but they can also be used for the same purpose, the problems solved by these tools are all NP-complete so you can with more or less effort translate any NP problem to them.

Re: Ask HN: Solving problems by mapping to other problems that we know how to solve

#48

From what I’ve understood of category theory that sounds like exactly what you are looking for. I would recommend listening to the latest 3b1b podcast where Grant interviews Tai-danae Bradley who studies category theory, really fascinating. https://en.m.wikipedia.org/wiki/Category_theory https://open.spotify.com/episode/6v01kNIPZZTmQk483nFy3H?si=8...

Another category theory resource you may find interesting is Category theory for programmers by Bartosz Milewski. He also has a great video course on youtube. If you want a taste of what category theory is, you can checkout his interview on corecursive.

https://github.com/hmemcpy/milewski-ctfp-pdf

Re: Ask HN: Solving problems by mapping to other problems that we know how to solve

#49

Everyone already mentioned mathematics but I'd also like to mention Operations Research as a field that's basically all about translating complex business problems into mathematical models that can be efficiently solved. In practice this almost always means translating to the formats used by (Mixed) Integer Programming (MIP) solvers, Constraint Programming (CP) solvers or SAT solvers. Satisfiability Modulo Theories (…

And similarly relevant, using a solver independent modelling language like [MiniZinc](https://www.minizinc.org/) means that it is possible to write a model, and then translate it formats suitable for use with MIP, CP, and SAT solvers.

Re: Ask HN: Solving problems by mapping to other problems that we know how to solve

#50
You might be interested in the concept of "duality" often used in e.g. theoretical physics: https://en.wikipedia.org/wiki/Duality_(mathematics)

If you want to be even more general, check out a field of mathematics called category theory (https://en.wikipedia.org/wiki/Category_theory). Its' central idea is to describe mathematical structures in terms of "objects" and their relationship with each other (called morphisms). I'm not extremely knowledgeful in this subject, but I believe mostly everything you get out of categorical theoretical treatment is too generic to be useful, but has resulted in some real results in e.g. algebraic geometry.

Post reply on HN