Машина Поста. Уточнение понятия Алгоритма
Биографический очерк деятельности американского математика, логика и создателя абстрактной вычислительной машины, способной запрограммировать любые алгоритмы. Анализ представления информации в современных ЭВМ. Задания и программы для машины Поста.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 06.11.2013 |
Размер файла | 929,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Реферат
по дисциплине: Архитектура ЭВМ
на тему: Машина Поста. Уточнение понятия Алгоритма
Выполнил:
Удодов Иван Сергеевич
2013 год
Эмиль Леон Пост (1897-1954) - американский математик и логик. Один из основателей многозначной логики (1921).
Трудился в области математической логики:
- создал алгебру Поста, классы Поста функций алгебры логики;
- предложил абстрактную вычислительную машину - машину Поста.
Одним из центральных понятий информатики является понятие алгоритма. Практически одновременно с Тьюрингом (тоже в 1936 году) и независимо от него, американский математик Эмиль Пост предлагает еще более простого исполнителя, названного позже машиной Поста. Обе машины «эквивалентны» и были созданы для уточнения понятия «алгоритм». При разработке вычислительной конструкции Пост руководствовался принципом создания максимально простой абстракции: минимумом операций при обработке информации, входная информация должна быть закодирована с использованием минимального набора символов.
Машина Поста - это абстрактная (т. е., не существующая в арсенале действующей техники), но очень простая вычислительная машина. Она способна выполнять лишь самые элементарные действия, и потому ее описание и составление простейших программ может быть доступно ученикам начальной школы. Тем не менее на машине Поста можно запрограммировать - в известном смысле - любые алгоритмы. Изучение машины Поста можно рассматривать как начальный этап обучения теории алгоритмов и программированию. Разработка программ для машин Поста - достаточно эффективный этап в обучении алгоритмизации, т. к., в процессе написания этих программ учащиеся учатся разбивать интуитивно понятные вычислительные процедуры на элементарные действия. Изучение машины Поста полезно как школьникам, интересующимся информатикой и математикой, так и студентам младших курсов, обучающимся по специальности “прикладная математика и информатика”. При этом теоретический материал доступен даже школьникам младших классов, но требует в этом случае некоторых методических поправок. Несмотря на “примитивность” машины Поста, любой существующий алгоритм может быть записан в виде программы для машины Поста. В теории алгоритмов существует так называемый “тезис Поста”: “Всякий алгоритм представим в форме машины Поста”. Этот тезис одновременно является формальным определением алгоритма. Алгоритм (по Посту) - программа для машины Поста, приводящая к решению поставленной задачи.
Тезис Поста является гипотезой. Его невозможно строго доказать (так же, как и тезис Тьюринга), потому что в нем фигурируют, с одной стороны, интуитивное понятие “всякий алгоритм”, а с другой стороны - точное понятие “машина Поста”. Для того чтобы опровергнуть гипотезу Поста, необходимо придумать алгоритм, который невозможно записать в виде программы для машины Поста. На сегодняшний день такого алгоритма не существует.
Машина Поста состоит из ленты и каретки (называемой также считывающей и записывающей головкой). Лента бесконечна и разделена на секции одинакового размера - ячейки.
Рис. 1. - В каждый момент времени каретка указывает на одну из ячеек:
В каждой ячейке ленты может быть либо ничего не записано, либо стоять метка V.
Информация о том, какие ячейки пусты, а какие содержат метки, образует состояние ленты. Иными словами, состояние ленты - это распределение меток по ячейкам.
Состояние ленты меняется в процессе работы машины. Заметим, что наличие метки в ячейке можно интерпретировать как “1”, а отсутствие - “0”. Такое двоичное представление информации подобно представлению, используемому практически во всех современных ЭВМ.
Каретка может передвигаться вдоль ленты влево и вправо. Когда она неподвижна, она стоит против ровно одной ячейки ленты, говорят, что каретка обозревает одну ячейку. За единицу времени каретка может совершить одно из трех действий: стереть метку, поставить метку, совершить движение на соседнюю ячейку. Состояние машины Поста складывается из состояния ленты и положения каретки.
Действия каретки подчинены программе, состоящей из перенумерованного набора команд (команды можно представлять как строки программы). Команды бывают шести типов:
1. записать 1 (метку), перейти к i-й строке программы;
2. записать 0 (стереть метку), перейти к i-й строке программы;
3. сдвиг влево, перейти к i-й строке программы;
4. сдвиг вправо, перейти к i-й строке программы;
5. останов;
6. если 0, то перейти к i, иначе перейти к j.
Приведем список недопустимых действий, ведущих к аварийной остановке машины:
1. попытка записать 1 (метку) в заполненную ячейку;
2. попытка стереть метку в пустой ячейке;
3. бесконечное выполнение (вообще говоря, это трудно назвать аварийным остановом, но бессмысленное повторение одних и тех же действий - зацикливание - ничуть не лучше вышеперечисленного).
Машина Поста, несмотря на внешнюю простоту, может производить различные вычисления, для чего надо задать начальное состояние каретки и программу, которая эти вычисления сделает.
Машиной эта математическая конструкция названа потому, что при ее построении используются некоторые понятия реальных машин (ячейка памяти, команда и др.).
Условимся каждый шаг программы обозначать номером. Команды машины будем обозначать следующим образом:
Таблица 1:
Будем говорить, что мы можем применить программу к текущему состоянию машины Поста.
Если выполнение программы не приведет к зацикливанию, т. е., рано или поздно мы выполним команду останов.
Пример программы, которая не применима ни к одному состоянию машины Поста:
Рис. 2:
Существует также Тренажер «Машина Поста».
Тренажёр «Машина Поста» - это учебная модель универсального исполнителя (абстрактной вычислительной машины), основанного на работах Э.Л. Поста по уточнению понятия алгоритма.
Таблица 2:
Рассмотрим задания для машины Поста и их решения.
Задание 1:
На ленте проставлена метка в одной-единственной ячейке. Каретка стоит на некотором расстоянии левее этой ячейки.
Необходимо подвести каретку к ячейке, стереть метку и остановить каретку слева от этой ячейки.
Решение:
Сначала попробуем описать алгоритм обычным языком.
Поскольку нам известно, что каретка стоит напротив пустой ячейки, но неизвестно, сколько шагов нужно совершить до пустой ячейки, мы можем сразу:
- сделать шаг вправо;
- проверить, заполнена ли ячейка;
- если она пустая, то повторять эти действия до тех пор, пока не наткнемся на заполненную ячейку.
Как только мы ее найдем, мы выполним операцию стирания, после чего нужно будет лишь сместить каретку влево и остановить выполнение программы.
Рис. 3. - Программа для машины Поста:
Задание 2:
Увеличить число 3 на единицу (изменить значение в памяти с 3 на 4).
Целое положительное число на ленте машины Поста представимо идущими подряд метками, которых на одну больше, чем кодируемое число.
Это связано с тем, что одна метка обозначает ноль, а уже две - единицу, и т. д.
Допустим, точно известно, что каретка стоит где-то слева от меток и обозревает пустую ячейку. Тогда программа увеличения числа на единицу может выглядеть так:
Рис. 4:
А процесс выполнения может быть таким:
Рис. 5:
Задание 3:
На ленте задан массив меток. Увеличить длину массива на 2 метки. Каретка находится либо слева от массива, либо над одной из ячеек самого массива.
Решение представлено на рисунке 6.
Рис. 6:
Задание 4: вычислительный запрограммированный алгоритм
На ленте машины Поста расположен массив из 2-1 меток. Составить программу удаления средней метки массива.
Решение:
Идея решения состоит в следующем: во вторых ячейках от каждого края массива ставим “маячки-пузырьки” (эти ячейки делаем пустыми). Далее последовательно перемещаем к центру левый и правый пузырьки. Эти пузырьки встретятся ровно на центральном элементе исходного массива. При реализации программы надо отдельно учесть три случая:
n = 1;
n = 3;
n > 3.
Считаем, что в начале работы каретка стоит на самой левой метке массива.
Рис. 7:
Размещено на Allbest.ru
...Подобные документы
Изучение понятия абстрактной вычислительной машины и автомата, как ее разновидности, которая определяется множеством входных и выходных сигналов, функцией, задающей переходы из одних состояний в другие. Формальная переработка последовательностей символов.
реферат [24,6 K], добавлен 20.10.2013Происхождение и сущность понятия "алгоритм". Основные требования к алгоритмам. Роль абстрактных алгоритмических систем. Алгоритм как абстрактная машина. Алгоритмическая машина Поста. Схема логического устройства и функционирования машины Тьюринга.
реферат [62,2 K], добавлен 16.03.2011Разработка программы для изображения в графическом режиме на экране структуры модели вычислительной машины и демонстрация функционирования при выполнении программы вычисления. Описание процесса разработки, обоснование структур данных и их форматов.
курсовая работа [170,3 K], добавлен 07.06.2019Более строгое описание алгоритма, чем общее или формализация понятия алгоритма. Три подхода к формализации: теория конечных и бесконечных автоматов, теория вычислимых (рекурсивных) функций и л-исчисление Черча. Воображаемые машины Поста и Тьюринга.
реферат [370,0 K], добавлен 09.02.2009Характеристика машины Леонардо да Винчи. Исследование принципа действия машины В. Шиккарда. Суммирующая машина Паскаля и ее особенности. Счетная машина Лейбница и ее анализ. Основные автоматизированные устройства программирования: перфокарты Жаккара.
презентация [823,4 K], добавлен 18.04.2019Суть достижений Чарльза Бэббиджа и его ученицы и помощницы Ады Лавлейс. Изобретение в 1922 году разностной машины, способной рассчитывать и печатать большие математические таблицы. Разработка Бэббиджом аналитической машины для автоматизации вычислений.
доклад [14,3 K], добавлен 07.01.2012Архитектура виртуальной машины, абстракция и виртуализация. Обзор технологии виртуальной машины, ее преимущества и недостатки. Возможности VirtualBox по работе с виртуальными жесткими дисками. Установка Windows 8 в VirtualВox, главное окно программы.
курсовая работа [3,7 M], добавлен 22.03.2014Первый автор идеи создания вычислительной машины, которая в наши дни называется компьютером. Главные изобретения Бэббиджа. Малая разностная машина и разностная машина Чарльза Бэббиджа. Архитектура аналитической машины. Изобретение тахометра и спидометра.
реферат [30,7 K], добавлен 22.01.2013Роль микроконтроллеров в современных системах управления. Проектирование схемы на основе микроконтроллера Aduc812, которая будет контролировать работу бытовой стиральной машины. Элементная база, описание и функционирование программы, ее листинг.
курсовая работа [101,3 K], добавлен 23.12.2012Простое вычислительное устройство машина Тьюринга и ее алгоритмические свойства. Тезис Черча–Тьюринга и моделирование машины Тьюринга (операции перезаписи ячеек, сравнения и перехода к другой соседней ячейке с учетом изменения состояния машины).
контрольная работа [23,3 K], добавлен 24.04.2009Разработка гипотетической машины при помощи макросредств ассемблера. Разработка алгоритма для реализации обязательных команд: сравнения двух символьных строк; их обмена; определения длины слова. Основные функции обработки строки, листинг программы.
курсовая работа [59,6 K], добавлен 14.07.2012История появления и развития первых вычислительных машин. Изучение характеристик электронно-вычислительной машины. Архитектура и классификация современных компьютеров. Особенности устройства персональных компьютеров, основные параметры микропроцессора.
курсовая работа [48,6 K], добавлен 29.11.2016Сущность понятия "код блюда". Алгоритмы обучения и использования программы. Логика работы программы. Общий интерфейс программы. Последовательность обучения программе Lota+. Интерфейс программы в момент выбора параметров и получения общего результата.
курсовая работа [563,6 K], добавлен 01.12.2009Информационная деятельность человека: хранение, передача, обработка данных. Истоки гениального изобретения. Вычислительные машины до электронной эры. Первый микропроцессор и персональный компьютер. Релейные вычислительные машины. Машина ENIAC. IBM 7094.
презентация [546,1 K], добавлен 17.05.2016Принципы работы и основы программирования машины Тьюринга, а также перечень правил написания алгоритмов на ее эмуляторе. Особенности решения задачи по сложению нескольких чисел в двоичной системе путем реализации ее алгоритма на эмуляторе машины Тьюринга.
контрольная работа [82,4 K], добавлен 05.12.2010Формирование и зарождение научного понятия алгоритма и его трансформация в современное понимание интуитивного алгоритма: изложение традиционных теорий и их дальнейшее уточнение. Исследование логических теорий алгоритмов с философской точки зрения.
книга [315,7 K], добавлен 10.12.2009Определение понятия "суперкомпьютер". Рассмотрение особенностей программного обеспечения, производительности, сферы применения суперкомпьютеров. Принципы работы и основные характеристики SuperMUC. Фотоэкскурсия по самому быстрой информационной машине.
курсовая работа [1,7 M], добавлен 15.04.2015Автоматизация обработки данных. Информатика и ее практические результаты. История создания средств цифровой вычислительной техники. Электромеханические вычислительные машины. Использование электронных ламп и ЭВМ первого, третьего и четвертого поколения.
дипломная работа [1,1 M], добавлен 23.06.2009Методика разработки программы, предназначенной для разбора предложения с помощью многоленточной машины Тьюринга. Цели и назначение данной системы, основные требования, предъявляемые к ней. Организационно-исполнительные работы по содержанию системы.
курсовая работа [386,8 K], добавлен 16.12.2010Счетные устройства до появления ЭВМ. Домеханический период. Счет на пальцах, на камнях. Палочки Непера. Логарифмическая линейка. Механический период. Машина Блеза Паскаля, Готфрида Лейбница. Перфокарты Жаккара. Аналоговые вычислительные машины (АВМ).
реферат [62,4 K], добавлен 29.11.2008