algorithm – What tasks are difficult / impossible to solve by computational means, but easy enough for a person with his intuition in a reasonable time?

Question:

Computing means also include not only "simple" algorithms, but also artificial neural networks, genetic algorithms, etc., that is, everything that a Turing Machine can solve in a finite time.

That is, the correctness of the solution is easily verified by formal means, but the complexity of the solution, even on modern supercomputers, is such that the computation will take a million (say) years without a guarantee that these computations will ever end. A human decision, though not necessarily easy, is possible in a reasonable time. As an example, I can cite, for example, the problem of finding new types of mosaics from pentagons, which was successfully solved (as many as three times) by a housewife and amateur mathematician Marjorie Rice.

A machine can easily check, that is, a person is not needed to check the correctness:

class AbstractProblemResolver
{
public:
    virtual QByteArray resolve(const QByteArray &problemData) = 0;

    virtual bool check(const QByteArray &solution) const  = 0;
};
//------------------------------------------------------------------
class ConcreteProblemResolver : public AbstractProblemResolver
{
public:
    //выполняется >=1000000 лет без гарантии, что решит
    QByteArray resolve(const QByteArray &problemData) final {
        //TODO: place your code here
    }

    //выполняется меньше, чем за секунду
    bool check(const QByteArray &solution) const final {
        //TODO: place your code here
    }

};

Answer:

Any task first of all has a formulation. And if the formulation of the problem allows you to translate it into machine language, then the problem can be solved by a machine.

In my opinion, if the machine cannot solve this, then the formulation of the problem was insufficient for the machine.

(From Wikipedia:) In the task, the following are distinguished: Elements of the initial (initial) situation of the task Rules for transforming situations Required solution (goal, final situation …) this will depend on the speed of the solution by both man and machine.

And the human brain works primarily under conditions of uncertainty and with the experience of generations. Accordingly, if a problem is solved on a machine for too long (but it is being solved), this problem is related to the architecture of the machine and software, and indicates that the machine was not made to solve this problem, therefore it is possible to make a machine that can solve such problems quickly. Moreover, any machine will not be able to solve the problem if it is not formulated correctly, and a person can sometimes see the incorrectness of the formulation. Also, any problem can be complicated by a formulation so that any machine will solve it for an infinite amount of time, and a person will solve it quickly. For example, slipping a part of false data (or making a different formulation of the initial data for a person and for a machine). For example: (For a person – Three sparrows sat on the water, one of them flew away, how long to sit) (For a machine – an array of all atoms and molecules of these sparrows, water and all the laws of physics …)

So, the difference between a man and a machine always remains the same – this is a rather strong uncertainty in the formation of the brain. Only when machines are able to model this world well enough (up to all laws) then they will be equal to humans in creativity and problem solving.

Scroll to Top