Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt_Trsipv_Ch_2.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
12 Мб
Скачать
☆

1. Понятия отношений. Классы эквивалентности

Имеем множества А и В (подразумеваются множества некоторых операторов), R – отношение из А и В. R связывает элементы множества А с элементами множества В.

a R b

а - элемент множества А;

b – элемент множества В.

Пример интерпретации отношения R:

  • Отношения сильной (слабой) зависимости;

  • Отношения сильной (слабой) независимости.

Свойства отношения R:

  1. Симметричность

aRb => bRa

  1. Рефлексивность

aRa

  1. Транзитивность

aRb & bRc => aRc

Отношения порядка

Отношение порядка R задает некоторую строго определенную последовательность операторов в программе: aRb, bRc, …

Отношение R на множестве элементов (операторов) А является отношением порядка, если удовлетворяет свойствам:

  1. Рефлексивность;

  2. Транзитивность;

  3. Антисимметричность .

Отношение эквивалентности

R является отношение эквивалентности, если выполняются свойства:

  1. Рефлексивность;

  2. Симметричность;

  3. Транзитивность.

Отношения частичного порядка

Свойства:

  1. Антирефлексивность: aRa – не выполняется;

  2. Транзитивность;

  3. Антисимметричность.

Примеры отношений:

  1. Эквивалентности - слабая независимость между операторами программы;

  2. Частичный порядок - слабая зависимость между операторами.

Классы эквивалентности

Данное понятие связано с отношением эквивалентности между элементами.

Класс эквивалентности – это множество (для некоторого оператора А) элементов, связанных с А отношение эквивалентности.

[a] → {b| aRb}

Пример:

Если под отношением эквивалентности R подразумевать независимость операторов, то класс эквивалентности – это множество операторов, выполняемых независимо от А.

Отношение параллельности

Пусть Oi и Oj некоторые вычислительные операции в i-ом участке программы. - отношение параллельности. Тогда Oi1 Oi2.

Отношение является отношение эквивалентности, то есть удовлетворяет свойствам эквивалентности.

Для отношения определено множество операторов, выполняющихся независимо (параллельно) с данным, то есть класс параллельности для некоторого оператора:

[Oij] → { Oi2| Oij Oik }

Таким образом, операторы Oik, входящие в класс параллельности Oij выполняются независимо (параллельно с ним).

2. Понятие зависимостей между операторами программы

Два оператора Oi и Oj являются информационно-зависимыми, если Oj выполняется над результатами Oi (если Oi и Oj связаны отношением частичного порядка).

Операторы Oк и Oj являются зависимыми от Oi по управлению, если результат выполнения Oi определяет активацию либо Ok либо Oj (Oi предшествует Ok и Oj, а Oi является управляющим оператором).

Операторы Oi и Oj являются конкуренционнозависимыми, если для них не выполняется следующее соотношение:

In Oi ^out Oj = In Oj ^out O i = out Oi ^out Oj (1)

Отношение (1) - это условие отсутствия конкуренционной зависимости между операторами.

Различают два вида конкуренции:

  • Конкуренция за значение;

  • Конкуренция за переменные.

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