Журналы
Email: Пароль: Войти Регистрация
E-mail: kosov@NK1022.spb.edu

Доктор физико-математических наук, профессор, заведующий кафедрой информатики математико-механического факультета Санкт-Петербургского государственного университета.

Статьи автора:

Автор обращает внимание на то, что язык дискретной математики "более точно подходит для описаний, которые может преобразовывать компьютер", поэтому многие задачи и теоремы, которые раньше считались экзотическими, в последние несколько десятилетий привлекают больше внимания.
Статья написана в соавторстве с А.Н. Тереховым и С.М. Селеджи. Статья содержит краткий исторический обзор на тему компьютеризации факультета и, естественно, сведения о работе отделения информатики в последние годы, об успехах наших студентов на чемпионатах мира по информатике среди команд университетов, о перспективах выпускников отделения информатики. Пока журнал готовился к печати, из Атланты пришло сообщение, что команда математико-механического факультета СПбГУ заняла 2 место в финале чемпионата мира по программированию среди университетов. Никогда еще ни одна российская команда не добивалась такого успеха!
Статья посвящена проблемам доказательства полиномиальной вычислимости функций, другими словами, доказательства принадлежности функций классу FP. Доказательства могут производиться с помощью паскалевидных функций, которые более удобны программистам, чем модели вычислений, основанные на машине Тьюринга. Будет приведена идея доказательства теоремы, что если не только число шагов вычисления паскалевидной функции, но и размер записи всех промежуточных вычислений не превосходят полинома от длины записи исходных данных, то эта функция принадлежит классу FP и обратно.

The paper is devoted to the problem of proving that some function is in FP complexity class. Such proofs may use pascal-like functions, that are more easy for programmers, than computation models based on a Turing machine. It will be presented the idea of proof of the theorem, that if both the number of steps of pascal-like function evaluation and a size of all intermediate evaluations are not greater than some polynomial of the length of initial data, then this function is in FP and vice versa.

Ключевые слова: P, FP, NP, машина тьюринга, паслкалевидные функции, NP-полнота, NP-трудность, примеры NP-полных задач.
Keywords: P, FP, NP, Turing machine, pascal-like functions, NP-full, NP-complete, NP-complete functions examples.
В [3] даны определения числа шагов и длины записи промежуточных вычислений паскалевидных функций. С их помощью было получено представление класса всех функций, вычислимых на машинах Тьюринга за число шагов, ограниченное сверху полиномом от длины записи исходных данных (класса FP), с помощью дважды полиномиальных (то есть полиномиальных по числу шагов и по длине записи промежуточных вычислений) паскалевидных функций. Для удобства доказательства принадлежности паскалевидной функции классу FP здесь введено понятие паскалевидных функций над списком S паскалевидный функций. Для этих функций даны определения числа шагов и длины записи промежуточных вычислений, наконец, определены дважды полиномиальные паскалевидные функции над списком S. (для каждой функции из S число шагов и длина записи промежуточных вычислений равны единице). Функции из S соответствуют базовым подпрограммам. Доказывается теорема о совпадении класса дважды полиномиальных паскалевидных функций над S и класса FP.

[3] gives definitions of time and space comlexity of pascal-like functions. Using this definitions it was obtained the representation of the class of all functions computable by Turing machine in time upper bounded by the polynomial of the length of the initial data (FP class) by means of double polynomial (i.e. polynomial in time and space) pascal-like functions. For the convinience of proving that a pascal-like function is in FP, we introduce the notion of the pascal-like functions over a list S of pascal-like functions. For such functions we give definitions of time and space complexities, finally, we define double polynomial pascal-like functions over a list S. (for every function in S, time and space complexity are equal to one). Functions from S correspond to basic subroutines. The theorem about the equality of the class of double polynomial pascal-like functions over S and the FP class is proved.

Ключевые слова: верхние оценки числа шагов, машины Тьюринга, класс FP, функции языка Паскаль.
Keywords: Upper bounds for time complexity, Turing machine, FP complexity class, functions of pascal programming language.
Вводятся алгоритмы Маркова-Турчина как обобщение алгоритмов, введённых автором в [5], и являющиеся существенной модификацией программ, написанных на языке рефал-5. Предлагается критерий их эффективности для реализации на машине Тьюринга за полиномиальное число шагов. Этот критерий не использует ограничения памяти, в отличие от того, как это было установлено в [3] для дважды полиномиальных программ на языке рефал-5. Критерий основан на специального вида рекурсии в программах, являющейся существенным обобщением хвостовой рекурсии, предложенной Т. Борландом для программ на турбо прологе. Это обобщение связано с основным типом данных в языке рефал-5, представляющем собой древовидно структурированные тексты посредством круглых скобок. Для алгоритмов Маркова-Турчина (со встроенным динамическим интерпретатором) просто доказываются некоторые модификации теорем теории сложности алгоритмов, полезные для математиков-программистов. Иначе говоря, вводится математическое понятие алгоритма, модифицирующее (в основном, упрощающее, а также объединяющее в единый алгоритм все вспомогательные алгоритмы с помощью использования встроенного интерпретатора) понятие рефал-5 функции, введённой В.Ф. Турчиным (см., например, [2, 6]), в частности, путем расширения понятия нормального алгоритма А.А. Маркова на древовидно оформленные тексты с помощью структурных (круглых) скобок. Введение встроенного динамического интерпретатора (в терминологии В.Ф. Турчина – расширения встроенной метауниверсальной функции), вычисляющего применение любого алгоритма с динамически полученной его записью к исходным данным, является существенным расширением понятия алгоритма Маркова. Известно, что на практике алгоритмы и исходные данные ограничены по длине. В статье также доказываются теоремы о вариантах проблемы применимости алгоритмов Маркова-Поста с учётом этого обстоятельства. Точнее, доказываются нижние оценки длины программ, разрешающих проблему применимости коротких программ к коротким данным на языке алгоритмов Маркова-Турчина (со встроенным динамическим интерпретатором). С. 41-49.

Refal5 functions and introduced by the author in [5] Markov-Turchin algorithms are under consideration in the paper. Such an algorithm is an essential modification of a Refal5 program. The test of its polynomial efficiency for the Turing machine implementation of such a program is offered. This test does not use the bound on the used memory size as it was stated in [3] for double polynomial Refal5 programs. The test is based on a special kind of recursion in a program which is an essential generalisation of a tail recursion proposed by T. Borland for a Turbo Prolog program. This generalisation is connected with the main Refal5 data type: a tree-like text structured by means of brackets. For a Markov-Turchin algorithm (with a built-in dynamical interpreter) some modifications of complexity theory theorems useful for mathematicians-programmers have simple proofs. In other words an introduced here mathematical notion of an algorithm modifies (mainly simplifying and combining into a single algorithm all needed auxiliary algorithms with the use of the built-in dynamical interpreter) the notion of a Refal5 function introduced by V.F. Turchin (see, for example, [2, 6]). This modification is, in particular, an extension of the Markov algorithm notion for tree-like formed texts with the help of structural brackets. The introduction of the built-in dynamical interpreter (in the terminology of V.F. Turchin – the extended built-in meta-universal function) computing an application of any dynamically received algorithm to the input data is an essential extension of the Markov algorithm. It is known that in practice algorithms and the initial data have bounded lengths. Theorems on variants of the halting problem for the Markov algorithm with such a restriction are proved in the paper. More precisely, lower bounds of the length of a Markov-Turchin algorithm (with a built-in dynamical interpreter) for the program checking the halting problem for short programs and short data are proved.

Ключевые слова: машина Тьюринга, полиномиальное число шагов, рефал-5, нормальный алгоритм Маркова, класс сложности FP, проблема применимости алгоритмов к данным.
Keywords: Turing machine, polynomial number of steps, Refal5, Markov algorithm, complexity class FP, halting problem.
Новые методы обучения
Затрагиваются революционные тенденции XX века в формализации математики. Уточняется влияние информатики на преподавание некоторых разделов формализованной математики студентам-информатикам. Предлагаются желательные изменения читаемых математических курсов для студентов-информатиков. Характеризуются специальность и направление «Математическое обеспечение и администрирование информационных систем», разработанные и реализованные, прежде всего, преподавателями математико-механического факультета Санкт-Петербургского государственного университета. Перечисляются учебные пособия, излагающие опыт автора в преподавании некоторых разделов формализованной математики для студентов-информатиков.

Revolutionary trends of the XXth century in mathematics formalization are mentioned. The influence of computer science upon the teaching of some formalized mathematical themes to the computer science students is specified. Desirable changes of mathematical courses for computer science students are offered. Speciality and direction «Mathematical support and administration of information systems» developed and implemented, first of all, by the professors of faculty of mathematics and mechanics of St. Petersburg State University are described. Some text-books describing the author’s experience in the teaching of some formalized mathematical themes to the computer science students are listed.

Ключевые слова: формализация, дискретное моделирование, непрерывное моделирование, алгоритм, сложность алгоритма, FP-SPACE, математическое обеспечение, информатика.
Keywords: formalization, discrete simulation, continuous simulation, algorithm complexity, FP-SPACE, mathematical support, computer science.
Вводятся иерархии классов сложности функций как из FP, так и из FP-SPACE. В статье доказывается теорема о замкнутости классов функций этих иерархий, а также классов функций FP||LIN-SPACE и FP||QLIN-SPACE и классов предикатов P||LIN-SPACE и P||QLIN-SPACE относительно определения рефал-5 функций с ограниченными сверху числом рекурсивных вызовов и величиной использованной памяти. С. 3-8.

Complexity classes hierarchies for functions from both FP and FP-SPACE classes are introduced. Theorems about closure of these function classes of hierarchies as well as the classes of functions FP||LIN-SPACE and FP||QLIN-SPACE and classes of predicates P||LIN-SPACE and P||QLIN-SPACE under the definition of Refal-5 functions with bounded numbers of recursive calls and the used memory size are proved.

Ключевые слова: машина Тьюринга, полиномиальное число шагов, рефал-5, подклассы класса FP-SPACE, подклассы класса FP.
Keywords: Turing machine, polynomial number of steps, Refal-5, subclasses of the class FP-SPACE, subclasses of the class FP.
Язык программирования рефал-5 позволяет решать некоторые важные задачи программирования короче и эффективнее, чем другие языки программирования. Однако существующие реализации диалектов языка программирования рефал не имеют возможности вызова программой встроенного интерпретатора и простого способа подключения внешних библиотек кода. Для устранения этих недостатков было решено разработать новый диалект языка программирования рефал – рефал-5е. Язык рефал-5е поддерживает возможность вызова из программы встроенного интерпретатора, а также добавлена возможность подключения внешних библиотек кода. Также язык программирования рефал-5е позволяет функции возвращать такие значения как «Успех» и «Неуспех», что позволяет расширить возможности использования возврата, как в языке программирования пролог. C. 3-13.

Refal-5 language gives an ability to perform important tasks shorter and more effectively than another programming languages But existing implementations of Refal programming language dialects have no possibility to call a built-in interpreter from a program or to use external code libraries. To overcome these demerits a new programming language Refal-5e is offered. Refal-5e programming language provides an opportunity to call a built-in interpreter from a program and allows to use external code libraries. Also Refal-5e language allows a function to return such result as “Success” or “Failure”, which permits to use backtracking like in Prolog language.

Ключевые слова: рефал-5, трансляция, интерпретация, рефал-5е машина, библиотеки кода, встроенный интерпретатор.
Keywords: REFAL-5, translation, compilation, interpretation, DLL, REFAL-5 machine.
При разработке многократно используемых программ важно, чтобы их выполнение было достаточно быстрым. В книге Ду Д.З. и Ко К.И. сформулирован обобщенный тезис Чёрча: «Функция, вычислимая за полиномиальное время на разумной вычислительной модели, использующей разумное измерение временной сложности, вычислима на детерминированной машине Тьюринга за полиномиальное время» (то есть принадлежит классу FP). Этот расширенный тезис Чёрча более естественно называть полиномиальным тезисом Чёрча для машин Тьюринга. «Разумность» вычислительной модели разными исследователями понимается по-разному, вследствие чего в последнее время всё чаще появляются «доказательства» (содержащие ошибки) знаменитой проблемы: верно ли, что P = NP? При этом шаг различных моделей алгоритмов трактуется интуитивно. В настоящей работе доказано, что «разумность» шага вычисления рекурсивной функции может заключаться в использовании таких рефал-5-предложений из класса FP, длина записи результата выполнения которых (включая длину записи всего изменяемого стека) увеличивается не более чем на константу, единую для всех исходных данных. В этом смысле обычное определение общерекурсивной функции не является «разумной» вычислительной моделью. Достаточно сложным является подсчет числа шагов рекурсивного алгоритма. В настоящей статье доказаны необходимые и достаточные условия полиномиальности по времени функции, реализованной на языке программирования рефал-5. Этот язык является практически реализованным обобщением таких математических моделей алгоритма как нормальные алгоритмы, а также вводимые здесь алгоритмы Маркова-Поста и рекурсивные алгоритмы Маркова-Поста. Поэтому в качестве следствий основной теоремы доказаны условия полиномиальности по времени и этих математических моделей, применимых в теоретических исследованиях. Весьма актуальным является вопрос о возможности доказательства того, что программа, написанная на языке рефал-5, задает полиномиально быструю функцию, то есть функцию, принадлежащую классу FP. В статье вводится понятие дважды полиномиальных рекурсивных вызовов рефал-5-функции, обеспечивающее решение этого вопроса.

It is important for multiple-used programs that their run be sufficiently quick. Du D.Z. and Ko K.I. have formulated a extended Church thesis: В«A function computable in polynomial time in any reasonable computational model using a reasonable time complexity measure is computable by a deterministic Nuring machine in polynomial timeВ» (i.e. it belongs to the class FP. It is more natural to call this extended Church thesis as a polynomial Church thesis for Turing machine. Different researchers differently understand the term reasonable in consequence of which at the last time many В«proofsВ» (containing mistakes) of the famous problem whether P = FP appear. In such В«proofsВ» a step of different algorithm models treats intuitively. In the present work it is proved that reasonability of a recursive function step may be consisted in the use of such refal-5-sentenses from FP, for which the length of result notation (including the lenth of all stack) increases not more than by additive constant unique for all arguments. In such a sence a usual definition of a recursive function is not a reasonable calculation model. The count of recursive algorithm steps is rather difficult. Nesessary and sufficient conditions of time polynomiality of a function, realized by means of programming language refal-5, are proved in the present paper. This language is a practicaly realized generalization of such mathematical models of algorithm notion as normal algoritm and here introduced Markov-Post algorithm and recursive Markov-Post algorithm. That is why conditions of time polynomiality of these mathematical models (used in theoretical reseaches) are proved as corollaries of the main theorem. The question whether it is possible to prove that a refal-5 program realizes a polynomiall time function (i.e. function belonging to FP) is very actual. A notion of a double polynomial recursive refal-5 function call, which provides the solution of this question, is introduced in the paper.

Ключевые слова: полиномиальные верхние оценки числа шагов алгоритма, машины Тьюринга, класс FP, функции на языке рефал-5, дважды полиномиальный алгоритм.
Keywords: polynomial time algorithm, Turing machine, class FP, refal-5 function, double polynomial algorithm.
Статья содержит два основных раздела. Первый из них (п. 2) отвечает на вопрос о том, как можно расширить понятие нормального алгоритма Маркова, включив, в частности, полиномиальные функции над длинами используемых слов и сохранив при этом объём вычислений в пределах полиномиального числа шагов. Ответом на этот вопрос является последовательность математических понятий алгоритма со всё более мощными вычислительными средствами, но тем не менее совпадающими с классом алгоритмов, полиномиальных по времени (с классом FP) при реализации их на машинах Тьюринга. Второй из основных разделов (п.3) отвечает на вопрос, каким образом можно, всё более расширяя понятие нормального алгоритма Маркова, вложить их в каждый из подклассов FP, алгоритмы которого используют промежуточную память, длина которой ограничена полиномом k-ой степени. Результаты второго раздела могут рассматриваться также и как подтверждение естественной формулировки тезиса Чёрча для последнего из классов алгоритмов, использованных в формулировках теорем этого раздела.

This paper contains two main sections. The first one (section 2) answers the question: В«How to extend the notion of Markov algorithm by inclusion of a polnomial function of a word length and to conserve computation inside polynomial number of steps?В». A sequence of mathematical notions of algorithm with more and more powerfull computational tools is presented. It is proved that every of them coinsides with the class of polynomial in time algorithms (class FP). The second one (section 3) answers the question: В«How to extend the notion of Markov algorithm in order to include it into subclass of FP containing only algorithms using intermediate memory with the length not more than a polynomial of k-th degree?В». The results of this section may be also regarded as a confirmation of the natural formulation of Church thesis for the last two classes of algoritmms used in the formulations of the theorems of this section.

Ключевые слова: полиномиальные верхние оценки числа шагов алгоритма, класс FP, полиномиальные верхние оценки памяти, подклассы FP-SPACE, нормальные алгоритмы Маркова, правила Поста.
Keywords: polynomial time algorithms, class FP, polynomial space algorithms, subclasses of FP-SPACE, Markov algorithm, Post rules.
Программы обучения
Математическая логика в широком смысле этого слова включает в себя теорию логических исчислений, фомализованные теории, теорию алгоритмов и теорию сложности алгоритмов. Все эти разделы были созданы в прошлом веке. Для специальностей, готовящих будущих программистов и разработчиков разнообразных математических алгоритмов (а не только кодировщиков известных алгоритмов), на математико-механическом факультете Санкт-Петербургского государственного университета в течение 15 лет читался курс математической логики. С. 45-49.

Mathematical logic in the broad sense of this word includes theory of logic calculuses, formalized theories, theory of algorithms and theory of algorithm complexity. All these parts were developed in the last century. The course of mathematical logic for specialities of future programmers and developers of various algorithms (but not simply coders of a well-known algorithm) was presented at the faculty of mathematics and mechanics of St.Petersburg State University during 15 years.

Ключевые слова: математическая логика, обучение, программирование.
Keywords: mathematical logic, teaching, programming.
Автор знакомит читателя с новой логической операцией - юнкцией, которая значительно расширяет традиционные логические операции. На ряде примеров демонстрируются условия, которые с введением этой операции допускают гораздо более доступную реализацию, чем в привычной математической логике.
Для пополнения баланса выберите страну, оператора и отправьте СМС с кодом на указанный номер. Отправив одну смс, вы получаете доступ к одной статье.
Закрыть