# How to decide whether a real life problem can be dealt with by computers?

I get that complexity theory will be helpful to decide whether the resources at hand can deal with a mathematical function, but when presented with a non-purely mathematical problem - like building a robot that can cook, drive or make beds - how can we know whether it's feasible?

• This sounds pretty broad and I'm not sure whether it will be answerable reasonable here. Can you narrow it down? – D.W. Jun 15 '20 at 19:59
• @D.W.: an answer could always be limited to the concrete examples that I gave: cook, drive or make beds. The point is that the section reality--formalization, is in my view not covered by complexity classes, which cover formalization--computation. – Quora Feans Jun 15 '20 at 20:09

The way we decide is we try to solve it and see if we are successful; or we look to see whether someone else has solved it (e.g., in the research literature).

Usually the question doesn't really make sense, as it is not well-defined what it means to "solve" or "deal with" a problem. It's not like in mathematics, where it is a crisp black-and-white. Instead, one may need to measure how well computer systems can address the problem, in what contexts they do or don't suffice, what their strengths and limitations may be, and so on.

Normally, the way we assess all of this is through experiments, not mathematics: we try techniques and evaluate how well they work empirically, and see what we can learn from that.

There are already robots (i.e. automated machines) that can cook - every factory in the food processing industry uses a production line to turn raw materials into its finished products. These machines are complex and expensive and only economically viable for large scale food production.

If by "cook" you mean "prepare a healthy and nutritious meal using fresh ingredients available in my kitchen that is not the same as any other meal we have had in the previous week" then that is a much more complex scenario, and is unlikely to be automated in the near future.

Similarly, there are already test vehicles which can drive themselves in a wide variety of situations, so this problem has effectively been solved at a technical level. Cruise control and semi-automated parking are already options for some standard cars, and we are likely to see more and more automation of everyday driving over the next ten to twenty years.

"Making beds" as a daily task has (in my part of the world) largely been superseded by the use of duvets. I only have to "make my bed" when I change the sheets and duvet cover, and the effort involved in that is hardly worth automating. In situations such as hospitals and hotels where beds have to be made and re-made frequently, the solution has been to change bed and mattress design to make the task simpler.

As you say, formal complexity theory has little or nothing to say about these problems, which have technological solutions constrained by market economics rather than computing power.