Кафедра ЮНЕСКО по НИТ1 Формализация понятия «Алгоритм» Информатика.

Slides:



Advertisements
Similar presentations
Астрометрические каталоги К.В.Куимов, ГАИШ МГУ. Определение астрометрического каталога Астрометрический каталог – понятие неопределённое. Например, это.
Advertisements

Схема распределения грантов городам-участникам программы Тасис (TCAS) Экологические гранты для муниципалитетов.
« Использование двоичной системы счисления при составлении генеалогического дерева». Автор: Вербицкий Евгений Ученик МОУ «Лицей» 7 г класса.
Автоматическая генерация кода программ с явным выделением состояний Канжелев С.Ю. магистрант СПбГУ ИТМО Шалыто А.А. доктор технических наук профессор СПбГУ.
Системы с наследованием. Если систему можно представить в виде : Где - непрерывные функции, то такая система называется системой с наследованием. Математическое.
Расторгуев А.C., 545 группа Научный руководитель: Пименов А.А. Рецензент: ст. преп. Смирнова Е.А.
Системы отбора. Условные обозначения (1) (2) (3) (4) (5) (6) (7) Математическое моделирование процессов отбора2.
ЛОМОНОСОВ И МАТЕМАТИКА. Большое значение Ломоносов придавал математике, рекомендуя широко применять математические методы в других науках. Математику,
«Множество и мы» ЭЛЕКТИВНЫЙ КУРС ДЛЯ 9 КЛАССОВ Автор : учитель математики Хабирова Зульфия Габдулловна.
Грековой Марии. Играет важную роль в формулировке современных теорий. Некоторые симметрии в современной физике считаются точными, другие — лишь приближёнными.
R1R2R3R4R5R6R7R1R2R3R4R5R6R7. Аксиома R 1. В пространстве существуют плоскости. В каждой плоскости пространства выполняются все аксиомы планиметрии.
Тел. (495) Москва, а/я 212 Рабочая группа по реформе МВД Москва, 2010 Новикова Асмик, Фонд «Общественный вердикт»
Некомпенсаторное агрегирование и рейтингование студентов Авторы: Гончаров Алексей Александрович, Чистяков Вячеслав Васильевич. НФ ГУ ВШЭ 2010 год.
ПРИНЦИПЫ РАЗРАБОТКИ СИСТЕМЫ КЛАССА LEARNING MANAGEMENT SYSTEM И ОПЫТ ЕЕ ИСПОЛЬЗОВАНИЯ НА ФАКУЛЬТЕТЕ МЕНЕДЖМЕНТА Афанасьева С.В. Кафедра бизнес-информатики.
Неотрицательное решение задачи Коши. Нередко постановка задачи требует чтобы фазовые переменные принимали лишь неотрицательные значения. Так, в физических.
Тема : Информационные процессы. (закрепление) Составила и провела учитель СОШ№1 с. Чинар Мустафаева Гюльжана М.
Математические модели Динамические системы. “Модели” Математическое моделирование процессов отбора2.
Bank ownership and lending behavior Alejandro Micco, Ugo Panizza Politicians and banks: Political influences on government-owned banks in emerging markets.
Определение необходимого уровня запасов на складе.
Учитель математики Кулакова Т.М. МОУ ООШ №15 г.о Новокуйбышевск Самарской области Сентябрь 2011г.
Тема урока: Взаимно обратные числа 6 класс. Цели урока: вввести понятие взаимно обратных чисел; ссформировать умение находить взаимно обратные числа.
Сохранение суммы фазовых координат. Важный частный случай представляют системы, в которых в течение всего процесса сохраняется постоянной сумма значений.
Скриптовые языки на примере Perl. Языки программирования Скриптовые Программа (или ее бай-код) интерпретируется Зачастую более высокий уровень абстрагирования.
Виртуальная лаборатория для первоначального обучения проектированию программ Н. Н. Красильников, В. Г. Парфенов, Ф. Н. Царев, А. А. Шалыто Кафедра компьютерных.
Обзор последних достижений биометрических методов аутентификации РусКрипто 2005.
Блок 3. Семейства белков I. Множественное выравнивание Первый курс, весна 2008, А.Б.Рахманинова.
To the Solution of a Bilinear Optimal Control Problem with State Constrains by the Doubled-Variations Method E.A. Rovenskaya Lomonosov Moscow State University,
Генетика пола, сцепленное с полом наследование.. Мужские и женские особи отличаются наличием половых хромосом. У человека: Женский пол – гомогаметен,
1 Генерация контекстных ограничений для баз данных Выполнил: Жолудев В. Научный руководитель: Терехов А.Н. Рецензент: Иванов А.Н.
Основы цифровой обработки речевых сигналов. Общая схема процесса речеобразования x[n] – дискретные отсчеты сигнала возбуждения y[n] – дискретные отсчеты.
Кафедра ЮНЕСКО по НИТ1 Языки программирования высокого уровня Информатика.
Growing Neural Gas Method Нейросетевой метод построения неструктурированных адаптивных сеток.
Сравнение различных методов хранения XML в реляционных базах данных и в разных системах. Нгуен Тхань Хуен- 545 группа Руководитель : Б.А. Новиков Рецензент:
1 Ребенок в Сети. Ребенок играет?
Лекция 2 Наборы из нулей и единиц
Мелкозернистый параллелизм клеточно-автоматных моделей пространственной динамики Лекция 2 Руководитель: д.т.н., проф., Бандман О.Л. Лектор: к.ф.-м.н.,
"The European Molecular Biology Open Software Suite"
Лобанов Алексей Иванович Основы вычислительной математики Лекция 1 8 сентября 2009 года.
1 Влияние машинной архитектуры Структура и принципы работы компьютера На разрабатываемый язык программирования машинная архитектура влияет двояко: –непосредственно.
Автор: Новитская О.В.. Об авторе: Н Новитская Ольга Владимировна Студентка Кемеровского Государственного Университета физического факультета 4 курса группы.
ВЫЧИСЛЕНИЕ В ЛИСПЕ Функциональное программирование Григорьева И.В.
Ряды и произведения sum(expr, n=a..b), где expr – выражение, зависящее от индекса суммирования, a..b – пределы индекса суммирования, Если требуется вычислить.
Применение метода представления функции переходов с помощью абстрактных конечных автоматов в генетическом программировании Царев Ф. Н. Научный руководитель.
Кураева Екатерина Анатольевна, заместитель директора по УВР, учитель математики сш № 29.
Реализация XPath над S-выражениями 2007 Миленин Евгений, гр. 544 Кафедра Системного Программирования Математико-Механический ф-т, СПбГУ Научный руководитель:
МОУ Покровская улусная многопрофильная гимназия МР «Хангаласский улус» Республики Саха (Якутия) (am)n(am)n(am)n(am)n amamamam в -2 a1a1a1a1.
Маршрут, цепь, цикл Маршрутом называют последовательность вершин и ребер, в которой любые два соседних элемента инцидентны (т.е. соединены). Например:
Методы анализа данных. Статистическая проверка гипотез.
Дискретная математика Алгебра логики
Проект «Безопасный браузер» Визовитин Николай Кадашев Дмитрий.
Разработка алгоритмов распознавания текста
ТЕОРИЯ И ПРАКТИКА МНОГОПОТОЧНОГО ПРОГРАММИРОВАНИЯ Тема 5 Некоторые понятия, используемые при разработке параллельных программ Д. ф.- м. н., профессор А.
Демидов А.В г. Операционные системы Лекция 4 Работа с файлами.
ВВЕДЕНИЕ В ВЫЧИСЛИТЕЛЬНУЮ МАТЕМАТИКУ Лекция 5 6 октября 2009 ВЫЧИСЛИТЕЛЬНАЯ ЛИНЕЙНАЯ АЛГЕБРА.
0 + 0= = = = 10 Арифметические операции во всех позиционных системах счисления выполняются по одним и тем же хорошо известным вам правилам.
Проверка эквивалентности срединной и линейной осей многоугольника Дипломная работа студента 545 группы Подколзина Максима Валериевича Санкт-Петербургский.
LINGUISTIC TOOLS ЛИНГВИСТИЧЕСКИЕ ИНСТРУМЕНТЫ Лекция 1.
Тема 8. «Векторы на плоскости и в пространстве»
TMG Tel: 8 (495) Fax: 8 (477) Technology Management Group ООО «TMG» PayKeeper.
Множественное выравнивание С.А.Спирин, весна
XML Схемы XML документов. XML Schema созданая Microsoft позволяет избавиться от DTD блоков. Основа – использование пространств имен и очень точная типизация.
Обработка исключений в C# Единая техника обнаружения ошибок времени выполнения и передачи информации о них.
«Отгадай символы Рождества»
Алгебра логики это раздел математики, изучающий высказывания, рассматриваемые со стороны их логических значений (истинности или ложности) и логических.
Применение графического метода для решения различных математических задач Учитель гимназии №3 Шахова Т. А.
Глава 8. Элементы комбинаторики (п.п ) Подготовили учителя математики ГОУ ЦО №1682 Смагина Екатерина Николаевна Илич Надежда Николаевна.
Опыт Технопарка БНТУ по разработке проектной заявки Что скрывает CBHE? Томашевич Наталия Юрьевна Руководитель Центра МНТС Научно-технологический парк БНТУ.
Jokes Jokes Jokes Teacher: Where's your text book? Student: At home. Teacher: What's it doing there? Student: Having a.
10 интересных фактов о Японии и Японцах. В состав Японии входит островов. При этом четыре наиболее крупных из них - Кюсю, Хонсю, Хоккайдо и Сикоку,
Presentation transcript:

кафедра ЮНЕСКО по НИТ1 Формализация понятия «Алгоритм» Информатика

кафедра ЮНЕСКО по НИТ 2 Постановка проблемы Определение алгоритма, можно назвать понятием алгоритма в интуитивном смысле. Свойства алгоритмов следует называть эмпирическими. Однако, как фундаментальное научное понятие алгоритм требует более обстоятельного изучения. Оно невозможно без уточнения понятия «алгоритм», более строгого его описания или, как еще говорят, без его формализации. Известно несколько подходов к формализации понятия «алгоритм»: теория конечных и бесконечных автоматов; теория вычислимых (рекурсивных) функций; λ-исчисление Черча.

кафедра ЮНЕСКО по НИТ 3 Постановка проблемы Главная цель формализации понятия алгоритма такова: подойти к решению проблемы алгоритмической разрешимости различных математических задач, т.е. ответить на вопрос, может ли быть построен алгоритм, приводящий к решению задачи. Вместе с тем, формально, определенный любым из известных способов, алгоритм не может в практическом программировании заменить то, что мы называли алгоритмами в предыдущей лекции. Основная причина состоит в том, что формальное определение резко сужает круг рассматриваемых задач, делая многие практически важные задачи недоступными для рассмотрения.

кафедра ЮНЕСКО по НИТ 4 История Машины Поста и Тьюринга, предназначенные для доказательств различных утверждений о свойствах программ для них, были предложены независимо друг от друга в 1936 г. американским математиком Эмилем Постом и английским математиком Алланом Тьюрингом. Эти машины представляют собой универсальных исполнителей, являющихся полностью детерминированными, позволяющих «вводить» начальные данные, и после выполнения программ «читать» результат. Машина Поста менее популярна, хотя она значительно проще машины Тьюринга. С ее помощью можно вести обучение первым навыкам составления программ для ЭВМ.

кафедра ЮНЕСКО по НИТ 5 Машина Поста Абстрактная машина Поста представляет собой бесконечную ленту, разделенную на одинаковые клетки, каждая из которых может быть либо пустой, либо заполненной меткой «V», и головки, которая может перемещаться вдоль ленты на одну клетку вправо или влево, наносить в клетку ленты метку, если этой метки там ранее не было, стирать метку, если она была, или проверять наличие в клетке метки. Информация о заполненных метками клетках ленты характеризует состояние ленты, которое может меняться в процессе работы машины.

кафедра ЮНЕСКО по НИТ 6 Машина Поста (2) В каждый момент времени головка («-») находится над одной из клеток ленты и, как говорят, обозревает ее. Информация о местоположения головки вместе с состоянием ленты характеризует состояние машины Поста.

кафедра ЮНЕСКО по НИТ 7 Команда машины Поста Структура команды: п Km, где п - порядковый номер команды, K-действие, выполняемое головкой, т - номер следующей команды, подлежащей выполнению. Существует всего шесть команд машины Поста.

кафедра ЮНЕСКО по НИТ 8 Команды машины Поста

кафедра ЮНЕСКО по НИТ 9 Машина Поста Программой для машины Поста будем называть непустой список команд, такой что 1) на п-м месте команда с номером n; 2) номер т каждой команды совпадает с номером какой-либо команды списка. С точки зрения свойств алгоритмов, изучаемых с помощью машины Поста, наибольший интерес представляют причины останова машины при выполнении программы: 1) останов по команде «стоп»; такой останов называется результативным и указывает на корректность алгоритма (программы); 2) останов при выполнении недопустимой команды; в этом случае останов называется безрезультативным; 3) машина не останавливается никогда; в этом и в предыдущем случае мы имеем дело с некорректным алгоритмом (программой). Будем понимать под начальным состояние расположение головки против пустой клетки левее самой левой метки на ленте.

кафедра ЮНЕСКО по НИТ 10 Машина Поста. Пример №1. Пусть задано исходное состояние головки и требуется на пустой ленте написать две метки: одну в секцию под головкой, вторую справа от нее.

кафедра ЮНЕСКО по НИТ 11 Машина Поста. Пример №2. Покажем, как можно воспользоваться командой условного перехода для организации циклического процесса. Пусть на ленте имеется запись из нескольких меток подряд и головка находится над самой крайней меткой справа. Требуется перевести головку влево до первой пустой позиции..

кафедра ЮНЕСКО по НИТ 12 Машина Поста. Пример №3. Представлении чисел на ленте машины Поста и выполнении операций над ними. Число k представляется на ленте машины Поста идущими подряд k + 1 метками (одна метка означает число «О»). Между двумя числами делается интервал как минимум из одной пустой секции на ленте. Например, запись чисел 3 и 5 на ленте машины Поста будет выглядеть так: Обратим внимание, что используемая в машине Поста система записи чисел является непозиционной.

кафедра ЮНЕСКО по НИТ 13 Машина Поста. Пример №3. Программа для прибавления к произвольному числу единицы. Предположим, что на ленте записано только одно число и головка находится над одной из клеток, в которой находится метка, принадлежащая этому числу.

кафедра ЮНЕСКО по НИТ 14 Машина Поста. Машину Поста можно рассматривать как упрощенную модель ЭВМ. В самом деле, как ЭВМ, так и машина Поста имеют: неделимые носители информации (клетки - биты), которые могут быть заполненными или незаполненными; ограниченный набор элементарных действий - команд, каждая из которых выполняется за один такт (шаг). Обе машины работают на основе программы. Однако, в машине Поста информация располагается линейно и читается подряд, а в ЭВМ можно читать информацию по адресу; набор команд ЭВМ значительно шире и выразительнее, чем команды машины Поста и т.д.

кафедра ЮНЕСКО по НИТ15 Машина Тьюринга

кафедра ЮНЕСКО по НИТ 16 Машина Тьюринга Машина Тьюринга (МТ) состоит из счетной ленты, читающей и пишущей головки, лентопротяжного механизма и операционного исполнительного устройства, которое может находиться в одном из дискретных состояний q 0, q 1,..., q s, принадлежащих некоторой конечной совокупности. При этом q 0 называется начальным состоянием. Читающая и пишущая головка может читать буквы рабочего алфавита А = {а 0, a 1,..., а t }, стирать их и печатать. Каждая ячейка ленты в каждый момент времени занята буквой из множества А. Чаще всего встречается буква а 0 - «пробел». Головка находится в каждый момент времени над некоторой ячейкой ленты - текущей рабочей ячейкой. Лентопротяжный механизм может перемещать ленту так, что головка оказывается над соседней ячейкой ленты. При этом возможна ситуация выхода за левый край ленты (ЛК), которая является аварийной, или машинного останова (МО), когда машина выполняет предписание об остановке.

кафедра ЮНЕСКО по НИТ 17 Машина Тьюринга Порядок работы МТ (с рабочим алфавитом а 0, a 1,..., а t и состояниями q 0, q 1,..., q s ) описывается таблицей машины Тьюринга. Эта таблица является матрицей с четырьмя столбцами и (s + 1) (t + 1) строками. Каждая строка имеет вид

кафедра ЮНЕСКО по НИТ 18 Машина Тьюринга Здесь: v ij обозначен элемент объединения алфавита {а 0, a 1,..., а t } и множества предписаний для лентопротяжного механизма: l - переместить ленту влево, r -переместить ленту вправо, s - остановить машину; v ij - действие МТ, состоящее либо в занесении в ячейку ленты символа алфавита а 0, a 1,..., а t, либо в движении головки, либо в останове машины; q ij является последующим состоянием.

кафедра ЮНЕСКО по НИТ 19 Работа машины Тьюринга МТ работает согласно следующим правилам: если МТ находится в состоянии q i, головка прочитывает символ 0 в рабочей ячейке. Пусть строка q i а j v ij q ij, начинающаяся с символов q i, а j, встречается только один раз в таблице. Если v ij - буква рабочего алфавита, то головка стирает содержимое рабочей ячейки и заносит туда эту букву. Если v ij - команда r или l для лентопротяжного механизма, то лента сдвигается на одну ячейку вправо или влево (если не происходит выход за левый край ленты) соответственно. Если v ij =s, то происходит машинный останов.

кафедра ЮНЕСКО по НИТ 20 Машина Тьюринга. Пример №1. Алгоритм прибавления единицы к числу п в десятичной системе счисления. Дана десятичная запись числа п; требуется получить десятичную запись числа п + 1. Очевидно, что внешний алфавит МТ должен состоять из десяти цифр 0,1,2,3,4,5,6,7,8,9 и символа пробела _. Эти цифры записывают по одной в ячейке (подряд, без пропусков). Оказывается достаточным иметь два внутренних состояния машины: q 1 и q 2. Предположим, что в начальный момент головка находится над одной из цифр числа, а машина находится в состоянии q 1. Тогда задача может быть решена в два этапа: движения головки к цифре единиц числа (во внутреннем состоянии q 1 ) и замене этой цифры на единицу большую (с учетом переноса 1 в следующий разряд, если это 9, во внутреннем состоянии q 2. Соответствующая схема МТ может иметь вид

кафедра ЮНЕСКО по НИТ 21 Машина Тьюринга. Пример №1. аiаi qiqi q1q1 q2q2 00Пq 1 1Cq 2 11Пq 1 2Cq 2 22Пq 1 3Cq 2 33Пq 1 4Cq 2 44Пq 1 5Cq 2 55Пq 1 6Cq 2 66Пq 1 7Cq 2 77Пq 1 8Cq 2 88Пq 1 9Cq 2 99Пq 1 0Cq 2 --Лq 1 1Cq 2

кафедра ЮНЕСКО по НИТ 22 Нормальные алгоритмы Маркова Рассмотрим некоторые понятия ассоциативного исчисления. Пусть имеется алфавит (конечный набор различных символов). Составляющие его символы будем называть буквами. Любая конечная последовательность букв алфавита (линейный их ряд) называется словом в этом алфавите. Рассмотрим два слова N и М в некотором алфавите А. Если N является частью М, то говорят, что N входит в М. Зададим в некотором алфавите конечную систему подстановок N - М, S - Т,..., где N, М, S, Т,... - слова в этом алфавите. Любую подстановку N- M можно применить к некоторому слову К следующим способом: если в К имеется одно или несколько вхождений слова N, то любое из них может быть заменено словом М, и, наоборот, если имеется вхождение М, то его можно заменить словом N. Например, в алфавите А = {а, b, с} имеются слова N = ab, М = bcb, К = abcbcbab, Заменив в слове К слово N на М, получим bcbcbcbab или abcbcbbcb, и, наоборот, заменив М на N, получим aabcbab или аbсаbаb.

кафедра ЮНЕСКО по НИТ 23 Нормальные алгоритмы Маркова Подстановка ab - bcb недопустима к слову bacb, так как ни ab, ни bcb не входит в это слово. К полученным с помощью допустимых подстановок словам можно снова применить допустимые подстановки и т.д. Совокупность всех слов в данном алфавите вместе с системой допустимых подстановок называют ассоциативным исчислением. Чтобы задать ассоциативное исчисление, достаточно задать алфавит и систему подстановок. Слова P1 и Р2 в некотором ассоциативном исчислении называются смежными, если одно из них может быть преобразовано в другое однократным применением допустимой подстановки. Последовательность слов Р, P1, Р2,..., М называется дедуктивной цепочкой, ведущей от слова Р к слову М, если каждое из двух рядом стоящих слов этой цепочки - смежное. Слова Р и М называют эквивалентными, если существует цепочка от Р к М и обратно.

кафедра ЮНЕСКО по НИТ 24 Нормальные алгоритмы Маркова. Пример. АлфавитПодстановки {а, b, с, d, е}ас - сa, abac - abace ad - da; eca - ae bc - cb; eda - be bd - db; edb - be

кафедра ЮНЕСКО по НИТ 25 Нормальные алгоритмы Маркова Нормальные алгоритмы Маркова являются не только средством теоретических построений, но и основой специализированного языка программирования, применяемого как язык символьных преобразований при разработке систем искусственного интеллекта. Это один из немногих языков, разработанных в России и получивших известность во всем мире. Существует строгое доказательство того, что по возможностям преобразования нормальные алгоритмы Маркова эквивалентны машинам Тьюринга.

кафедра ЮНЕСКО по НИТ 26 Рекурсивные функции Еще одним подходом к проблеме формализации понятия алгоритма являются, так называемые, рекурсивные функции. Рекурсией называется способ задания функции, при котором значение функции при определенном значении аргументов выражается через уже заданные значения функции при других значениях аргументов. Применение рекурсивных функций в теории алгоритмов основано на идее нумерации слов в произвольном алфавите последовательными натуральными числами. Таким образом любой алгоритм можно свести к вычислению значений некоторой целочисленной функции при целочисленных значениях аргументов.

кафедра ЮНЕСКО по НИТ 27 Рекурсивные функции. Основные понятия. Пусть X, Y - два множества. Частичной функцией (или отображением) из Х в Y будем называть пару, состоящую из подмножества D(f)  X (называемого областью определения f) и отображения f: D(f)  Y. Если D(f) пусто, то f нигде не определена. Будем считать, что существует единственная нигде не определенная частичная функция.

кафедра ЮНЕСКО по НИТ 28 Рекурсивные функции. Основные понятия. Через N будем обозначать множество натуральных чисел. Через (N) n (при n  1) будем обозначать n-кратное декартово произведение N на себя, т.е. множество упорядоченных n-ок (х 1..., x n ), х i  N. Основным объектом дальнейших построений будут частичные функции из (N) m в (N) n для различных m и n.