Теория алгоритмов и рекурсивных функций презентация

Содержание

Слайд 2

1. Понятие алгоритма

1. Понятие алгоритма

Слайд 3

Алгоритм – это совокупность правил, соблюдение которых при вычислениях приводит к решению поставленной задачи.

Алгоритм – это совокупность правил, соблюдение которых при вычислениях приводит к

решению поставленной задачи.
Слайд 4

Можно выделить некоторые черты, присущие каждому алгоритму Дискретность. Преобразование начальных

Можно выделить некоторые черты, присущие каждому алгоритму

Дискретность.
Преобразование начальных данных происходит

пошагово. На каждом шаге из данных по правилам получается новая совокупность данных.
Слайд 5

Детерминированность. На каждом шаге результат работы алгоритма однозначно определяется совокупностью данных предыдущего шага.

Детерминированность.
На каждом шаге результат работы алгоритма однозначно определяется совокупностью данных

предыдущего шага.
Слайд 6

Направленность. Для алгоритма есть критерий, позволяющий определить, что является результатом работы алгоритма.

Направленность.
Для алгоритма есть критерий, позволяющий определить, что является результатом работы

алгоритма.
Слайд 7

Элементарность шагов алгоритма. Описание действий на каждом шаге алгоритма должно быть достаточно простым.

Элементарность шагов алгоритма.
Описание действий на каждом шаге алгоритма должно быть

достаточно простым.
Слайд 8

Массовость. Применимость алгоритма не к одной задаче, а к целому классу задач.

Массовость.
Применимость алгоритма не к одной задаче, а к целому классу

задач.
Слайд 9

Каждый алгоритм предполагает наличие данных входные, промежуточные, итоговые, с которыми производятся определенные действия.

Каждый алгоритм предполагает наличие данных
входные,
промежуточные,
итоговые,
с которыми производятся определенные

действия.
Слайд 10

Будем считать, что все данные представлены натуральными числами. Каждое входное

Будем считать, что все данные представлены натуральными числами.
Каждое входное натуральное

число должно быть конечным, тем не менее не предполагается верхняя граница этого числа.
Слайд 11

Так же нет верхней границы количества шагов для обработки конкретных

Так же нет верхней границы количества шагов для обработки конкретных данных,

однако количество шагов должно быть конечным.
Слайд 12

2. Машина Тьюринга

2. Машина Тьюринга

Слайд 13

Первый важный и достаточно широкий класс алгоритмов был описан А.Тьюрингом и Э. Постом в 1936-1937гг.

Первый важный и достаточно широкий класс алгоритмов был описан А.Тьюрингом и

Э. Постом в 1936-1937гг.
Слайд 14

Поскольку алгоритм – это совокупность правил, то чтобы решить проблему

Поскольку алгоритм – это совокупность правил, то чтобы решить проблему интерпретации

(понимания) правил, необходимо задать конструкцию интерпретирующего устройства.
Слайд 15

Для этого нужно определить язык, на котором описывается множество правил

Для этого нужно определить

язык, на котором описывается множество правил поведения,


и машину, которая может интерпретировать утверждения, сделанные на таком языке и выполнять шаг за шагом каждый точно определенный процесс.
Слайд 16

Английский математик А.М.Тьюринг в 1937 году впервые предложил модель вычислительной

Английский математик А.М.Тьюринг в 1937 году впервые предложил модель вычислительной машины,

известной теперь под названием машина Тьюринга, которая представляет собой воображаемую машину или математическую модель машины.
Слайд 17

Требования, которые предъявляются к машине детерминированность работы возможность ввода различных

Требования, которые предъявляются к машине

детерминированность работы
возможность ввода различных начальных данных
возможность

получения результата работы машины.
Слайд 18

Под одноленточной машиной Тьюринга понимают такое кибернетическое устройство, которое состоит из следующих элементов:

Под одноленточной машиной Тьюринга понимают такое кибернетическое устройство, которое состоит из

следующих элементов:
Слайд 19

бесконечной ленты, разделенной на ячейки, которая используется для ввода и

бесконечной ленты, разделенной на ячейки, которая используется для ввода и вывода

данных, а также для записи промежуточных результатов
Слайд 20

На ленте могут записываться буквы некоторого алфавита А={a0,a1,…,am} (внешний алфавит

На ленте могут записываться буквы некоторого алфавита А={a0,a1,…,am} (внешний алфавит машины

Тьюринга).
Удобно считать, что пустые ячейки на самом деле содержат некоторую букву алфавита А (будем считать, что это буква a0)
Слайд 21

управляющей головки, способной читать символы, содержащиеся в ячейках ленты, писать

управляющей головки, способной читать символы, содержащиеся в ячейках ленты, писать символы

в эти ячейки и оставаться на месте или передвигаться на одну ячейку вправо или влево.
Слайд 22

выделенной ячейки памяти, содержащей символ внутреннего алфавита, задающий состояние машины Тьюринга

выделенной ячейки памяти, содержащей символ внутреннего алфавита, задающий состояние машины Тьюринга

Слайд 23

Головка может находиться в одном из состояний Q={q0,q1,…,qn} (внутренний алфавит

Головка может находиться в одном из состояний Q={q0,q1,…,qn} (внутренний алфавит машины

Тьюринга).
Состояние
q0 –заключительное,
q1 – начальное.
Слайд 24

механического устройства управления, обеспечивающего перемещение головки относительно ленты функциональной схемы

механического устройства управления, обеспечивающего перемещение головки относительно ленты
функциональной схемы — области

памяти, содержащей команды (программу) машины Тьюринга, доступной только для чтения
Слайд 25

Обычно машина Тьюринга схематично изображается так qj

Обычно машина Тьюринга схематично изображается так

qj

Слайд 26

если машина, имея внутреннее состояние qi и воспринимая ячейку ленты

если машина, имея внутреннее состояние qi и воспринимая ячейку ленты с

символом ai

переводит внутреннюю память в состояние qb и
одновременно содержимое воспринимаемой ячейки заменяет символом as,
управляющая головка остается на месте (H), сдвинется на одну ячейку вправо (R) или влево (L),

Слайд 27

то машина выполняет одну из команд qi ai → as

то машина выполняет одну из команд
qi ai → as H qb
qi

ai → as R qb
qi ai → as L qb
Слайд 28

Совокупность всех команд, которые может выполнять машина, называется ее программой.

Совокупность всех команд, которые может выполнять машина, называется ее программой.

Слайд 29

Т. к работа машины целиком определяется состоянием в данный момент

Т. к работа машины целиком определяется состоянием в данный момент ее

внутренней памяти qi и состоянием воспринимаемой ячейки aj,
то для каждой пары qi , aj
программа машины должна содержать одну и только одну команду, начинающуюся словом qi aj
Слайд 30

Текущее состояние машины Тьюринга или конфигурация – это полная информация

Текущее состояние машины Тьюринга или конфигурация – это полная информация о

внутреннем состоянии машины, о содержимом ячеек ленты и о ячейке, которую обозревает головка машины.
Слайд 31

Конфигурация машины может быть записана в виде слова xqiy, где

Конфигурация машины может быть записана в виде слова xqiy, где х

и у – слова записанные на ленте

левее слова х и правее слова у все ячейки содержат пустой символ,
головка машины обозревает ячейку, которая находится сразу после слова х,
первая буква слова у записана в ячейке ленты, обозреваемой головкой машины,
qi – состояние машины на данном шаге.

Слайд 32

Конфигурация x qi y

Конфигурация x qi y

Слайд 33

Конфигурация с начальным состоянием головки называется начальной, с заключительным состоянием – заключительной.

Конфигурация с начальным состоянием головки называется начальной,
с заключительным состоянием –

заключительной.
Слайд 34

Переход за один такт работы МТ из конфигурации x1 qi

Переход за один такт работы МТ из конфигурации x1 qi y1

в конфигурацию x2 qj y2 будем обозначать так
x1 qi y1 ╞ x2 qj y2
Слайд 35

Если переход из одной конфигурации в другую осуществляется более, чем

Если переход из одной конфигурации в другую осуществляется более, чем за

один шаг, то это будем обозначать таким образом
x1 qi y1├ x2 qj y2
Слайд 36

Пример 1. Построить МТ, которая осуществляет переход 0 q1 1n ├ 01n q0 0, n≥0

Пример 1.

Построить МТ, которая осуществляет переход 0 q1 1n ├ 01n

q0 0, n≥0
Слайд 37

внешний алфавит для такой МТ достаточно взять двухсимвольный А={0,1}, причем пустым символом будет 0

внешний алфавит для такой МТ достаточно взять двухсимвольный А={0,1},
причем пустым

символом будет 0
Слайд 38

Начальная конфигурация 0 q1 1n

Начальная конфигурация 0 q1 1n

Слайд 39

Действия МТ сводятся к переходу к первому нулю после последовательности единиц и остановке.

Действия МТ сводятся к переходу к первому нулю после последовательности единиц

и остановке.
Слайд 40

Программа МТ q1 0 → 0 H q0 q1 1

Программа МТ
q1 0 → 0 H q0
q1 1 → 1 R

q2
q2 1 → 1 R q2
q2 0 → 0 H q0
Слайд 41

1Rq2

1Rq2

Слайд 42

Приведем пошаговое исполнение программы для начальной конфигурации при n=3

Приведем пошаговое исполнение программы для начальной конфигурации при n=3

Слайд 43

0 q1 1 1 1 0╞ q1 1 → 1 R q2 q1

0 q1 1 1 1 0╞ q1 1 → 1 R q2

q1
Слайд 44

0 1 q2 1 1 ╞ q2 1 → 1 R q2 q2

0 1 q2 1 1 ╞ q2 1 → 1 R q2

q2
Слайд 45

0 1 1 q2 1 0 ╞ q2 1 → 1 R q2 q2

0 1 1 q2 1 0 ╞ q2 1 → 1 R

q2

q2

Слайд 46

0 1 1 1 q2 0 ╞ q2 0 → 0 H q0 q2

0 1 1 1 q2 0 ╞ q2 0 → 0 H

q0

q2

Имя файла: Теория-алгоритмов-и-рекурсивных-функций.pptx
Количество просмотров: 30
Количество скачиваний: 0