Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОТВЕТЫ НА ДИФ ЗАЧЕТ ТЕОРИЯ АЛГОРИТМОВ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
216.06 Кб
Скачать

1 вопрос Алгори́тм — набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное число действий. Основные свойства алгоритмов:

  1. Понятность для исполнителя — т.е. исполнитель алгоритма должен знать, как его выполнять.

  2. Дискpетность (прерывность, раздельность) — т.е. алгоpитм должен пpедставлять пpоцесс pешения задачи как последовательное выполнение пpостых (или pанее опpеделенных) шагов (этапов).

  3. Опpеделенность — т.е. каждое пpавило алгоpитма должно быть четким, однозначным и не оставлять места для пpоизвола. Благодаpя этому свойству выполнение алгоpитма носит механический хаpактеp и не тpебует никаких дополнительных указаний или сведений о pешаемой задаче.

  4. Pезультативность (или конечность). Это свойство состоит в том, что алгоpитм должен пpиводить к pешению задачи за конечное число шагов.

  5. Массовость. Это означает, что алгоpитм pешения задачи pазpабатывается в общем виде, т.е. он должен быть пpименим для некотоpого класса задач, pазличающихся лишь исходными данными. Пpи этом исходные данные могут выбиpаться из некотоpой области, котоpая называется областью пpименимости алгоpитма.

Требования к алгоритмам:

1. Любой алгоритм применяется к исходным данным и выдает результат. Т.е. всегда существует некий конструктивный объект к которому применяется алгоритм. Ясно, что объекты должны быть четко определены и отличимы друг от друга Чаще всего в качестве конструктивных объектов выступают данные или структуры данных.

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

3. Алгоритм состоит из отдельных элементарных шагов (действий). Множество шагов алгоритма конечно.

4. Последовательность шагов алгоритма детерминирована, т.е. после каждого шага указывается следующий шаг, либо алгоритм останавливается.

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

6. Следует различать:

· описание алгоритма (инструкцию или программу);

· механизм реализации алгоритма (устройство, например, ЭВМ), включающий средства пуска, остановки, управления ходом вычислений и т.д.);

Способы представления алгоритмов:

  • словесная (записи на естественном языке);

  • графическая (изображения из графических символов);

  • псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);

  • программная (тексты на языках программирования).

    Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке. Например. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел.

Вопрос 2

Маши́на Тью́ринга (МТ) — абстрактный исполнитель (абстрактная вычислительная машина). Была предложена Аланом Тьюрингом в 1936 году для формализации понятия алгоритма. Вычислимые по Тьюрингу функции:

Вычислимость по Тьюрингу - функция называется вычислимой по Тьюрингу, если существует машина Тьюринга, вычисляющая эту функцию.

Практическая вычислимость _ это вычислимость, которая реализуется с помощью физического автомата и является значительно более узким понятием, чем вычислимость по Тьюрингу.

Вопрос 3

В теории вычислимости алгоритмически неразрешимой задачей называется задача, имеющая ответ да или нет для каждого объекта из некоторого множества входных данных, для которой (принципиально) не существует алгоритма, который бы, получив любой возможный в качестве входных данных объект, останавливался и давал правильный ответ после конечного числа шагов.

Причины, ведущие к алгоритмической неразрешимости.

  • Аналог десятой проблемы Гильберта для уравнений степени 3

  • Аналог десятой проблемы Гильберта для уравнений в рациональных числах[7]

  • Проблема умирающей матрицы для матриц порядка 2

Вопрос 4

Длинная арифметика — в вычислительной технике операции (сложениевычитаниеумножениеделениевозведение в степеньэлементарные функции) над числами, разрядность которых превышает длину машинного слова данной вычислительной машины. Эти операции реализуются не аппаратно, а программно, используя базовые аппаратные средства работы с числами меньших порядков. Частный случай — арифметика произвольной точности — относится к арифметике, в которой длина чисел ограничена только объёмом доступной памяти.Числа, для представления которых в стандартных компьютерных типах данных не хватает количества двоичных разрядов, называются иногда «длинными». В этом случае программисту приходится самостоятельно создавать подпрограммы выполнения арифметических операций. Рассмотрим один из возможных способов их реализации.

Представление в памяти компьютера целых положительных чисел4210  = 1010102Знак числа.У положительного числа – 0, у отрицательного – 1.

Вопрос 5

Машина Поста (МП) — абстрактная вычислительная машина, предложенная Эмилем Леоном Постом (Emil L. Post), которая отличается от машины Тьюринга большей простотой. Обе машины «эквивалентны» и были созданы для уточнения понятия «алгоритм».В 1936 г. американский математик Эмиль Пост в статье описал систему, обладающую алгоритмической простотой и способную определять, является ли та или иная задача алгоритмически разрешимой. Если задача имеет алгоритмическое решение, то она представима в форме команд для машины Поста.

Принцип работы

Машина Поста состоит из каретки (или считывающей и записывающей головки) и разбитой на секции бесконечной в обе стороны ленты (см. пример ниже). Каждая секция ленты может быть либо пустой — 0, либо помеченной меткой 1. За один шаг каретка может сдвинуться на одну позицию влево или вправо, считать, поставить или стереть символ в том месте, где она стоит. Работа машины Поста определяется программой, состоящей из конечного числа строк. Для работы машины нужно задать программу и ее начальное состояние (т. е. состояние ленты и позицию каретки). Кареткой управляет программа, состоящая из строк команд. Каждая команда имеет следующий синтаксис:

i K j,

где i - номер команды, K – действие каретки, j - номер следующей команды (отсылка).

Всего для машины Поста существует шесть типов команд:

V j - поставить метку, перейти к j-й строке программы.

X j - стереть метку, перейти к j-й строке программы.

<- j - сдвинуться влево, перейти к j-й строке программы.

-> j - сдвинуться вправо, перейти к j-й строке программы.

? j1; j2 - если в ячейке нет метки, то перейти к j1-й строке программы, иначе перейти к j2-й строке программы.

! – конец программы (стоп).