Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Answers_proga_1sem.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
237.57 Кб
Скачать

Так, вот и наш вариант ответов 

Большое спасибо Сергею Жгировскому, Андрею Малевичу, Саше Соколову, Кириллу Лашуку и остальным, кто увидел своё творчество на этих страницах.

Очень приветствуется критика этих ответов (только конструктивная ) и дополнение ответов, только чтобы не очень большое. Свои претензии и пожелания высказывайте либо в контакте (в группе), либо на асю 179590800. Если что – подправим 

0. Алгоритм и его свойства.

Алгоритмом называется точная инструкция исполнителю в понятной для него форме, определяющая процесс достижения поставленной цели на основе имеющихся исходных данных за конечное число шагов. Основными свойствами алгоритмов являются: 1. Универсальность (массовость) - применимость алгоритма к различным наборам исходных данных. 2. Дискретность - процесс решения задачи по алгоритму разбит на отдельные действия. 3. Однозначность - правила и порядок выполнения действий алгоритма имеют единственное толкование. 4. Конечность - каждое из действий и весь алгоритм в целом обязательно завершаются. 5. Результативность - по завершении выполнения алгоритма обязательно получается конечный результат. 6. Выполнимость - результата алгоритма достигается за конечное число шагов.

1. Почему необходимо формализовать понятие алгоритма?

Введенного на интуитивном уровне понятия алгоритма и опытным путем установленных свойств алгоритмов вполне достаточно для решения широкого круга математических задач. Достаточно такого подхода и при решении практических задач программирования компьютеров. Однако, в тех случаях, когда задача оказывается сложной и алгоритмическое решение задачи найти не удается, встает вопрос о ее алгоритмической разрешимости. При этом требуется понятие алгоритма формализовать, т.е. четко определить исполнителя алгоритмов, с помощью которого можно провести доказательство алгоритмической неразрешимости задачи. В первой половине XX века почти параллельно было разработаны несколько подходов к формализации алгоритмов — рекурсивные функции, абстрактные машины Тьюринга и Поста, λ-исчисление, нормальные алгорифмы (так это традиционно называется в математике) Маркова, впоследствии оказавшиеся эквивалентными. Некоторые из этих подходов оказали воздействие на становление информатики и нашли отражение в производственных языках программирования — таких как Lisp (λ-исчисление), Рефал (нормальные алгорифмы Маркова). Последний язык — используется в исследованиях и разработках в области искусственного интеллекта, — кстати, чуть ли не единственный, разработанный в России и получивший мировое признание.

  1. Пример формализации – машина Поста.

Абстрактная машина Поста представляет собой бесконечную ленту, разделенную на одинаковые клетки, каждая из которых может быть либо пустой, либо заполненной меткой «V». У машины есть головка, которая может перемещаться вдоль ленты на одну клетку вправо или влево, наносить в клетку ленты метку, если этой метки там ранее не было, стирать метку, если она была, либо проверять наличие в клетке метки. Информация о заполненных метками клетках ленты характеризует состояние ленты, которое может меняться в процессе работы машины. В каждый момент времени головка находится над одной из клеток ленты и, как говорят, обозревает ее. Информация о местоположения головки вместе с состоянием ленты характеризует состояние машины Поста. Работа машины Поста заключается в том, что головка передвигается вдоль ленты (на одну клетку за один шаг) влево или вправо, наносит или стирает метки, а также распознает, есть ли метка в клетке в соответствии с заданной программой, состоящей из отдельных команд.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]