Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_na_teoriyu_Busalaevoy_Anastasii.docx
Скачиваний:
1
Добавлен:
06.08.2019
Размер:
480.85 Кб
Скачать

21.. Понятие протокола. Поведение процесса. Примеры.

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

<x, у> состоит из двух событий – х и следующего за ним у.

<x> состоит из единственного события x.

<> пустая последовательность, не содержащая событий.

X1. Протокол простого торгового автомата ТАП (1.1.2 Х2) в момент завершения обслуживания первых двух покупателей: <мон, шок, мон, шок>

Х3. Перед началом работы процесса блокнот наблюдателя пуст. Это изображается пустым протоколом <> – самым ко­ротким из всех возможных протоколов любого процесса.

Протоколам принадлежит основная роль в фиксировании, описании и понимании поведения процессов.

Поведение процесса – множество всех протоколов процесса.

prot(ЧАСЫ) = {< >, <тик>, <тик, так>, <тик, так, тик>, ... }

prot(R) = {< >, <мон>, <мон, шок>, <мон, шок, мон>, <мон, шок, мон, шок>}

αP- множество событий, в которых процесс может участвовать

22.. Взаимодействие процессов. Параллельные процессы

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

обозначим через P || Q процесс, ведущий себя как система, со­ставленная из процессов Р и Q, взаимодействие между кото­рыми пошагово синхронизовано

1)αP * αQ = {мон, шок, ирис}

αP || αQ = αP αQ =αP = αQ

P=мон→(шок→P/ирис→Р)

Q=шок→Q/ирис→Q/мон→шок→Q

P||Q=мон→шок

2) αPαQ

αP||Q=αPαQ

αP = {мон, шок, звяк, щелк}

αQ ={мон, шок, ой}

Р=мон→звяк→мон→ирис→Р

Q=мон→ой→шок→Q

P||Q=мон→звяк→ой→шок→щелк→P||Q/ мон→ой→звяк→шок→щелк→P||Q

23.. Спецификация процесса.

Спецификация процесса – описание его поведения, т.е. описание множества всех протоколов.

Пример: Пусть задана спецификация процесса, необходимо построить процесс.

aH = {кофе, чай, 10, 5, сд}

sp(Н) = {Построить автомат, который при обслуживании одного покупателя на вход может получать последовательность монет достоинством 10 или 5, на выходе может выдавать только один предмет из двух – кофе (стоимость 10), чай (стоимость 5), и давать сдачу при необходимости. Автомат ломается, если на его вход поступает в сумме денег строго больше 10.}

Н = (5->(чай->H | 5-> (кофе->Н | чай->сд->Н | 5->СТОПaH | 10->СТОПaH) | 10->СТОПaH) |

10-> (кофе->Н | чай->сд->Н | 5->СТОПaH | 10->СТОПaH))

24.. Временная сложность алгоритма. Примеры.

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

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

Есть такое соглашение, согласно которому задача не считается «хорошо решаемой» до тех пор, пока для неё не получен полиномиальный алгоритм. «Трудно решаемой» задачей называют задачу, для которой не существует полиномиального алгоритма.

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