Теория вычислительных процессов

Основные понятия теории вычислимости и разрешимости. Способ вычисления функций с помощью машины Тьюринга. Конечные детерминированные полностью определённые одноленточные автоматы, алгоритм проверки эквивалентности. Стандартные, рекурсивные схемы программ.

Рубрика Программирование, компьютеры и кибернетика
Вид методичка
Язык русский
Дата добавления 01.02.2013
Размер файла 106,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Теория вычислительных процессов

Методические указания к выполнению лабораторных работ

Оглавление

Лабораторная работа 1. Вычислимость и разрешимость

Лабораторная работа 2. Конечные детерминированные полностью определённые одноленточные автоматы

Лабораторная работа 3. Схемы программ

Лабораторная работа 4. Сети Петри

Рекомендуемая литература

Лабораторная работа 1

Вычислимость и разрешимость

Цель работы: изучить и осознать основные понятия теории вычислимости и разрешимости.

Задания

1. Изучить основные понятия:

- полностью и частично определённая функция, вычислимая и невычислимая функция;

- массовые алгоритмические проблемы, характеристическая и частичная характеристическая функция множества, разрешимые и перечислимые множества, разрешимые, частично разрешимые и неразрешимые проблемы.

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

3. Программно реализовать машину Тьюринга.

Теоретические сведения

Ведем некоторые соглашения об обозначениях элементов теории множеств и логики.

Множество - есть набор несовпадающих объектов, которые мы будем задавать явным перечислением, и заключать в фигурные скобки. Например: D - множество дней недели:

D = { Пн, Вт, Ср, Чт, Пт, Сб, Вс }, D1 = { Вт, Ср, Чт, Пн, Сб, Пт, Вс }.

D и D1 эквивалентны, т.е. порядок элементов не важен.

Будем использовать обозначения:

x A - x есть элемент и принадлежит множеству A; x ?A - x не является элементом множества А.

Для бесконечных множеств метод перечисления элементов множества не применим, для этого используется характеристическое свойство А = {x | p(x)}, где х - переменная, значениями которой являются некоторые объекты, а р - свойство тех и только тех значений х, которые являются элементами задаваемого множества.

Пустое множество - множество, которое не содержит ни одного элемента, обозначается Ш или {}.

Если каждый элемент множества А является элементом множества В, то множество А является подмножеством множества В, будем писать A B.

Если хотя бы один элемент множества А не является элементом множества В, то множество А не является подмножеством множества В и это записывается А В.

Декартовым произведением А1 А2 Аn множеств А1, А2 … и Аn называется множество {(a1, a2, …, an) | a1 A1, a2 A2, , an An}, а An обозначает А А А (n раз).

Функцией, отображающей множество Х во множество Y (обозначение F: X > Y), называется множество F XY такое, что для любых пар (x, y)F и (x' y') F из x = x' следует, что y = y'.

Множество {x | (x, y) F} - область определения функции F (или множество значений ее аргумента); множество {y | (x, y) F} - область значений функции F.

Функцию F: X > Y называют n-местной функцией над множеством А, если Y = A и X = An.

Предикатом называют функцию, областью значений которой является множество символов-цифр {0, 1}. При этом говорят, что предикат P: X > {0, 1} истинен для x X, если P(x) = 1, и ложен, если P(x) = 0. Отношение на множестве Х - это двухместный предикат P: X2 > {0, 1}.

Алфавитом называют непустое конечное множество символов. Например, V1 = {a, b}, V2 = {0, 1}, V3 = {a, +, 1, =} - алфавиты. Словом в алфавите V называется конечный объект, получаемый выписыванием одного за другим символов V, например, а + 1 = 1 + а - слово в алфавите V3, 101011 - слово в алфавите V2, abaab - слово в алфавите V1. Длина слова - число символов в нем, пустое слово не содержит ни одного символа.

Множество всех слов в алфавите V обозначается V*.

n-местной словарной функцией над алфавитом V называют n-местную функцию над V*, т. е. функцию из V* V* V* (n раз) в V*.

Данное выше определение функции не содержит указаний о том, как для заданных значений аргументов получить соответствующие значения функции. Было бы практичнее переформулировать это определение таким образом, чтобы оно содержало конструктивную процедуру, или алгоритм, нахождения значений функции. Однако такое определение уже приведенного выше, т. е. определяет лишь некоторый подкласс функций, которые называют вычислимыми функциями.

Тьюринг в середине 30-х годов формализовал способ получения значений вычислимой функции с помощью абстрактной «математической машины», вычисляющей значения функции по значениям ее аргументов. Конкретная машина Тьюринга задает конкретную вычислимую функцию и его гипотеза (тезис) состояла в том, что каждая функция, для которой существует алгоритм нахождения ее значений, представима некоторой машиной Тьюринга, т. е. является вычислимой. Тезис Тьюринга не может быть доказан, так как наряду с формальным понятием вычислимой функции он содержит эмпирическое понятие алгоритма. Однако интуиция, отсутствие опровергающих примеров и равносильность различных формализаций вычислимости убеждают в справедливости этого тезиса.

Машина Тьюринга Т задает словарную функцию над некоторым алфавитом V и представляет собой описание машины -- набор (F, Q, q0, #, I) - и правило функционирования, общее для всех машин, где

V -- алфавит машины;

Q -- конечное непустое множество символов, называемых состояниями машины (Q V =);

q0 -- выделенный элемент множества Q, называемый начальным состоянием;

# -- специальный «пустой» символ, не принадлежащий ни V, ни Q;

I -- программа машины.

Программа машины -- это конечное множество слов вида qa q'a'd, называемых командами, где q, q' Q, a, a' V {#}; -- вспомогательный символ-разделитель; d -- элемент множества {l, r, р}, содержащего три специальных символа, которых нет ни в V, ни в Q. Предполагается также, что в программе I никакие две команды не могут иметь одинаковую пару первых двух символов.

Правило функционирования поясним неформально на распространенной «физической» модели машины Тьюринга. Машина состоит из потенциально бесконечной (в обе стороны) ленты, управления и головки, перемещаемой вдоль ленты (см. рисунок). Лента разбита на клетки, которые могут содержать символы из алфавита V или быть пустыми, т. е. содержать символ #. Управление на каждом шаге работы машины находится в одном из состояний из Q, расшифровывает программу, которая однозначно определяет поведение машины и управляет головкой. Головка в каждый момент расположена против некоторой клетки ленты и может считывать символы с ленты, записывать их на ленту и перемещаться в обе стороны вдоль ленты. Машина функционирует следующим образом. В начальный момент на ленте записано некоторое слово из V, а управление находится в начальном состоянии q0. Начальное слово, равно как и слова, появляющиеся в процессе работы машины, ограничено с двух сторон пустыми символами #. Головка обозревает крайний слева символ заданного слова.

Работа машины состоит в повторении следующего цикла элементарных действий: вычислимость тьюринг конечный автомат

1) считывание символа, находящегося против головки;

2) поиск применимой команды, а именно той команды qa q'a'd, в которой q -- текущее состояние управления, а -- считанный символ;

3) выполнение найденной команды, состоящее в переводе управления в новое состояние q', записи в обозреваемую головкой клетку символа а' (вместо стираемого символа а) и последующем перемещении головки вправо, если d = r, влево, если d = I, или сохранении ее в том же положении, если d = р.

Машина останавливается в том и только в том случае, если на очередном шаге ни одна из команд не применима. Результат работы остановившейся машины -- заключительное слово на ленте.

Машина Тьюринга, перерабатывая начальные слова на ленте в заключительные, задает словарную функцию, для которой начальные слова - значения аргумента, заключительные - значения функции. (Для представления n-местной функции начальное слово на ленте имеет вид #a1 #a2 # … #an #, где подслова a1, a2,…, an не содержат символа #. При интерпретации заключительного слова на ленте как значения функции символ # игнорируется). Если машина не останавливается, начав работу с некоторым словом на ленте, то функция, задаваемая машиной, считается неопределенной для этого слова. Таким образом, машина Тьюринга Т задает частичную функцию FT и способ вычисления ее значений. Хотя машины Тьюринга оперируют со словами, они могут задавать и числовые функции в силу установленной выше связи между словами и числами.

По определению, функция F является (частично) вычислимой, если существует машина Тьюринга Т такая, что FT = F. Говорят также, что для функции F существует (частичный) алгоритм вычисления ее значений, задаваемый машиной Т.

Для машины Тьюринга, как и для всех других формальных способов задания алгоритмов, включая программы для ЭВМ, характерны следующие свойства:

1) конструктивность -- машина Тьюринга представляет собой конечный объект, построенный по определенным правилам из базовых объектов;

2) конечность -- процесс нахождения значений функции для тех значений аргументов, для которых она определена, состоит из конечного числа шагов;

3) однозначность -- результат работы машины единственным образом определяется начальным словом;

4) массовость -- машина работает с любым начальным словом на ленте, составленным из символов ее алфавита.

Машина Тьюринга однозначно задается своей программой. Если упорядочить ее команды и закодировать последовательность команд словом в алфавите машины Тьюринга, то можно получить ее описание в собственном алфавите. Заметим, что одной и той же машине Тьюринга соответствуют различные словарные представления в ее алфавите в зависимости от выбора упорядочений множеств Q, V, I, но по любому из этих представлений программа машины восстанавливается однозначно.

Изучая свойства программ и их математических абстракций - схем программ, мы ставим целью автоматизацию программирования, в том числе автоматический анализ свойств программ и их преобразования, осуществляемые с помощью других, специальных программ. Поэтому нас интересуют алгоритмы, которые могли бы по любой предъявленной программе установить, завершит ли она работу или будет «циклить», дают ли две программы, исходная и оптимизированная, один и тот же результат, является ли программа синтаксически правильной и т. д.

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

Пусть V - алфавит, М V - множество слов в V.

Характеристической функцией множества М называется предикат FM: V* > {0, 1}, всюду определенный на V*: FM (а) = 1, если а М, и FM (а) = 0, если а М.

Частичная характеристическая функция множества М - это функция НМ: V* > {1}, определенная только для слов из М и имеющая вид НM (а) = 1 для всех а М.

Множество М называется разрешимым, если его характеристическая функция вычислима. Множество М перечислимо, если его частичная характеристическая функция вычислима. Разрешимость множества М означает, что существует всегда останавливающаяся (оканчивающая работу за конечное время) машина Тьюринга, позволяющая для любого слова в алфавите V через конечное число шагов установить, принадлежит ли это слово множеству М или нет. Перечислимость множества М означает, что существует машина Тьюринга, которая останавливается в том и только том случае, если предъявленное слово принадлежит множеству М.

Приведем без доказательства несколько важных теорем.

Теорема (Пост). Множество М V* разрешимо тогда и только тогда, когда М и его дополнение М' = V*\M перечислимы.

Машина Тьюринга, начав работу, или останавливается, или работает бесконечно. Проблема остановки формулируется так. Пусть М - множество всех пар слов в алфавите V, в каждой паре первое слово - словарное представление некоторой машины Тьюринга, второе - такое слово, что эта машина останавливается, начав работу над ним. Является ли множество М неразрешимым.

Теорема (Тьюринг). Проблема остановки машины Тьюринга неразрешима.

Последняя теорема демонстрирует существование невычислимых функций. Из тезиса Тьюринга следует, что для неразрешимых проблем нельзя построить алгоритм, который решал бы их, например, с помощью ЭВМ.

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

Теорема. Проблема зацикливания машины Тьюринга не является частично разрешимой.

Лабораторная работа 2

Конечные детерминированные полностью определённые одноленточные автоматы

Цель работы: изучить модель одноленточного автомата.

Задания

1. Изучить назначение одноленточного автомата, способы задания, алгоритм функционирования.

2. Изучить основные понятия:

- конечный одноленточный автомат;

- детерминированный одноленточный автомат;

- полностью и частично определённый одноленточный автомат;

- эквивалентность одноленточных автоматов;

- минимизация одноленточных автоматов.

3. Изучить алгоритмы проверки эквивалентности и минимизации одноленточных автоматов.

4. Программно реализовать алгоритмы проверки эквивалентности и минимизации одноленточных автоматов.

Теоретические сведения

Одноленточный конечный автомат (ОКА) над алфавитом V задается набором

A = { V, Q, R, q0, #, I } и правилом функционирования, общим для всех таких автоматов. В наборе А

V - алфавит;

Q - конечное непустое множество состояний (QV=);

R - множество выделенных заключительных состояний (RQ);

q0 - выделенное начальное состояние;

I - программа автомата;

# - «пустой» символ.

Программа автомата I представляет собой множество команд вида qаq', в которой q,q'Q, aV и для любой пары (q, a) существует единственная команда, начинающаяся этими символами. Другими словами программа автомата I есть функция перехода I : QxVQ , которая паре (состояние, символ алфавита) ставит в соответствие новое состояние (состояние перехода).

Неформально ОКА можно представить как абстрактную машину, похожую на машину Тьюринга, но имеющую следующие особенности:

1) выделены заключительные состояния;

2) машина считывает символы с ленты, ничего не записывая на нее;

3) на каждом шаге головка автомата, считав символ с ленты и перейдя согласно программе в новое состояние, обязательно передвигается вправо на одну клетку;

4) автомат останавливается в том и только в том случае, когда головка достигнет конца слова, т.е. символа .

Размещено на http://www.allbest.ru

Говорят, что автомат допускает слово в алфавите V, если, начав работать с лентой, содержащей это слово, он останавливается в заключительном состоянии. Автомат A задает характеристическую функцию множества MA допускаемых им слов в алфавите V, т. е. он распознает, принадлежит ли заданное слово множеству MA если связать с остановкой в заключительном состоянии символ 1, а с остановкой в незаключительном состоянии - 0.

Наглядным способом задания ОКА служат графы автоматов. Автомат А представляется графом, множество вершин которого - множество состояний Q, и из вершины q в вершину q' ведет дуга, помеченная символом а, тогда и только тогда, когда программа автомата содержит команду q'. Работе автомата над заданным словом соответствует путь из начальной вершины q. Последовательность проходимых вершин этого пути - это последовательность принимаемых автоматом состояний, образ пути по дугам - читаемое слово. Любой путь в графе автомата, начинающийся в вершине q0 и заканчивающийся в вершине q,R, порождает слово, допустимое автоматом.

Пример 1. ОКА A = ({a, b}, {q0, q1, q2, q3}, {q2}, q0, , I), допускающего слова {an bm | n=1,2, ...; m=1,2, ...}, задается графом (рисунок 1). Программа I содержит команды:

q0aq1; q0bq3; q1aq1; q1bq2; q2aq3; q2bq2; q3aq3; q3bq3.

Другим способом задания ОКА является таблица, в которой строки соответствуют символам алфавита, столбцы - состояниям. В клетке, расположенной в строке a и столбце q записывается состояние q' , если в программе автомата есть команда qаq' . Столбцы, соответствующие заключительным состояниям, отмечаются единицами. Таблица автомата А (см. пример 1) представлена ниже.

Таблица 1. Таблица автомата.

1

q0

q1

q2

q3

a

q1

q1

q3

q3

b

q3

q2

q2

q3

Автомат называется пустым, если МА = , Автоматы А1 и А2 эквивалентны, если МА1 = МА2. Для машины Тьюринга проблемы пустоты и эквивалентности неразрешимы, более того, они не являются частично разрешимыми. Ситуация меняется для конечных автоматов.

Для ОКА доказано:

1) Проблема пустоты ОКА разрешима.

Доказательство основано на проверке допустимости конечного множества всех слов, длина которых не превышает числа состояний ОКА - n. Если ни одно слово из этого множества не допускается, то ОКА «пуст».

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

3) Проблема эквивалентности ОКА разрешима.

Доказательство основано на использовании отношения эквивалентности двух состояний q и q': если состояния q и q' эквивалентны, то для всех aA состояния (q, a) и '(q', a) также эквивалентны. Формируемые пары не должны входить одновременно заключительное и незаключительное состояния.

Полностью определенным называется ОКА, у которого в программе существует команда для любой пары (q, a). При табличном способе задания полностью определённого автомата заполнена каждая клетка.

Частичным называется называется ОКА, у которого в программе не для любой пары (q, a) существует команда. При табличном способе задания частичного автомата заполнены не все клетки.

К детерминированным относятся ОКА, у которых для любой пары (q, a) существует единственная команда, начинающаяся этими символами. При табличном способе задания детерминированного автомата в клетке записано только одно состояние.

ОКА называется минимальным, если он имеет наименьшее число состояний по отношению ко всем ОКА, ему эквивалентным.

Рассмотрим метод минимизации полностью определенных ОКА, предложенный Ауфенкампом и Хоном.

Основная идея этого метода заключается в разбиении всех состояний исходного ОКА на попарно непересекающиеся классы эквивалентных состояний и замене каждого класса эквивалентности одним состоянием. Т.о. получающийся в результате минимальный автомат имеет столько состояний, на сколько классов эквивалентности разбиваются состояния исходного автомата.

Для пользования методом введем несколько определений.

Два состояния абстрактного автомата называются 0-эквивалентными в том случае, если они оба заключительные или оба незаключительные.

Объединение всех 0-эквивалентных состояний абстрактного автомата образует 0-класс эквивалентности.

0-эквивалентные состояния автомата называются 1-эквивалентными, если они переводятся любым символом алфавита также в 0-эквивалентные состояния.

Объединение всех 1-эквивалентных состояний образует 1-класс эквивалентности.

По индукции можно распространить определение до i-эквивалентных состояний и i-классов эквивалентности.

Если для некоторого i разбиения состояний автомата на ( i +1) - классы совпадает с разбиением на i-классы, то оно является разбиением и на - классы эквивалентности.

Разбиение множества состояний автомата на - классы и является требуемым разбиением на классы эквивалентности, при этом такое разбиение может быть получено за конечное число шагов.

Лабораторная работа 3

Схемы программ

Цель работы: изучить стандартные и рекурсивные схемы программ.

Задания

1. Изучить основные понятия:

- схемы программ;

- базис, интерпретация, программа, протокол выполнения программы;

- свойства схем программ: пустота, тотальность, функциональная эквивалентность, свобода;

- свободные интерпретации, согласованные свободные интерпретации;

- стандартные и рекурсивные схемы программ;

- изоморфизм и логико-термальная эквивалентность стандартных схем.

2. Изучить алгоритмы трансформации стандартных и рекурсивных схем программ.

3. Разработать нерекурсивный алгоритм решения задачи и программно реализовать его.

Построить стандартную схему программы.

Транслировать стандартную схему программы в рекурсивную.

Реализовать рекурсивную программу.

Провести тестирование программ.

Теоретические сведения

Схемы программ - это математические модели программ, описывающие строение программы, или точнее строение множества программ, где конкретные операции и функции заменены абстрактными функциональными и предикатными символами. Следующий пример программ вычисления факториала n! и переворачивания слов поясняет различие между программами и их схемой S1.

begin integer x, y; begin integer x, y; begin

ввод(x); ввод(x); ввод(x);

y:=1; y:=е; y:=a;

L:if x=0 then goto L1;L: if x=0 then goto L1;L: if p(x) then goto L1;

y:=x*y; y:=CONSCAR(x, y); y:=g(x, y);

x:=x-1; x:=CDR(x); x:=h(x);

goto L; goto L; goto L;

L1:вывод(y);L1: вывод(y);L1: вывод(y);

end end end

Функция CONSCAR (суперпозиция функций CONS и CAR из языка Лисп) приписывает первую букву первого слова ко второму слову (т. е. CONSCAR(аб, в) = ав), а функция CAR стирает первую букву слова (т. е. CAR(аб) = б).

Стандартные схемы программ (ССП) характеризуются базисом и структурой схемы.

Базис класса фиксирует символы, из которых строятся схемы, указывает их роль (переменные, функциональные символы и др.), задает вид выражений и операторов схем.

Полный базис В класса стандартных схем состоит из 4-х непересекающихся, счетных множеств символов и множества операторов - слов, построенных из этих символов.

Множества символов полного базиса:

Х = x, х1, х2..., у, у1 у2..., z, z1, z2... - множество символов, называемых переменными;

F = f(0), f(1), f(2)..., g(0), g(1), g(2)..., h(0), h(1), h(2)... - множество функциональных символов; верхний символ задает местность символа; нульместные символы называют константами и обозначают начальными буквами латинского алфавита a, b, c...;

Р = р(0), р(1), р(2)...; q(0), q(1), q(2)...; - множество предикатных символов; р(0), q(0) - ; нульместные символы называют логическими константами;

start, stop, ...,:= и т. д. - множество специальных символов.

Термами (функциональными выражениями) называются слова, построенные из переменных, функциональных и специальных символов по следующим правилам:

односимвольные слова, состоящие из переменных или констант, являются термами;

слово ф вида f(n)1, ф2...фn), где ф1, ф2...фn - термы, является термом;

те и только те слова, о которых говорится в п.п. 1,2, являются термами.

Примеры термов: х, f(0), а, f(1)(х), g(2)(x, h(3)(y, a)).

Тестами (логическими выражениями) называются логические константы и слова вида р(n)1, ф2,...,фn). Примеры: p(0), p(0)(х), g(3)(x, y, z), p(2) (f(2(x, y)). Допускается в функциональных и логических выражениях опускать индексы местности, если это не приводит к двусмысленности или противоречию.

Множество операторов включает пять типов:

начальный оператор - слово вида start(х1, х2...хк), где k ?0, а х1, х2...хк - переменные, называемые результатом этого оператора;

заключительный оператор - слово вида stop1, ф2...фn), где n ?0, а ф1, ф2...фn - термы; вхождения переменных в термы ф называются аргументами этого оператора;

оператор присваивания - слово вида х := ф, где х - переменная (результат оператора), а ф - терм; вхождения переменных в термы называются аргументами этого оператора;

условный оператор (тест) - логическое выражение; вхождения переменных в логическое выражение называются аргументами этого оператора;

оператор петли - односимвольное слово loop.

Среди операторов присваивания выделим случаи: когда ф - переменная, то оператор называется пересылкой (х:=у) и когда ф -константа, то оператор называется засылкой (х:=а).

Подклассы используют ограниченные базисы. Так, например, подкласс У1 имеет базис:

х1, х2, а, f(1), p(1), start, stop, (,),:=, ,и множество операторов start(х1, х2); х1:= f(x1), x2=f(x2), x1:=а, х2:= а, р(х1), р(х2), stop(х1,х2), т. е. схемы из этого подкласса используют две переменные, константу а, один одноместный функциональный символ, один предикатный символ и операторы указанного вида.

ССП не является записью алгоритма, поэтому позволяет исследовать только структурные свойства программ, но не семантику вычислений. При построении «семантической» теории схем программ вводится понятие интерпретация ССП. Определим это понятие.

Пусть в некотором базисе В определен класс ССП. Интерпретацией базиса В в области интерпретации D называется функция I, которая сопоставляет:

каждой переменной х из базиса В - некоторый элемент d = I(x) из области интерпретации D;

каждой константе а из базиса В - некоторый элемент d = I(а) из области интерпретации D;

каждому функциональному символу f(n) - всюду определенную функцию F(n)=I(f(n));

каждой логической константе р(0) - один символ множества 0,1 ;

каждому предикатному символу р(n) - всюду определенный предикат P(n) = I(p(n)).

Пара (S,I) называется интерпретированной стандартной схемой (ИСС), или стандартной программой (СП).

Определим понятие выполнения программы.

Состоянием памяти программы (S,I) называют функцию W: XS D, которая каждой переменной x из памяти схемы S сопоставляет элемент W(x) из области интерпретации D.

Значение терма ф при интерпретации I и состоянии памяти W (обозначим фI(W)) определяется следующим образом:

1) если ф=х, x - переменная, то фI(W) = W(x);

2) если ф=a, a - константа, то фI(W) = I(a);

3) если ф=f(n)(ф1, ф2..., фn), то фI(W)= I(f(n))(ф1I(W), ф2I(W),..., фnI(W)).

Аналогично определяется значение теста при интерпретации I и состоянии памяти W или I(W):

если =р(n)(ф1, ф2..., фn), то I(W)= I(p(n))(ф1I(W), ф2I(W),... фnI(W)), n ?0.

Конфигурацией программы называют пару U=(L,W), где L - метка вершины схемы S, а W - состояние ее памяти. Выполнение программы описывается конечной или бесконечной последовательностей конфигураций, которую называют протоколом выполнения программы (ПВП).

Протокол (U0, U1,..., Ui, Ui+1,...) выполнения программы (S,I) определяем следующим образом (ниже ki означает метку вершины, а Wi - состояние памяти в i-й конфигурации протокола, Ui=(ki,Wi)):

U0=(0, W0), W0 - начальное состояние памяти схемы S при интерпретации I.

Пусть Ui=(ki, Wi) - i-я конфигурация ПВП, а О - оператор схемы S в вершине с меткой ki. Если О - заключительный оператор stop1, ф2... фn), то Ui - последняя конфигурация, так что протокол конечен. В этом случае считают, что, программа (S,I) останавливается, а последовательность значений ф1I(W), ф2I(W),..., фnI(W) объявляют результатом val(S,I) выполнения программы (S,I). В противном случае, т. е. когда О - не заключительный оператор, в протоколе имеется следующая, (i+1)-я конфигурация Ui+1 = (ki+1, Wi+1), причем

а) если О - начальный оператор, а выходящая из него дуга ведет к вершине с меткой L, то ki+1 = L и Wi+1 = Wi;

б) если О - оператор присваивания х:=ф, а выходящая из него дуга ведет к вершине с меткой L, то ki+1 = L, Wi+1 = Wi, Wi+1(х) = ф1(Wi);

в) если О - условный оператор и I(Wi) = Д, где Д 0,1, а выходящая из него дуга ведет к вершине с меткой L, то ki+1 = L и Wi+1 = Wi;

г) если О - оператор петли, то ki+1 = L и Wi+1 = Wi, так что протокол бесконечен.

Таким образом, программа останавливается тогда и только тогда, когда протокол ее выполнения конечен. В противном случае программа зацикливается и результат ее выполнения не определен.

ССП S в базисе В тотальна (пуста), если для любой интерпретации I базиса В программа (S, I) останавливается (зацикливается).

Стандартные схемы S1 и S2 в базисе В функционально эквивалентны (S1 S2), если либо обе зацикливаются, либо обе останавливаются с одинаковым результатом, т. е. val (S1, I) val (S2, I).

Цепочкой стандартной схемы (ЦСС) называют:

1. конечный путь по вершинам схемы, ведущий от начальной вершины к заключительной;

2. бесконечный путь по вершинам, начинающийся начальной вершиной схемы.

В случае, когда вершина-распознаватель (v), то дополнительно указывается верхний индекс (1 или 0), определяющий 1-дугу или 0-дугу, исходящую из вершины.

Цепочкой операторов (ЦО) называется последовательность операторов, метящих вершины некоторой цепочки схемы.

Пусть S - ССП в базисе В, I - некоторая его интерпретация, (0, 1, к2, к3,…) - последовательность меток инструкций S, выписанных в том порядке, в котором эти метки входят в конфигурации протокола выполнения программы (S, I). Ясно, что эта последовательность - цепочка схемы S. Считают, что интерпретация I подтверждает (порождает) эту цепочку.

ЦСС в базисе В называют допустимой, если она подтверждается хотя бы одной интерпретацией этого базиса.

ССП свободна, если все ее цепочки допустимы.

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

Все СИ базиса В имеют одну и ту же область интерпретации, которая совпадает со множеством Т всех термов базиса В. Все СИ одинаково интерпретируют переменные и функциональные символы, а именно:

а) для любой переменной х из базиса В и для любой СИ Ih этого базиса Ih(x)=x;

б) для любой константы a из базиса В Ih(a)=a;

в) для любого функционального символа f(n) из базиса В, где n1, Ih(f(n))=F(n): TnT, где F(n) - словарная функция такая, что

F(n)(1, 2, ..., n)= f(n) (1, 2, ... n),

т. е. функция F(n) по термам 1, 2, ...n из Т строит новый терм, используя функциональный смысл символа f(n).

Что касается интерпретации предикатных символов, то она полностью свободна, т.е. разные СИ различаются лишь интерпретаций предикатных символов.

Таким образом, после введения СИ термы используются в двух разных качествах, как функциональные выражения в схемах и как значения переменных и выражений. В дальнейшем термы-значения будем заключать в апострофы. Например, если где 1=`f(x,a)` - терм-значение переменной x, а где 2 = `g(y)` - терм-значение переменной y, то значение свободно интерпретированного терма 3=f(x, h(y)) равно терму-значению `f(f(x,a), h(g(y)))`.

Полагают, что интерпретация I и СИ Ih (того же базиса В) согласованы, если для любого логического выражения справедливо Ih()=I().

Если интерпретация I и свободная интерпретация Ih согласованы, то программы (S, I) и (S, Ih) либо зацикливаются, либо обе останавливаются и I(val(S,Ih))= val(S,I), т.е. каждой конкретной программе можно поставить во взаимно-однозначное соответствие свободно интерпретированную (стандартную) согласованную программу.

Если интерпретация и свободная интерпретация согласованы, они порождают одну и ту же цепочку операторов схемы.

Теорема Лакхэма - Парка - Паттерсона. Стандартные схемы S1 и S2 в базисе В функционально эквивалентны тогда и только тогда, когда они функционально эквивалентны на множестве всех свободных интерпретаций базиса В, т.е. когда для любой свободной интерпретации Ih программы (S1,Ih) и (S2,Ih) либо обе зацикливаются, либо обе останавливаются и val(S1,I) = {I(val(S1 Ih)) = I(val(S2 Ih))} = val(S2,I).

Стандартная схема S в базисе В пуста (тотальна, свободна) тогда и только тогда, когда она пуста (тотальна, свободна) на множестве всех свободных интерпретаций этого базиса, т.е. если для любой свободной интерпретации Ih программа (S, Ih) зацикливается (останавливается).

Стандартная схема S в базисе В свободна тогда и только тогда, когда она свободна на множестве всех свободных интерпретаций этого базиса, т. е. когда каждая цепочка схемы подтверждается хотя бы одной свободной интерпретацией.

Одним из отношений эквивалентности является логико-термальная эквивалентность (ЛТЭ).

Определим термальное значение переменной х для конечного пути щ схемы S как терм t(щ, x), который строится следующим образом.

Если путь щ содержит только один оператор А, то: t(щ, x) = , если А - оператор присваивания, t(щ, x) = х, в остальных случаях.

Если щ = щ'Ае, где А - оператор, е - выходящая из него дуга, щ' - непустой путь, ведущий к А, а x1, …, xn - все переменные терма t(Ае, x), то t(щ, x) = t(Ае, x)[ t(щ', x1)/x1, …, t(щ', xn)/xn].

Понятие термального значения распространим на произвольные термы :t(щ, x) = [ t(щ, x1)/x1, …, t(щ, xn)/xn].

Например, пути

start(х); y:=x; p1(x); x:=f(x); p0(y); y:=x; p1(x); x:=f(x) в схеме на рисунке 3.1, а соответствует термальное значение f(f(x)) переменной х.

Для пути щ в стандартной схеме S определим ее логико-термальную историю (ЛТИ) lt(S, щ) как слово, которое строится следующим образом.

Если путь щ не содержит распознавателей и заключительной вершины, то lt(S, щ) - пустое слово.

Если щ = щ'vе, где v - распознаватель с тестом p(1, ..., k), а е - выходящая из него Д-дуга, Д 0,1, то lt(S, щ) = lt(S, щ') pД(t(щ', 1), …, t(щ', k)).

Если щ = щ'v, где v - заключительная вершина с оператором stop(1, ..., k), то

lt(S, щ) = lt(S, щ') t(щ', 1) … t(щ', k).

Например, логико-термальной историей пути, упомянутого в приведенном выше примере, будет p1(x) p0(x) p1(f(x)).

Размещено на http://www.allbest.ru

Рисунок 3.1.

Детерминантом (обозначение: det(S)) стандартной схемы S называют множество ЛТИ всех ее цепочек, завершающихся заключительным оператором.

Схемы S1 и S2 называют ЛТЭ (лт - эквивалентными) S1 ЛТ S2, если их детерминанты совпадают.

Лабораторная работа 4

Сети Петри

Цель работы: изучить сети Петри.

Задания

1. Изучить основные понятия:

- структура сети Петри и способы её задания;

- маркировка, выполнение сети Петри, множество достижимости.

2. Изучить основные свойства сетей Петри:

- ограниченность, безопасность;

- сохраняемость;

- активность;

- достижимость;

- покрываемость.

3. Изучить способы анализа сетей Петри.

4. Реализовать алгоритм выполнения сети Петри.

5. Реализовать алгоритм построения дерева достижимости.

Теоретические сведения

Сеть Петри N является четверкой N=(P,Т,I,O), где

P = {p1, p2,..., pn} -- конечное множество позиций, n 0;

T = {t1, t2,..., tm} -- конечное множество переходов, m 0;

I: T P* -- входная функция, сопоставляющая переходу мультимножество его входных позиций;

О: T P* - выходная функция, сопоставляющая переходу мультимножество его выходных позиций.

Позиция pP называется входом для перехода tT, если pI(t). Позиция pP называется выходом для перехода tT, если pO(t). Структура сети Петри определяется ее позициями, переходами, входной и выходной функциями.

Пример 4.1. Сеть Петри N =(P,T,I,O),

P={p1, p2, p3},

T={t1, t2},

I(t1)={ p1, p1, p2}, O(t1)={p3},

I(t2)={ p1, p2, p2}, O(t2)={p3}.

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

Наиболее наглядным представлением сети Петри является её графическое представление, которое представляет собой двудольный, ориентированный мультиграф.

Граф сети Петри обладает двумя типами узлов: Рисунок 4.1 кружок , представляющий позицию сети Петри; и планка

, представляющая переход сети Петри. Ориентированные . дуги этого графа (стрелки) соединяют переход с его вход-ными и выходными позициями. При этом дуги направлены от входных позиций к переходу и от перехода к выходным позициям. Кратным входным и выходным позициям перехода соответствуют кратные входные и выходные дуги. Граф сети Петри примера 4.1.

В графе сети Петри не возможны дуги между двумя позициями и между двумя переходами.

Маркировка -- это размещение по позициям сети Петри фишек, изображаемых на графе сети Петри точками. Фишки используются для определения выполнения сети Петри. Количество фишек в позиции при выполнении сети Петри может изменяться от 0 до бесконечности.

Маркировка сети Петри N=(P,T,I,О) есть функция, отображающая множество позиций P во множество Nat неотрицательных целых чисел. Маркировка , может быть также определена как n-вектор =<(?p1)?, (?p2), ??…, (pn)>, где n - число позиций в сети Петри и для каждого 1 i n ?(pi) Nat - количество фишек в позиции pi.

Маркированная сеть Петри N=(P,Т,I,О,) определяется совокупностью структуры сети Петри (P,T,I,О) и маркировки .

Множество всех маркировок сети Петри бесконечно. Если фишек, помещаемых в позицию слишком много, то удобнее не рисовать фишки в кружке этой позиции, а указывать их количество.

Сеть Петри выполняется посредством запусков переходов. Запуск перехода управляется фишками в его входных позициях и сопровождается удалением фишек из этих позиций и добавлением новых фишек в его выходные позиции.

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

Пусть функция ^#: PT Nat для произвольных позиции pP и перехода tТ задает значение ^#(p,t), которое совпадает с кратностью дуги, ведущей из p в t, если такая дуга существует, и с нулем, в противном случае.

Пусть функция #^: TP Nat для произвольных и перехода tT позиции pP задает значение #^(t,p), которое совпадает с кратностью дуги, ведущей из t в p, если такая дуга существует, и с нулем, в противном случае.

Переход tT в маркированной сети Петри N=(P,T,1,О,) разрешен, если для всех p I(t) справедливо (?p) ?? ?^#(p,t).

Запуск разрешённого перехода tT из своей входной позиции pI(t) удаляет ^#(p,t) фишек, а в свою выходную позицию p' O(t) добавляет #^(t,p') фишек.

Сеть Петри до запуска перехода t1 (рис. 4.3, а). Сеть Петри после запуска перехода t1 (рис. 4.3, б).

Рисунок 4.3.аб

Переход t в маркированной сети Петри с маркировкой может быть запущен всякий раз, когда он разрешен и в результате этого запуска образуется новая маркировка ', определяемая для всех pP следующим соотношением:

'(p)= (p) - ^#(p,t) + #^(t,p).

Запуски могут осуществляться до тех пор, пока существует хотя бы один разрешенный переход. Когда не останется ни одного разрешенного перехода, выполнение прекращается.

Если запуск произвольного перехода t преобразует маркировку сети Петри в новую маркировку ', то будем говорить, что ' достижима из посредством запуска перехода t и обозначать этот факт, как t '. Это понятие очевидным образом обобщается для случая последовательности запусков разрешённых переходов. Через R(N,) обозначим множество всех достижимых маркировок из начальной маркировки в сети Петри N.

Преобразование маркировки сети Петри изображено на рисунке 4.3. Переход t1 преобразует маркировку =<5,1> в маркировку '=<2,3>.

Свойства сетей Петри.

Позиция pP сети Петри N=(P,Т,I,O) c начальной маркировкой является k-ограниченной, если '(p)k для любой достижимой маркировки 'R(N,). Позиция называется ограниченной, если она является k-ограниченной для некоторого целого значения k. Сеть Петри ограниченна, если все ее позиции ограниченны.

Позиция pP сети Петри N=(P,Т,I,O) c начальной маркировкой является безопасной, если она является 1-ограниченной.Сеть Петри безопасна, если безопасны все позиции сети.

Сеть Петри N=(P,Т,I,O) с начальной маркировкой является сохраняющей, если для любой достижимой маркировки 'R(N,) справедливо следующее равенство.

'(p).

Тупик в сети Петри - один или множество переходов, которые не могут быть запущены. Определим для сети Петри N с начальной маркировкой следующие уровни активности переходов:

Уровень 0: Переход t обладает активностью уровня 0 и называется мёртвым, если он никогда не может быть запущен.

Уровень 1: Переход t обладает активностью уровня 1 и называется потенциально живым, если существует такая 'R(N,), что t разрешён в '.

Уровень 2: Переход t, обладает активностью уровня 2 и называется живым, если для всякой 'R(N,) переход t является потенциально живым для сети Петри N с начальной маркировкой '.

Сеть Петри называется живой, если все её переходы являются живыми.

Задача достижимости: Для данной сети Петри с маркировкой и маркировки ' определить: 'R(N,)?

Задача покрываемости: Для данной сети Петри N с начальной маркировкой и маркировки ' определить, существует ли такая достижимая маркировка R(N,), что "'.

Особый интерес вызывают методы анализа свойств сетей Петри, которые обеспечивают автоматический анализ моделируемых систем. Сначала рассмотрим метод анализа сетей Петри, который основан на использовании дерева достижимости.

Дерево достижимости представляет все достижимые маркировки сети Петри, а также - все возможные последовательности запусков ее переходов.

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

1. Если в дереве имеется другая вершина y, не являющаяся граничной, и с ней связана та же маркировка, [x]=[y], то вершина х становится дублирующей.

2. Если для маркировки [х] ни один из переходов не разрешен, то x становится терминальной.

3. В противном случае, для всякого перехода tT, разрешенного в [х], создаётся новая вершина z дерева достижимости. Маркировка [z], связанная с этой вершиной, определяется для каждой позиции pP следующим образом:

3.1. Если [х](p)=, то [z](p)=.

3.2. Если на пути от корневой вершины к x существует вершина y с [y]<' (где ' - маркировка, непосредственно достижимая из [х] посредством запуска перехода t) и [y](p)<'(p), то [z](p)=. (В этом случае последовательность запусков переходов, ведущая из маркировки [y] в маркировку ', может неограниченно повторяться и неограниченно увеличивать значение маркировки в позиции p.) В противном случае [z](p)='(p).

4. Строится дуга с пометкой t, направленная от вершины x к вершине z. Вершина х становится внутренней, а вершина z - граничной.

Такая обработка алгоритмом граничных вершин продолжается до тех пор, пока все вершины дерева не станут терминальными, дублирующими или внутренними. Затем алгоритм останавливается.

Сеть Петри:

Конечное дерево достижимости:

Анализ свойств сетей Петри на основе дерева достижимости.

Анализ безопасности и ограниченности. Сеть Петри ограниченна тогда и только тогда, когда символ отсутствует в ее дереве достижимости.

Присутствие символа в дереве достижимости ([х](p)= для некоторой вершины x и позиции p) означает, что для произвольного положительного целого k существует достижимая маркировка со значением в позиции p, большим, чем k (а также бесконечность множества достижимых маркировок). Это, в свою очередь, означает неограниченность позиции p, а следовательно, и самой сети Петри.

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

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

Анализ покрываемости. Задача покрываемости требуется для заданной маркировки ' определить, достижима ли маркировка "'. Такая задача решается путём простого перебора вершин дерева достижимости. При этом ищется такая вершина х, что [x]'. Если такой вершины не существует, то маркировка ' не является покрываемой. Если она найдена, то [x] определяет покрывающую маркировку для ' Если компонента маркировки [x], соответствующая некоторой позиции p совпадает с , то конкретное её значение может быть вычислено. В этом случае на пути от начальной маркировки к покрывающей маркировке имеется повторяющаяся последовательность переходов, запуск которой увеличивает значение маркировки в позиции p. Число таких повторений должно быть таким, чтобы значение маркировки в позиции p превзошло или сравнялось с '(p).

Анализ живости. Переход t сети Петри является потенциально живым, тогда и только тогда, когда он метит некоторую дугу в дереве достижимости этой сети.

...

Подобные документы

  • Более строгое описание алгоритма, чем общее или формализация понятия алгоритма. Три подхода к формализации: теория конечных и бесконечных автоматов, теория вычислимых (рекурсивных) функций и л-исчисление Черча. Воображаемые машины Поста и Тьюринга.

    реферат [370,0 K], добавлен 09.02.2009

  • Простое вычислительное устройство машина Тьюринга и ее алгоритмические свойства. Тезис Черча–Тьюринга и моделирование машины Тьюринга (операции перезаписи ячеек, сравнения и перехода к другой соседней ячейке с учетом изменения состояния машины).

    контрольная работа [23,3 K], добавлен 24.04.2009

  • Принципы работы и основы программирования машины Тьюринга, а также перечень правил написания алгоритмов на ее эмуляторе. Особенности решения задачи по сложению нескольких чисел в двоичной системе путем реализации ее алгоритма на эмуляторе машины Тьюринга.

    контрольная работа [82,4 K], добавлен 05.12.2010

  • Принципы разработки математических моделей, алгоритмов и программ. Составление программы вычисления функции с использованием нестандартных функций. Нахождение значения корней нелинейного уравнения по методу касательных. Программа для вычисления интеграла.

    курсовая работа [568,3 K], добавлен 07.03.2015

  • Нормальный алгоритм Маркова. Тезис Маркова и машина Тьюринга. Гипотеза теории алгоритмов. Алгоритмически неразрешимые проблемы. Задача эквивалентности двух слов в ассоциативном исчислении. Задача распознавания выводимости. Линейная оценка сложности.

    методичка [57,0 K], добавлен 06.07.2009

  • Происхождение и сущность понятия "алгоритм". Основные требования к алгоритмам. Роль абстрактных алгоритмических систем. Алгоритм как абстрактная машина. Алгоритмическая машина Поста. Схема логического устройства и функционирования машины Тьюринга.

    реферат [62,2 K], добавлен 16.03.2011

  • Сущность, понятие и назначение квантового комп’ютера; его использование для вычисления процессов квантовой природы. Физические системы, реализующие кубиты. Упрощённая схема вычисления на квантовом компьютере. Тезис Черча-Тьюринга. Алгоритм Deutsch-Josza.

    реферат [122,6 K], добавлен 10.11.2014

  • Методика разработки программы, предназначенной для разбора предложения с помощью многоленточной машины Тьюринга. Цели и назначение данной системы, основные требования, предъявляемые к ней. Организационно-исполнительные работы по содержанию системы.

    курсовая работа [386,8 K], добавлен 16.12.2010

  • История развития средств вычислительной техники. Машина Тьюринга: понятие и свойства. Теория переменных и типов данных в ANSI C. Обменные сортировки, их виды. Исходный, объектный и машинный код. Функции компилятора и линковщика. Рекурсивные алгоритмы.

    шпаргалка [432,5 K], добавлен 04.05.2015

  • Положения машины Тьюринга. Алгоритмически неразрешимые проблемы: "остановка", эквивалентность алгоритмов, тотальность. Свойства алгоритма: дискретность, детерминированность, результативность, массовость. Выбор структуры данных. Решение на языке Haskell.

    курсовая работа [957,6 K], добавлен 16.11.2013

  • Разработка различных программ для вычисления X и Y по формуле, для вычисления интеграла, для вычисления таблицы значений функции и для вычисления элементов вектора. Составление блок-схемы программы. Ввод значений, описание переменных и условия расчета.

    контрольная работа [148,1 K], добавлен 08.11.2013

  • Изучение методик языка Javascript по формализации и решению поставленной задачи, технологических приемов разработки программ на языке Javascript, HTML, CSS. Формально определение машины Тьюринга, распознающую язык. Ее программная модель, протоколы работы.

    курсовая работа [220,7 K], добавлен 03.03.2015

  • Временная, пространственная и асимптотическая сложности. Основные классы сложности в теории алгоритмов. Сведение как преобразование одной задачи к другой. Проблема равенства классов P и NP. Характеристика основных иерархических отношений между классами.

    реферат [16,9 K], добавлен 09.04.2012

  • Составление схемы алгоритма и программы для построения графика временной функции, работающей как в машинном, так и в реальном времени. Пример вычисления степенного ряда с помощью схемы Горнера. Описание переменных программы, листинг, процедуры и функции.

    курсовая работа [67,6 K], добавлен 20.11.2012

  • Использование нестандартных функций и подпрограмм (процедур) для составления алгоритмов вычислений. Программы для вычисления значение корней нелинейного уравнения по методу половинного деления. Составление алгоритма операций над матрицами и интегралами.

    курсовая работа [580,0 K], добавлен 23.08.2015

  • Разложение функций по переменным. Совершенная дизъюнктивная нормальная форма. Разрешимoсть задач в классической теории алгоритмов и их трудоемкость. Память и время как количественная характеристика алгоритма (применительно к машине Тьюринга и ЭВМ).

    дипломная работа [59,9 K], добавлен 17.04.2009

  • Возникновение информатики во второй половине XX столетия. Теория графов. Понятие и терминология теории графов. Некоторые задачи теории графов. Математическая логика и теория типов. Теория вычислимости и искусственный интеллект.

    реферат [247,4 K], добавлен 15.08.2007

  • Основные понятия теории множеств, математической логики и статистики, вероятностей. Теория графов и алгоритмов. Моделирование социальных процессов. Аппаратное и программное обеспечения электронно-вычислительных машин. Информационные и экспертные системы.

    курс лекций [894,3 K], добавлен 01.12.2015

  • Аппроксимация эмпирических данных линейной и квадратичной зависимостью. Теория корреляции: расчет коэффициентов детерминированности. Построение алгоритма и вычисление приближённых функций методом наименьших квадратов в среде программирования Turbo Pascal.

    курсовая работа [766,6 K], добавлен 26.12.2011

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

    контрольная работа [125,7 K], добавлен 15.09.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.