- •Тема 10. ЭЛЕМЕНТЫ ТЕОРИИ И НЕКОТОРЫЕ ПРОБЛЕМЫ
- •Алгоритм как результат решения задачи
- •Интуитивно алгоритм определяется – как последовательность действий,
- •Математическое определение А.(Колмогоров А.Н.)
- •Зачем нужны такие строгости в определении?
- •Определение алгоритма для компьютерных применений:
- •Требование упорядоченности
- •Требование выполнимости этапов
- •Недвусмысленность
- •Требование конечности процесса
- •Способы описания алгоритмов
- •Примитивы
- •Примитивы
- •способ описания синтаксиса языков программирования. Нормальная нотация Бекуса
- •Расширенные Бэкуса – Наура Формы (РБНФ)
- •Каждому определению РБНФ соответствует синтаксическая диаграмма
- •Здесь мы познакомились лишь с основными понятиями описания синтаксиса ЯП.
- •Представление алгоритма во время его разработки
- •В 1950-60гг. самым совершенным средством была блок схема
- •Псевдокоды
- •Создание алгоритмов или
- •Что значит создать алгоритм?
- •Расплывчато, фазы решения задач, предложенные в книге математика Д. Пойа «Как решать задачу»
- •Неупорядоченность процесса решения задач является основной причиной трудностей, связанных с разработкой систематического подхода
- •Математик А. Пуанкаре так же описал этот феномен. Он считал, что творческий процесс
- •Как же все таки надо действовать при решении задачи?
- •Вычислимые и невычислимые функции теорема Геделя
- •Результат Черча
- •В то время еще не было сколь нибудь значимых компьютеров, а усилия ученых
- •Алгоритмические проблемы
- •Проблема универсального языка программирования
- •Универсальный язык программирования
- •Описание универсального языка программирования
- •Даные
- •Операторы
- •Операторы
- •Как программировать на этом языке
- •Примеры программирования
- •Дальнейшее развитие
- •Проблема
- •Модели универсальных ВМ
- •Машины Тьюринга
- •Описание МТ
- •Команда МТ(qi aj qnamR)
- •Пример программы
- •Работа программы
- •Аналогично, можно запрограммировать любую
- •Новое поколение ВМ
- •Вычислительная мощность ВМ Функции и их вычисление
- •Виды функций
- •Значение МТ для современной теории вычислительных систем
- •Ограниченность ВМ и проблема Искусственного Интеллекта
- •Сложность задач и алгоритмов с точки зрения ВМ оценивается затратами на вычисление а
- •Оценки сложности
- •Сравнение полиномиальных и экспоненциальных
- •Классификация задач по сложности
Модели универсальных ВМ
В русле исследований предельных возможностей вычислительных процессов англ. математик Алан Тьюринг предложил модель универсальной вычислительной машины, в 1936г. т.е. задолго до того, как были созданы реальные ЭВМ.
В том же 1936г. американский математик Эмиль Пост создал другую более простую модель ВМ (Машина Поста).Она имеет те же возможности, что и машина Тьюринга.
Обе эти модели до сих пор используются в теории компьютерных алгоритмов при конструировании всевозможных процессоров.
07/02/19 |
41 |
Машины Тьюринга
Блок
Управления qi
Головка (считывания / записи)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. . . |
|
. . . . |
|
а1 |
а |
а |
аj |
а |
а |
аl |
|
|
|
|
|
. |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
лента |
|||||||
07/02/19 |
42 |
Описание МТ
Блок управления считывает и записывает символы на ленте с помощью головки.
Лента бесконечна в обоих направлениях, разделена на ячейки, в каждую может быть помещен символ из определенного набора (алфавита внешних символов).
В любой момент вычислений МТ находится в одном из возможных состояний (их количество конечно).
Имеется алфавит внешних символов (a1...al)
Имеется алфавит состояний {q1...qk}. Имеется состояние
начало вычислений, состояние останов.
Вычисления МТ состоит из последовательности шагов (тактов), выполняемых блоком управления.
07/02/19 |
43 |
Команда МТ(qi aj qnamR)
находясь в состоянии qi считывается символ aj из ячейки
После этого производится запись символа am в эту же ячейку
Затем R – сдвиг влево, вправо, оставить на месте
изменение состояния qi qn.
Программа представляет последовательность таких команд
сообщающих что делать исходя из состояния и содержимого считываемой ячейки aj .
07/02/19 |
44 |
Решить задачу 5+1=?
алфавит внешних символов (a1...al) содержит набор символов вида ( 0, 1, в - начало, е – конец).
На ленте число x=5 выглядит так:
Х
b 1 0 1 e
алфавит состояний {q1...qk} содержит набор указаний
(старт, добавить, перенести, не перенести, переполнение, стоп)
07/02/19 |
45 |
Пример программы
|
|
|
Х |
|
|
|
|
Х |
||||||
|
b |
1 |
0 |
1 |
e |
|
X=X+1 |
|
b |
1 |
1 |
0 |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
qi |
aj |
qn |
am |
R |
Текущее состояние |
содержани |
след. сост. |
запис |
перемещ. |
|
е |
|
. |
|
Старт |
e |
добавить |
e |
влево |
Добавить |
1 |
Перенести |
0 |
Влево |
Добавить |
0 |
не перенести |
1 |
влево |
перенести |
0 |
не перенести |
1 |
влево |
перенести |
1 |
перенести |
0 |
влево |
не перенести |
0 |
не перенести |
0 |
влево |
не перенести |
1 |
не перенести |
1 |
влево |
не перенести |
b |
стоп |
b |
нет пер. |
перенести |
b |
переполнение |
1 |
влево |
переполнение |
игнорир. |
стоп |
b |
нет |
07/02/19 |
|
|
|
46 |
Работа программы
1 |
|
старт |
b 1 0 1 e
3перенести
b 1 0 0 e
|
5 |
Не пренести |
b 1 1 0 e
07/02/19
2 добавить
b 1 0 1 e
|
4 |
Не пренести |
b 1 1 0 e
|
6 |
стоп |
b 1 1 0 e |
47 |
|
Аналогично, можно запрограммировать любую
команду составленную на нашем универсальном языке. Попробуйте это сделать для Decr x;
Будучи по своей природе абстрактной, МТ может быть воплощена в разнообразных формах.
Фактически, все современные универсальные ВМ являются машинами Тьюринга, за исключением конечности их памяти.
Подобное сходство совсем не случайно, ведь МТ представляет саму суть вычислительного процесса.
07/02/19 |
48 |
Новое поколение ВМ
Возможности совершенствования классических систем обработки данных, основанных на принципах Дж.Фон.Неймана (на МТ) практически исчерпали себя. Требуются новые подходы.
Сейчас интенсивно разрабатываются идеи ВМ на основе распределенных процессоров и соответственно методы ассоциативной обработки, которые реализуют
Коллективный доступ + совмещение функций хранения и обработки.
ООП прекрасно ложится на эту структуру.
Человек имеет 2 уровня мышления:алгебраическое, символьноегеометризованное, образное
Этим уровням и соответствует
(ФН структура) (Ассоциативная структура) ВМ
07/02/19 |
49 |
Вычислительная мощность ВМ Функции и их вычисление
Как измерить вычислительную мощность?
Работа компьютера состоит в преобразовании входного набора двоичных разрядов в выходной. Функция – это связь выходного состояния и входного
f{a1,a2,….an} {b1,b2,…bm}
Вычислением функции называется процесс определения выходной величины f на основе значения входной {a1,a2,….an}
Естественно считать, что та ВМ более мощная, которая может вычислить больше функций
Мощность ВМ – это набор функций, которые она может вычислить
07/02/19 |
50 |
