Часть полного текста документа:Запрещенные арифметические операции возможны Геннадий Неверов Из всех услуг, которые могут быть оказаны науке, введение новых идей самая важная. Дж. Дж. Томсон Наука о числах начала формироваться за 2...3 тысячелетия до нашей эры. Изложение арифметики в более или менее современном виде появилось в ХVIII веке. Одними из самых краеугольных и устойчивых правил математики являются правила действий с категориями, знаками бесконечности и нуля. Правила утверждают, что не имеют смысла складывание и вычитание бесконечностей и то же самое нулей, запрещается делить на нуль. Эти правила ни у кого не вызывают возражений, они легко воспринимаются здравым смыслом школьников и академиков. Эти утверждения включены во все учебники и справочники по арифметике и математике. Они крепко вбиты в головы современных людей и, можно сказать, уже закреплены в генетической памяти. Однако, на мой взгляд, это ошибочная точка зрения. Ниже я покажу, что арифметические операции с названными числами возможны. Например, при разработке эвристического алгоритма (одного из многих) решения задачи коммивояжера (The Traveling Salesman Problem) возможны соответствующие ситуации. Напомню, что эта задача с несерьезным названием имеет многочисленные практические приложения, является самой известной задачей класса NP-complete problems (их количество свыше трех тысяч), особенность которого составляет сводимость задач класса друг к другу. Эти задачи не имеют эффективного (полиномиального) алгоритма решения и решаются приближенными и эвристическими алгоритмами. Если же когда-нибудь будет найден полиномиальный алгоритм решения хотя бы одной задачи класса, то весь их сонм будет решаться эффективно. В журнале Scientific American (1984, 7) отмечалось, что решение таких задач современной математике не по силам. Суть The Traveling Salesman Problem в следующем. Имеется сеть городов, коммивояжеру необходимо посетить каждый, заходя в города по одному разу - так, чтобы общая длина пути была минимальной. В терминах теории графов имеется матрица расстояний между вершинами графа, расстояния (дуги) могут быть натуральными положительными числами, бесконечностью или нулем. Появление в искомом пути хотя бы одной дуги, равной бесконечности, делает весь путь бесконечным, а дуги, равные нулю, сокращают путь. Идея алгоритма: выбирать дуги, начиная с первой и аналогично дальше, так, чтобы в строках и столбцах вычеркивались самые плохие дуги, то есть в первую очередь равные бесконечности. При этом в матрице останутся более или менее короткие дуги, которые будут использоваться на дальнейших шагах алгоритма. Последний не находит оптимальный путь, но гарантирует отсутствие провала, если такой шанс есть: в нем не будет дуг, равных бесконечности, или других самых длинных (если такой путь в данной матрице существует). На практике надежные, приближенные к оптимуму решения могут иметь спрос. (Этот алгоритм и другие, упоминаемые в статье, разработаны мною). Так вот, решая задачу шаг за шагом, мы вынуждены подсчитывать на каждом шаге количество бесконечностей в каждой строке и столбце - и выбирать ту дугу, которая уничтожает их максимальное количество, то есть складывать и вычитать бесконечности. Хотя по многовековой теории сумма, например, трех бесконечностей равняется одной бесконечности, у меня эта сумма равна трем бесконечностям. ............ |