12 ms·
The OP has: > The million-dollar question posed by P vs. NP is this: Are these two classes of problems one and the same? Which is to say, could the problems
by graycat 5y ago
The OP has:
> The million-dollar question posed by P
vs. NP is this: Are these two classes of
problems one and the same? Which is to
say, could the problems that seem so
difficult in fact be solved with an
algorithm in a reasonable amount of time,
if only the right, devilishly fast
algorithm could be found? If so, many
hard problems are suddenly solvable. And
their algorithmic solutions could bring
about societal changes of utopian
proportions—in medicine and engineering
and economics, biology and ecology,
neuroscience and social science, industry,
the arts, even politics and beyond.
Okay, I'd like to have a list of such
problems! Yes, some of them are
'intractable', but not all.
But we are not attacking the problems that
are solvable easily enough now and that
would
"bring about societal changes of utopian
proportions—in medicine and engineering".
We are not solving such problems because
too few of them exist, that is, mostly the
problems don't exist.
Here's what we can do now and have been
able to do easily enough for decades:
The challenge of P versus NP is for (1)
exactly optimal (for optimization
problems) solutions to (2) worst case
problems in (3) polynomial time.
But if we will settle for 99+% of the
savings of optimal solutions for
problems that are not worst case but still
constitute nearly all the practical
problems in reality, then usually we can
do well.
E.g., 0-1 integer linear programming
problems are in NP-complete. The last
such problem I attacked had 40,000
constraints and 600,000 variables. I
found a feasible solution within 0.025% of
optimality in 900 seconds on a single
processor computer using ordinary linear
programming and some non-linear duality
theory.
Blunt, practical fact: In practice, there
just are not many practical NP complete
optimization problems that people want
solved. For practical NP-complete
optimization problems, we can usually do
well, save nearly all the money to be
saved with an optimal solution, for
reasonable effort, but, in practice, we
don't do that very often because there are
not many people with such problems who
want such solutions -- for the savings,
they just don't care enough even to pick
up a phone.
The claim that an algorithm that shows
that P = NP would
"bring about societal changes of utopian
proportions—in medicine and engineering
..."
is just not true -- the economy does not
have many such problems. If the problems
were there, then people would be
successfully attacking those problems now;
the "utopian proportions" would create
some recruiting. But the recruiting is
not there. Over decades sending many
hundreds of resume copies showing such
problem solving abilities yields no
responses. A person good at such
optimization faces deep and profound
unemployment -- they just CANNOT be hired,
at any price, are just NOT wanted. Quite
literally, they would have a better
career, e.g., make more money, with a
simple, ordinary grass mowing service --
no joke or exaggeration.
For the problem with 40,000 constraints
and 600,000 variables, I got that via
email from two guys, a CEO and his buddy.
The buddy had tried simulated annealing,
run for days, and quit without knowing how
close the results were to optimality.
Getting the problem via email, in two
weeks I did the non-linear duality
derivations and wrote and ran the
software, for free. Via email I sent the
news of success back to the CEO. He was
totally not interested: My success would
have embarrassed his buddy, and that meant
that my work was not wanted, even for $1.
Blunt fact: Not many people have
any interest at all, and of those
nearly all have very little interest.
Point: The claim
"bring about societal changes of utopian
proportions—in medicine and engineering
..."
is nonsense because the needed people with
the problems are far too few.
- tlb 5y agoIndeed, optimization problems aren't all that exciting because there are usually efficient heuristics that get you 99% of the way there. A useful NP problem is generating code to meet some requirements. Instead of programming, you can write just some tests and get some code that passes them. Deep learning is a computationally feasible way of automatically finding a function that approximately matches some data points, but it doesn't always generalize well. Searching for the shortest program that matches all the data points should generalize better.