- •Вопрос 1.
- •Вопрос 2 Бинарные отношения на множестве
- •Вопрос 3-4
- •Вопрос 5:
- •Вопрос 1.
- •Вопрос 2 Бинарные отношения на множестве
- •Вопрос 3-4
- •Вопрос 5:
- •Вопрос 10
- •Вопрос 11
- •Вопрос 12
- •Вопрос 14
- •16. Запишите определение основных операций алгебры логики. Дать определение функции алгебры логики.
- •17. Как задать функцию алгебры логики в виде таблицы истинности и формулы? Сколько существует логических функций от n переменных?
- •18. Опишите понятие «булева алгебра логических функций». Опишите правила основные свойства операций, представленных в булевой алгебре. Примените эти правила для упрощения формул.
- •19. Дайте определения сднф и скнф. Как построить такие представления для произвольной логической функции, заданной таблицей истинности или формулой?
- •20. Какие функции называются монотонными, линейными, самодвойственными, сохраняющими ноль и сохраняющими единицу? Приведите примеры таких функций. Докажите замкнутость классов таких функций. Вопрос 27
- •Вопрос 28
- •Вопрос 29
- •Вопрос 30
- •Вопрос 31
- •32)Дать определение графа и основных его видов:ориентированный и неориентированный,мультиграф,взвешенный граф,граф с петлями,планарный граф
- •33) Описать основные способы задания графов:матрица смежности,матрица инцидентности,список смежности.Степени вершин графа.Теоремы о свойствах степени вершин.
- •34)Что называется маршрутом в графе? Основные виды маршрутов : определения и примеры. Нахождение кратчайших маршрутов.
- •35)Дать определение эйлеровых циклов и цепей,условия их существования в графе.Описать построения эйлерова цикла.
- •36)Дать определиние гамильтонова цикла и цепи.
20. Какие функции называются монотонными, линейными, самодвойственными, сохраняющими ноль и сохраняющими единицу? Приведите примеры таких функций. Докажите замкнутость классов таких функций. Вопрос 27
Алгоритм — это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность
Конечность. Алгоритм всегда должен заканчиваться после выполнения конечного числа шагов.
Определенность. Каждый шаг алгоритма должен быть точно определен.
Наличие входных данных. Алгоритм имеет некоторое число входных данных, задающихся до начала его работы или определяющихся динамически во время его выполнения.
Наличие выходных данных. Алгоритм имеет одно или несколько выходных данных, имеющих определенную связь с входными данными.
Эффективность. Алгоритм обычно считается эффективным, если его операторы достаточно просты для того, чтобы их можно было точно выполнить в течение конечного промежутка времени с помощью карандаша и бумаги.
Формализация понятия алгоритма реализуется с помощью построения алгоритмических моделей.
Алгоритмическая модель — математическая модель, представленная в форме алгоритма, перерабатывающего заданный набор входных данных в заданный набор выходных данных. А.м. применяют, когда использование аналитических (расчетных) моделей затруднено либо нецелесообразно.
Можно выделить три основных типа универсальных алгоритмических моделей:
рекурсивные функции (понятие алгоритма связывается с вычислениями и числовыми функциями),
машины Тьюринга (алгоритм представляется как описание процесса работы некоторой гипотетической машины, способной выполнять лишь небольшое число весьма простых операций),
нормальные алгоритмы Маркова (алгоритм описывается как преобразования слов над произвольным алфавитом).
Вопрос 28
Машина Тьюринга была создана в 30-е годы математиком Аланом Тьюрингом (Англия) в качестве теоретического механизма для обоснования понятия алгоритма и для доказательства алгоритмической неразрешимости некоторых проблем. Машина решает следующую проблему: если для решения задачи можно построить машину Тьюринга, то она алгоритмически разрешима.
Машина Тьюринга состоит из неограниченной в обе стороны ленты, разделенной на ячейки, которые последовательно пронумерованы целыми числами, как положительными, так и отрицательными.
В каждой ячейке ленты может стоять любой символ из заданного алфавита, в котором выделен "пустой" символ - признак того, что ячейка пустая.
Машина имеет конечное множество внутренних состояний, начальное (с него начинается работа машины) и конечное состояние, попав в которое, машина прекращает работу.
Кроме ленты, имеется головка чтения/записи, которая, во-первых, умеет двигаться вперед, назад и стоять на месте; во-вторых, умеет читать содержимое, стирать и записывать символы из данного алфавита; в третьих, управляется программой.
Программа представляет собой таблицу, в которой в каждой клетке записана команда. Каждая клетка определяется двумя параметрами - символом алфавита и состоянием машины. Команда представляет собой указание, куда передвинуть головку чтения/записи из текущего состояния, какой символ записать в текущую ячейку и в какое состояние перейдет машина.
Способы представления машины Тьюринга
Существует три способа представления машины Тьюринга: совокупностью команд, в
виде графа, в виде таблицы соответствия.
Представление машины Тьюринга совокупностью команд
Совокупность всех команд, которые может выполнять машина, называется ее
программой. Машина Тьюринга считается заданной, если заданы ее внешний и внутренний алфавиты,
программа, начальная конфигурация и указано, какие из символов обозначают пустую
ячейку и заключительное состояние.
Чтобы записать совокупность команд, нужно воспользоваться следующими правилами:
1) начальному шагу алгоритма ставится в соответствие q 0 - начальное состояние;
2) циклы реализуются так, что последнее действие цикла должно соответствовать
переходу в то состояние, которое соответствует началу цикла;
3) соседним шагам алгоритма соответствует переход в смежные состояния, которые
соответствуют этим пунктам;
4) последний шаг алгоритма вызывает переход в заключительное состояние.
В качестве примера рассмотрим совокупность команд машины Тьюринга, которая
инвертирует входную цепочку, записанную с использованием нулей и единиц.
Пусть алфавит машины Тьюринга задан множеством A={0, 1, ε}, где
символ ε соответствует пустой ячейке, а число состояний устройства управления задано в
виде множества Q = {q0, q1, qz}.
Если, например, начальная конфигурация имеет вид q0110011, то конечная
конфигурация после завершения операции инвертирования должна иметь вид qz001100. Для
решения задачи машиной будет порождена следующая последовательность команд:
В стандартной начальной конфигурации головка стоит над первым символом слева, и
устройство управления находится в начальном состоянии. На следующем такте машина
Тьюринга, не меняя своего состояния, заменяет символ 0 на 1 или 1 на 0 и сдвигается вправо
на один символ. После просмотра всей цепочки под головкой оказывается символ,
указывающий на пустую ячейку. В этом случае машина Тьюринга переходит в новое
состояние и сдвигается влево на один символ. На последующих тактах управляющее
устройство не меняет своего состояния, оставляет без изменения символ под головкой и
перемещается влево до тех пор, пока не встретит пустую ячейку. Встретив пустую ячейку,
машина Тьюринга переходит в заключительное состояние и перемещается вправо на один
символ, переходя в стандартную заключительную конфигурацию.
Представление машины Тьюринга графом
При представлении машины Тьюринга посредством графа необходимо каждому
состоянию поставить в соответствие вершину графа, а каждой команде - помеченную дугу.
Машина Тьюринга из рассмотренного примера инвертирования цепочки, состоящей из
символов 0 и 1, будет представлена в виде графа следующим образом:
Начальная и конечная вершины графа обычно выделяются; на рисунке они отмечены
черным кружком. Если на очередном такте работы машины Тьюринга символ на ленте не
изменяется, то в правой части команды его можно не писать (ε на ребре в состояние qz ).
Представление машины Тьюринга таблицей соответствия
При представлении машины Тьюринга данным способом составляется таблица, в
которой каждому состоянию соответствует строка, а каждому символу из входного алфавита
- столбец. В клетках таблицы на пересечении строки и столбца будет находиться действие
(или правая часть команды).
Таблица соответствия для задания машины Тьюринга из рассмотренного примера будет
выглядеть следующим образом:
Инвертирование входной цепочки можно выполнить программой машины Тьюринга,
приведенной в таблице соответствия. Эта программа включает шесть команд.