- •31. Биологический подход к решению задач искусственного интеллекта. Генетические алгоритмы и их использование. Нейронные сети и их использование.
- •1. Модель Персептрона.
- •2. Сигмоидальный нейрон.
- •3. Модель Видроу.
- •4. Wta (победитель получает все).
- •5. Нейроны Хебба.
- •6. Стохастическая модель.
- •32.Экспертные системы: структура, назначение, классификация. Методы построения экспертных систем. Понятие о инженерии знаний.
- •Методы построения эс и классификация эс по методам построения
- •33.Математические модели в физике, химии, биологии и экономике
- •2. Модель колебательной системы
- •1) Проверка равномерности распределения генератора случайных чисел.
- •2) Вычисление интеграла.
- •3) Методы случайного поиска
- •36.Основы теории погрешности. Прямая и обратная задача теории погрешности. Оценка погрешности. Понятие погрешности.
- •37.Численные методы решения нелинейных уравнений с одним неизвестным.
- •Оценка погрешности для полинома Лагранжа
- •Разделенные разности
- •40.Численное интегрирование и дифференцирование. Формулы численного дифференцирования. Метод Ньютона-Котеса.
- •Численное интегрирование
- •41.Основные виды задач оптимизации и методы их решения. Линейное программирование. Основные этапы решения задачи симплекс-методом.
- •В задаче линейного программирования (лп) целевая функция может быть представлена как сумма произведений переменных на некие константы:
- •Требования к стандартному виду задачи лп:
- •2.Приведение задачи линейного программирования к стандартной форме
- •2. Алгоритм симплекс-метода
- •42.Основные понятия теории игр. Чистые и смешанные стратегии игры. Седловая точка игры и её поиск.
- •43.Транспортная задача: постановка задачи, поиск опорного плана, оптимизация решения.
- •2.Табличный метод решения транспортной задачи
- •44 Понятие графа, методы описания графа, виды графов. Эйлеровы и гамильтоновы графы.
- •45. Комбинаторные объекты дискретной математики. Алгоритмические задачи комбинаторики. Задача коммивояжера.
- •Разбиения
- •Числа Стирлинга второго рода
- •Числа Белла
- •Разбиение чисел
- •Биноминальные коэффициенты
- •Рекуррентные соотношения.
- •Задача коммивояжера. Общее описание
- •Методы решения зк Жадный алгоритм
- •Деревянный алгоритм.
- •46. Алгоритмические задачи поиска в графах: задачи Прима-Краскала, Дейкстры, Форда-Фалкерсона.
- •47 Рекурсивные функции
- •48. Виртуальные машины Тьюринга. Нормальные алгорифмы Маркова.
- •49. Формальные языки и грамматики.
- •Классификация языков
48. Виртуальные машины Тьюринга. Нормальные алгорифмы Маркова.
Английский математик А. Тьюринг в 1937 г. опубликовал работу, в которой уточнял понятие алгоритма, прибегая к воображаемой вычислительной машине, известной теперь как машина Тьюринга. Основная идея машины Тьюринга и Поста заключалась в том, что алгоритмические процессы - это процедура, которые может совершать подходящее устройство «машина». На таких машинах оказалось возможным имитировать все алгоритмические процессы.
Абстрактным алфавитом (или просто алфавитом) конечное непустое множество символов, называемых буквами алфавита. Словами (или строками) в некотором алфавите А будем называть конечные последовательности букв этого алфавита. Длина слово-количество букв в нем. Слово нулевой длины называем пустым и обозначим «_» алфавит обозначим А, В, С….
Под машиной Тьюринга и Поста понимается некая гипотетическая (условная) машина, состоящая из следующих частей: 1. информационной ленты, представляемую собой бесконечную память машины. Лента разделена на ячейки, в котором можно записать один символ. Конечная совокупность символов алфавита, с которой работает машина, называется внутренним алфавитом. 2. «Головки чтения записи» - специального устройство, способного «считывать» символ ячейки. Головка представляется вдоль ленты вправо и влево так, что в каждый момент времени способна «видеть» только 1 ячейку. 3. Управляющее устройство, кот в каждый момент времени может находится в некотором состоянии, количество состояний, конечно. Состояние устройства управления называют внутренним состоянием машины. Одно из внутренних состояний называется заключительным состоянием. Переход к этому состоянию сигнализирует о конце работы. Совокупность состояний устройства управления называется внешним алфавитом. Цель работы МТ - в зависимости от слова, записанного на ленте(входное слово) переписать его так, чтобы на ленте было другое слово-результат.
Описание МТ.
Пусть заданы
внешний А={
}
и внутренний алфавит P={
}.
Лента бесконечна по обе стороны разбита
на клетки. Запись символа в ячейку МТ
приводит к замене ее содержимого. Головка
чтения-записи может сдвигаться на одну
вправо или влево или остаться неподвижной.
Основной частью МТ является логический
блок. Он
имеет 2 входных канала: по одному из них
поступает
знак
из ячейки, по другому знак
того
состояния, кот приписывается логическому
блоку на данный такт. По выходному каналу
логический блок посылает в текущую
ячейку соот-щий знак
,
являющийся однознач-й функцией от
сигналов (
,
)
поданных на вход. Совокуп-ть, образован-я
послед-тью состояний ячеек ленты и
сост-ем лог-го блока, наз-ся конфигурацией
или полным состоянием. Работает лог-й
блок след-м образом:
Заставляет головку прочитать букву, кот-я стоит на ленте под ней.
В зависимости от прочит-й буквы и того состояния, в кот-м находится он сам,
а) заставляет головку записывать на ленте в той клетке, кот-я наход-ся под ней, некот-ю букву.
б) заставляет головку сдвинуться на одну ячейку вправо, влево или остаться на места
в) изменяет свое собственное положение.
3. Если в результате
действий, в п.2, буква, располож-ная под
головкой, положение головки и сост-ние
лог. блока окажутся теми же, кот. были
непосред-но перед выполнением этих
действий, машина останавл-ся. В остал-ных
случаях возвращается в п.1. Введем
обозначения
для
состоя-ия ленты(на месте влево вправо).
Если головка читает букву
и блок наход-ся в состоя-ии
,
тот поведение машины определяет запись
означающую:
«записать на ленте вместо
букву
,
совершить перемещение ленты
,
логическому блоку перейти в состояние
». Таким образом результатом может быть
3 ситуации: 1. Машина выполнила несколько
шагов и остановилась, слово при этом не
изменилось. 2. Машина выполнила несколько
шагов, слово изменилось. 3. Машина никогда
не остановиться, приводя к бесконечному
изменению состояний. Остановка МТ
осущест-ся в 3-х случаях: 1. внутрен-е
состояние управляющего устройства не
изменяется.
2. управляющее устройство остается на месте.
3. буква в противолеж-ей ячейке не изменяется.
Программа МТ.
Совокупность
команд, кот-е должна выполнить МТ для
решения конкретной задачи наз-ся
программой
МТ. Начальной
конфиг-ций сост-нии МТ, при кот-м на ленте
занесена начальная информация обозначим
.
Будем считать МТ заданной если заданы
ее внут-й и внеш-й алгоритмы. Представим
работу МТ на примере.
Программа прибавления 1 к десятичному числу для машины Тьюринга

Пошаговое решение задачи
_18_-P0
_ 18_-P1
_18 _-P1
_18_-P1
_18_-P2
_19_-P3
_19_-P3- остановка
Остановка машины произойдет тогда, когда мы прибавим к числу 1, то есть вернемся к началу слова. Очев-о, что машина останавливается, если в состоянии P2 встречает цифры от 0 до 8 и когда встречает символ ‘_’, заменяя его при этом на 1.
Тезис Тьюринга.
Любой конечный алгоритм м.б. реализован
с помощью конечной программы МТ.
Следов-но, если не сущест-ет прог-мы МТ
для какой-либо задачи, то не сущ-ет и
конечного алгоритма решения этой задачи.
Соответ-вие, устанавливае-ое Маш Т между
теми исходными данными, к которым она
применима, и результатами ее работы,
представляет некую функцию. Если для
функции
имеется
машина, реализующая ее, то говорят,
что
вычислима
по Тьюрингу. Функцию, для вычисления
которой существует алгоритм, наз-т
вычислимой.
Любая вычислимая функция вычислима по
Тьюрингу.
Машина Поста. Как и МТ относится к классу абстрактных машин, создана практически в тоже время, что и МТ. МП состоит из бесконечной ленты, вдоль, кот в обоих направ-ях перемещается каретка с головкой чтения-записи. Ячкйки ленты пронумерованы след-м образом (-3,-2,-1,0,1,2,3,)
|
|
|
|
|
|
|
|
-2 -1 0 1 2 В
каждой ячейке ленты м.б. записан пустой
символ «_» или символ-метка «
»
На каждом шаге каретка перемещается
только в одну сторону. Состояние
МП определяется
сост-ем ленты(комбинация пустых и занятых
ячеек) и номером ячейки, на кот настроена
каретка.
Работа МП
состоит в том, что каретка передвигается
вдоль ленты и записывает или стирает
метки. Назовем командой одну зи 6-ти
функций: 1.
движение вправо. 2.
движение
влево. 3.
запись
. метки 4.
стирание
метки 5.
передача
управления. 6.
стоп
–остановка все числа натуральные.
Пример.
137.=
движ
вправо 25.?(35,21) передача управления,
6386.стоп остановка.
Программа МП –конечный непустой список команд МП, обладающий след-ми св-ми: 1. Все команды послед-но пронумеров-ны, начиная с 1. 2. отсылка любой из команд (за исключением ком-ды стоп) есть номер одной команды прог-мы (включая номер той же команды).
Функционирование
МП. Работа
МП опред-ся согласно некот-й прог-ме и
нача-му состо-ю. Будем считать, что в
нач-м сос-нии каретка всегда настроена
на ячейку с номером 0, т.е нач-ое сос-ие
опред-ся только содержимым ленты. Уточним
команды 1. сдвиг каретки вправо на 1-у
ячейку и переход на команду с номером
1. 2. сдвиг каретки влево на 1-у ячейку и
переход на команду с номером
3.
записать метки в текущ-ю ячейку и переход
на команду с номером
(если
в ячейке метка уже была, то команда не
выполнима). 4. стирание метки в текущей
ячейке и переход на команду с номером
(если
ячейка уже пуста, то команда не выполнима).
5. если обозреваемая ячейка пуста, переход
к команде с номером
в
противном случае к
2.
6. МП останавливается. Выполнение команды
может привести к 1-му из 3-х случаев: 1.
Нормальная остановка по команде
остановка. 2. аварийная ост-ка по
невыполнимой команде. 3. зацикливание
(бесконеч-я работа).
Тезис Поста.
«
числовая
функция вычислима по Посту».
Гипотеза Поста.
Назовем числовым кортежем (или просто кортежем) упорядоченный набор чисел произвольной длины. Под длиной кортежа будем понимать количество чисел, входящих в него. Так кортеж {2, 2, 3, 6} имеет длину 6.
Пусть каждому исходному данному из N (множество числовых кортежей) либо ничего не поставлено в соответствие, либо поставлено в соответствие некоторое (вообще говоря, свое для каждого исходного данного) результирующее число. Тогда можно рассмотреть две задачи: Задача (П). Составить программу МП, перерабатывающую любое исходное данное, для которого есть результирующее число, в это число, и не приводящую ни к какому результату для исходного данного, для которого нет результирующего числа.
Задача (А). Получается из задачи (П) заменой слов «программа МП» на «алгоритм».
Гипотеза Поста: Задачи (А) и (П) одновременно либо имеют, либо не имеют решения.
Очевидно, что гипотеза Поста состоит из двух утверждений:
из разрешимости задачи (П) следует разрешимость задачи (А);
из разрешимости задачи (А) следует разрешимость задачи (П). Появление теории МТ и МП привело к следующим результатам:
Началось развитие более общей теории воображаемых машин - теории автоматов
Была доказана алгоритмическая разрешимость большого класса задач в математике
Удалось доказать алгоритмическую неразрешимость некоторых задач в математике.
Нормальные алгорифмы Маркова
Советский ученый А. А. Марков избрал другой путь уточнения понятия алгоритма. Им разработана строгая теория класса алгоритмов, которые он назвал нормальными алгорифмами.
Нормальные алгорифмы в качестве исходных данных и искомых результатов имеют, подобно машинам Тьюринга, строки букв – слова. Предположим, что заранее выделен некоторый алфавит. Обозначим его А. Букву, одинаковую с одной из букв, входящих в алфавит А, называют буквой в А. Слово, состоящее из букв в А, называют словом в А. При этом для удобства рассуждений допускают и пустые слова (не имеющие в своем составе ни одной буквы).
Если А и В – два алфавита, причем каждая буква алфавита А является буквой в В, а хотя бы одна из букв алфавита В не является буквой в Л, то 5 называется расширением алфавита А. Например, если А - {а, б, в, г), В={1, а, б, в, г, д}, то В являегся расширением А, так как содержит две буквы («1» и «д»), не являющиеся буквами в А, тогда как все буквы алфавита А являются буквами в В.Рассмотрим какое-либо конкретное слово для определенности в алфавите русских букв, например слово «самолет». Мы видим, что из него можно вырезать подслова, например «сам», «амол» или «олет», или «лет», или, наконец, однобуквеиное слово «т». Про такие подслова говорят, что они входят в рассматриваемое слово или являются вхождениями в него. Заметим, что в наше слово входит и пустое слово, причем — несколько раз (оно входит перед первой буквой, между каждыми двумя буквами и, наконец, после последней буквы, т. е., в данном случае, 8 раз).
Подслово - часть слова, буквы которого расположены рядом. Подсловом может быть и само слово.
Условимся обозначать слова заглавными латинскими буквами (если эти буквы не являются буквами в применяемом алфавите). Если задано некоторое слово и нами выбрана буква, являющаяся его обозначением (именем), то будем ставить между ними знак = (равенства). Возвращаясь к нашему примеру, мы можем написать: для слова Я=самолет слово Р=амол является вхождением.
Заметим, что не только пустое слово может многократно входить в другое слово. Например, в слово Я=тарарам слово Р=ара входит два раза. Особый интерес для нас будет представлять так называемое первое вхождение.
Марковской подстановкой называется операция над словами, задаваемая с помощью пары слов (Р, Q), заключающаяся в следующем.
Если задано исходное слово R, то в нем находят первое вхождение слова Р (если таковое имеется) и, не изменяя остальных частей слова R, заменяют в нем это вхождение словом Q. Полученное слово является результатом применения марковской подстановки (Р, Q) к слову R. Если же нет первого вхождения Р в слово R (при этом нет вообще ни одного вхождения Р в R), то считается, что марковской подстановке слово R не поддается.
Частными случаями марковских подстановок являются (,Q), (Р,) и (,). В первом из приведенных примеров Р, во втором Q, а в третьем и Р, и Q являются пустыми.
Действие Марковской подстановки заключается в том, что в искомом слове ищется подслово слева направо, и как только находится, оно меняется на другое подслово. Если вхождений несколько, то при любой подстановке меняется только первое слева вхождение. Будем рассматривать слова в некотором алфавите А. Предположим, что символы « —» » и « . » не являются буквами в А. Запись Р-> Q и Р — . будем называть записями марковской подстановки (Р, Q), причем первую из них будем называть подстановкой, а вторую - заключительной подстановкой.
Подстановки и заключительные подстановки будем называть формулами, различая в них левую часть Р и правую часть Q.
Марковская подстановка выполняется один раз, и если есть несколько вариантов, то выполняется подстановка, которая находится левее (ближе к началу слова). Марковская подстановка может быть успешной, неуспешной и конечной. Успешной - если подстановка выполнена, неуспешной, если подстановку выполнить нельзя и конечной, если в начале слова-замены стоит " . " Ее назначение - прекращение дальнейшего процесса Марковских подстановок.
Записью нормального алгоритма в алфавите А называют столбец формул, левые и правые части которых являются словами в А. Выполнение нормального алгоритма применительно к исходному данному R, являющемуся словом в А, заключается в следующем: 1. Двигаясь по столбцу формул, ищут первую формулу, левая часть ко торой входит в преобразуемое слово. 2.Если такой формулы не найдется, процесс окончен. 3. Если же она найдется, то выполняют марковскую подстановку, соответствующую данной формуле, изменяя преобразуемое слово. 4. Затем смотрят, является ли выполненная подстановка заключительной. 5. Если она является заключительной, то процесс окончен. 6. В противном случае весь процесс повторяют с самого начала (то есть с пункта 1).
Этапы решения задач с помощью алгорифмов Маркова Для составления алгорифма Маркова необходимо задать: 1. алфавит для записи слов и, возможно, расширенный алфавит для записи марковских преобразований (полученный путем добавления дополнительных технических букв); 2.определение предложений и слов языка, на котором будут записы ваться данные и результаты.
Порядок действия алгорифма Маркова:
записывается последовательность марковских подстановок и зада ется слово, на которое должен действовать этот алгорифм.
проверяется возможность марковской подстановки (1). Если она успешна, процесс повторяется, начиная с первой подстановки, если неуспешна, то происходит переход к следующей подстановке. Если подстановка конечна, то прекращаем работу алгорифма.
если в результате использования алгоритма будет произведена ко нечная подстановка или ни одна из подстановок не будет успеш ной, то алгорифм прекращает свою работу.
Результатом действия алгорифма Маркова может быть:
1) все подстановки неуспешны, мы получаем результат действия алгорифма.
2) в процессе работы выполнена конечная подстановка, результат работы есть.
3) алгорифм выполняется бесконечно.
Таким образом, результата действия алгорифма нет только при бесконечном выполнении алгорифма, а если алгорифм совсем не меняет слово, то считается, что результат есть.
Говорят, что алгорифм применим к данному слову, если он дает результат для слова, и не применим к слову, если результата нет. Таким образом, у любого алгорифма существует множество слов, для которых он применим (область применимости) и множество слов, для которых он не применим (область неприменимости).
Замечание: поскольку алгорифм используется для построения словарных функций, то кроме применимости можно определить и правильность действия. Алгорифм правильно действует на слово, если он применим к этому слову и его результат совпадает с результатом словарной функции, которую он определяет.
