Научная статья на тему 'Why stem?'

Why stem? Текст научной статьи по специальности «Философия, этика, религиоведение»

CC BY
80
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
STEM / ТЕОРИЯ ВЫЧИСЛЕНИЙ / ВЫПОЛНИМЫЕ АЛГОРИТМЫ / NP-ПОЛНЫЕ ЗАДАЧИ / THEORY OF COMPUTATION / FEASIBLE ALGORITHMS / NP-COMPLETE PROBLEMS

Аннотация научной статьи по философии, этике, религиоведению, автор научной работы — Kosheleva Olga, Kreinovich Vladik

Is the idea of combining science, technology, engineering, and mathematics into a single STEM complex a fashionable tendency, as some educators think or is there a deep reason behind this combination? In this paper, we show that the latest developments in Theory of Computation make such a union necessary and desirable.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Почему STEM?

Является ли идея объединения науки, технологии, инженерии и математики в единый комплекс STEM модной тенденцией, как думают некоторые педагоги, или за этим стоит глубокий смысл? В этой статье мы показываем, что последние разработки в теории вычислений делают такой союз необходимым и желательным.

Текст научной работы на тему «Why stem?»

Mathematical Structures and Modeling 2019. N. 2(50). PP. 99-106

UDC 510.5 : 378 DOI: 10.25513/2222-8772.2019.2.99-106

WHY STEM?

Olga Kosheleva

Ph.D. (Phys.-Math.), Associate Professor, e-mail: [email protected]

Vladik Kreinovich Ph.D. (Phys.-Math.), Professor, e-mail: [email protected]

University of Texas at El Paso, El Paso, Texas 79968, USA

Abstract. Is the idea of combining science, technology, engineering, and mathematics into a single STEM complex a fashionable tendency, as some educators think — or is there a deep reason behind this combination? In this paper, we show that the latest developments in Theory of Computation make such a union necessary and desirable.

Keywords: STEM, theory of computation, feasible algorithms, NP-complete problems.

1. Why STEM?

In the past, teaching math and teaching science were different topics, somewhat related, but largely independent. Nowadays, however, it is fashionable to consider teaching all STEM disciplines — science, technology, engineering, and math — as a whole.

But why? Is there a real reason why, e.g., science and math should be studied together — or it is simply fashion, and in a few years, a new trend will replace this one?

In this paper, we show that there is actually a good reason to combine different disciplines, and this reason comes from the latest developments in theory of computation.

2. What Is Theory of Computation: A Brief Reminder

To explain the relation, let us briefly describe what theory of computation is about; see, e.g., [1,2].

Computations research is, by definition, an applied discipline. The ultimate goal of designing new computers and new algorithms is to solve real-life problems.

Whenever a researcher comes up with a new algorithm, he or she tries to make it as general as possible, so that this algorithm can be used in other (similar) situations as well. This tendency can be traced in all aspects of human activity:

• People did not invent a car just to go from a specific place A to a specific place B: the purpose of the car is to bring us from any point to any other point — as long as there is a road.

• Similarly, Edison did not just invent a lamp to light his own desk — his lamps could be used everywhere.

This desire for generality is reasonable but, if we generalize too much, we end up with a problem which may be impossible to solve at a current technological level. A car that travels along any road is possible to make, but if we want it also to connect points across the ocean (or even get to any place on the Moon), that would doom the car-design project.

Because of this danger, it is very important to find out which problems can be solved and which cannot be solved — so that we do not doom our design project from the very beginning by making it impossibly complex. In terms of algorithms, this means that we need to find out when problems can be algorithmically solved and when they cannot. This is one of the main tasks of theory of computation.

This is a difficult task, and it is made even more difficult if we take into account that the mere existence of an algorithm is not enough: if this algorithm requires several billions years to run on a reasonable-size input, this algorithm is of no practical use. What we need is not just algorithms, we need algorithms which are feasible.

3. What Is a Feasible Algorithm: Discussion

This natural and seemingly simple question does not have a good answer yet. What is clear is that for a given algorithm, whether this algorithm is feasible or not depends on its worst-case complexity t(n), i.e., on the largest number of its computational steps for all inputs of size n. If this complexity increases too fast when the size n increases, the algorithm is not feasible; otherwise, it is feasible.

If the time t(n) grows exponentially, e.g., as 2ra, then even for reasonable size inputs n = 300, the number of computational steps becomes so huge that even if we assume that each computational step takes the smallest physically possible time - e.g., the time during which the world's fastest possible process (light) goes through the smallest possible object (elementary particle) — we will still take much more time than the lifetime of the Universe. Clearly, such algorithms are not feasible.

On the other hand, for most known feasible algorithms, the time t(n) is bounded by some polynomial of n: e.g., by a linear function C• n, or by a quadratic function C • n2, or by a cubic function C • n3.

4. What Is a Feasible Algorithm: Resulting Definition

These example led to the current formal definition of feasibility [1,2]: an algorithm is called feasible if there exists a polynomial P(n) for which t(n) ^ P(n) for all n.

Mathematical Structures and Modeling. 2019. N.2(50)

101

5. This Definition Is Not Perfect

The above definition sounds very reasonable, so why did we say that there is no good answer yet? Because a deeper analysis shows that this definition is not perfect.

• Indeed, e.g., t(n) = 10100 ■ n is clearly a polynomial, but clearly not feasible.

• On the other hand, the function t(n) = exp(10-100 ■ n) grows faster than a polynomial, but it is clearly feasible for all realistic sizes n.

The current formal definition of feasibility is not perfect, but it is the best we have — so we will use it in this text.

6. What Is a "Problem"?

As we have mentioned earlier, the main purpose of an algorithm is to solve problems. So, the next natural question is: what is a problem? To answer this question, let us describe problems from different disciplines.

What do mathematicians do? A professional mathematician proves theorems. To a mathematician, a problem is:

• given a statement x,

• find a proof of either the original hypothesis y, or of its negation —y.

Once a proof is presented, it is feasible to check it — of course, this requires it to be a full proof, not a sketch filled with statements "it is not that difficult to prove that". Once we have a full proof, all we need to do is check each step. Humans can do it, even computers can do it — already in the 1960s, when computers were much slower, they were successfully used to check the proofs. In other words, we have a feasible checking algorithm C(x,y), that:

• given x and y,

• checks whether y is indeed a proof — i.e., whether y is indeed a solution to the original problem.

Another requirement is that for a proof to be meaningful, it cannot be too long. This was the problem with the first computer-generated proofs: they were so long that no one could check them. What does "not too long" mean? Same as what feasible computations mean — that the length len(y) of y cannot exceed some polynomial of the length of x: len(y) ^ L(len(x)), for some polynomial L(n).

What do physicists do? In a nutshell:

• physicists are given the data x, and

• they want to find a law y that explains all this data.

This is what Newton did when we came up with a formula that explains all gravity effects, this is what Ohm did when he came up with his famous Ohm's law. Once the law is found, it is relatively easy to check that all the given data fit this law — it may be cumbersome but it is definitely doable, and computers can sure do it. So, in this case, we also have a feasible algorithm C(x,y) for checking whether y is a solution. We also have a limitation of the length of y: namely, we must have len(y) < len(x), because otherwise, we can simply list all the data x and call it a law.

What do engineers do?

• Engineers are given specifications x, e.g., specifications for a bridge, and

• they need to find a design y that satisfies all these specifications.

Nowadays, checking that all specifications are satisfied — e.g., that the bridge will not collapse under a hurricane-strength winds — is feasible: just run a simulation program. This does not mean that engineer's work is easy:

while checking a design is relatively easy,

coming up with the design is often very difficult - especially taking into account that there are usually severe constraints on the cost.

Here also, there is a limitation on the length of y, this time caused by the fact that this design has to be practically implemented.

Summarizing. These and other examples lead to the following formal definition of a problem (see, e.g., [1,2]).

7. A Formal Definition of a (General) Problem

• A general problem can be defined as a pair (C,L), where C is a feasible algorithm, and L is a polynomial.

An instance of this problem is:

- Given a string x,

- Find a string y for which C(x,y) is true and len(y) ^ L(len(x)).

8. Terminological Comment

In theory of computation, general problems have a special (somewhat weird) name, motivated by the fact that in this theory, in addition to normal (deterministic) computational devices like finite automata, it is often useful to consider fictitious "non-deterministic" devices, in which as part of a computation, we are allowed to make guesses.

In these terms, solving a general problem is a good example of non-deterministic polynomial-time computations:

Mathematical Structures and Modeling. 2019. N.2(50)

103

• once we have guessed a solution y,

• we can check, in polynomial (= feasible) time that our guess is indeed a solution.

As a result, the class of all general problems is denoted NP, short for Non-deterministic Polynomial.

9. Additional Comment

Are there problems outside the class NP? Definitely.

One example is optimization problems, when we are not just looking for a design that satisfies the given specification, but we are instead looking for the cheapest of such designs. There is often no easy way to check that the presented design y is indeed the cheapest. The only practical way is to try all possible designs — but there are usually astronomically many of them.

Another case is games like chess. What we want in such games is not a simple design, but a strategy that will enable us to win no matter what moves the opponent makes. There is no easy way to check that, short of trying all possible opponent's strategies - and there are unrealistically many of them.

So yes, there are real-life problems outside the class NP. However, most reallife practical problems are in NP.

10. Which Problems Are Tractable And Which Are Not?

Some problems from the class NP can be solved by a feasible (i.e., polynomial-time) algorithm. For example, if we have a list of numbers, we can sort it in increasing order by using a simple polynomial-time algorithm. The class of all such tractable problems is usually denoted by P, short for Polynomial-time.

Interestingly, no one was able to prove that there exist problems which are not in the class P, i.e., that the class NP is indeed different from its tractable subclass P. This is the famous "is P = NP" question.

Most computer scientists, however, believe that these two classes are different, so we will follow this belief in this paper. While we do not know whether any of the problems from the class NP are more difficult than P, we do know that some problems from the class NP are the most difficult in this class — namely, that every problem from the class NP can be reduced to this particular problem. Such problems are known as NP-complete, or intractable.

11. General Problems of Mathematics, Physics, Engineering Are All Provably Intractable

Many practice-related general problems have been proven to be NP-complete (intractable). For example,

while there exist feasible algorithms for solving systems of linear equations,

solving systems of quadratic equations is already known to be intractable. Similarly, general problems of:

mathematics (proving theorems), physics (finding a law that matches all the data), engineering (finding a design that satisfies all the specifications) — all these general problems have been proven to be NP-complete.

12. What Is The Practical Consequence of This NP-Completeness?

OK, we have a nice and somewhat gloomy theoretical result. Can be conclude anything from this result other than that life is tough?

Actually, we can. Remember that NP-completeness of a problem means that every other problem from the class NP can be reduced to this problem. So, if we have an efficient algorithm for solving one NP-complete problem, then, by reducing all other problems to this one, we can get a feasible algorithm for solving all other problems.

For example, if we are good in solving math problems, we can thus solve problems from physics and from engineering. This is not as counter-intuitive as it may seem: this is what scientists have been doing for centuries: using math to solve physical problems.

Vice versa, if we are good in solving physics problems, we can thus solve problems from mathematics. This may sound even less intuitive, but again, engineers have been doing this for decades: to solve a mathematical problem, we can emulate it by real physical processes. Such analog computers have indeed been very successful.

13. So We Need STEM!

All this bring us back to the original question: do we need STEM combination? Is it a natural combination? In pragmatic terms, does it help us solve problems?

As we can see from the above text, our answer is enthusiastically Yes!

Once we have mastered solving mathematical problems, due to NP-completeness, we this gain a new way to solve problems in physics and engineering.

Once we have mastered solving physics problems, due to NP-completeness, we this gain a new way to solve problems in mathematics and engineering.

Once we have mastered solving engineering problems, due to NP-completeness, we this gain a new way to solve problems in physics and mathematics.

Mathematical Structures and Modeling. 2019. N.2(50)

105

It thus makes sense to study all these subjects in coordination, emphasizing the relation between them, emphasizing how they help each other.

14. On Second Thought, Did We Say Anything New?

Such inter-twining of physics, mathematics, and engineering is already well known and well used in teaching: for example,

some calculus problems are easier to solve by symbolic manipulations, while

other problems become easier to solve if we realize that these seemingly abstract mathematical problems can be reformulated in intuitively understandable physical terms.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Similarly:

some physical problems are easier to solve by considering the corresponding physics, while

for other problems, it is easy to write down and solve the corresponding equations.

So, did we say anything new? Or did we use complex notions from theory of computation to confirm that two plus two is four?

15. Yes, We Did

At first glance, it may sound as if theory of computation just provides a fancy and unnecessarily complex way to saying what we knew from the very beginning: that, e.g., math and physics can help each other.

But a deeper analysis of NP-completeness shows that its consequences go way beyond this simple conclusion:

• Yes, we know that sometimes, reformulating a math problem in physics terms (or vice versa) helps. In teaching terms, this means that sometimes, it is nice to cross-reference the corresponding classes.

On the other hand, NP-completeness results means that once we have an efficient algorithm for solving problems from one class, we automatically get a new algorithm for solving problems from other class as well. In other words, by using a slight exaggeration, we can say that reformulating a math problem in physics terms (or vice versa) always (and not just sometimes) helps — at least potentially. In teaching terms, this means that it makes sense to consider teaching mathematics, physics, and engineering together, as a single entity.

16. What Needs to Be Done

We have shown:

that the STEM combination is based on a natural idea,

that this combination is potentially very helpful to all the related disciplines, and

that there are indeed examples of such help.

What we need to do is to explore this potential even more, to provide new examples showing the students how their progress in one of these disciplines helps them solve problems in all other related areas.

Acknowledgments

This work was supported in part by the US National Science Foundation grant HRD-1242122 (Cyber-ShARE Center of Excellence).

The authors are thankful to Dr. Mourat Tchoshanov for his encouragement and valuable discussions.

References

1. Kreinovich V., Lakeyev A., Rohn J., and Kahl P. Computational Complexity and Feasibility of Data Processing and Interval Computations. Kluwer, Dordrecht, 1998.

2. Papadimitriou C.H. Computational Complexity. Pearson, Boston, Massachusetts, 1994.

ПОЧЕМУ STEM?

О. Кошелева

к.ф.-м.н., доцент, e-mail: [email protected] В. Крейнович

к.ф.-м.н., профессор, e-mail: [email protected]

Техасский университет в Эль Пасо, США

Аннотация. Является ли идея объединения науки, технологии, инженерии и математики в единый комплекс STEM модной тенденцией, как думают некоторые педагоги, или за этим стоит глубокий смысл? В этой статье мы показываем, что последние разработки в теории вычислений делают такой союз необходимым и желательным.

Ключевые слова: STEM, теория вычислений, выполнимые алгоритмы, NP-полные задачи.

Дата поступления в редакцию: 14.01.2019

i Надоели баннеры? Вы всегда можете отключить рекламу.