Задача анализа свойств состояний: различия между версиями

Материал из WikiGrapp
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
 
(не показана 1 промежуточная версия 1 участника)
Строка 1: Строка 1:
'''Задача анализа свойств состояний''' (''[[Data flow analysis problem]]'') - Рассматривается полурешетка свойств <math>(L,\sqcap)</math>, не содержащая бесконечных [[цепь|цепей]], множество преобразователей свойств <math>F</math> и функция <math>M</math>, ставящая в соответствие каждой [[дуга|дуге]] <math>u</math> анализируемого ''[[уграф|уграфа]]'' <math>G=(V,U)</math> функцию эффекта дуги <math>M(u)\in F</math>.
'''Задача анализа свойств состояний''' (''[[Data flow analysis problem]]'') Рассматривается полурешетка свойств <math>(L,\sqcap)</math>, не содержащая бесконечных [[цепь|цепей]], множество преобразователей свойств <math>F</math> и функция <math>M</math>, ставящая в соответствие каждой [[дуга|дуге]] <math>u</math> анализируемого ''[[уграф|уграфа]]'' <math>G=(V,U)</math> функцию эффекта дуги <math>M(u)\in F</math>.


Прямая '''З.а.с.с''' формулируется как задача нахождения так называемой ''[[полная разметка|полной разметки]]'' --- такой функции <math>A:V\rightarrow L</math>, что  
Прямая '''задача анализа свойств состояний''' формулируется как задача нахождения так называемой ''[[полная разметка|полной разметки]]'' такой функции <math>A:V\rightarrow L</math>, что  


<math>A(p)=\sqcap\{f_{\alpha}
:::::<math>A(p)=\sqcap\{f_{\alpha} (a_0):\alpha \mbox{ --- }</math> путь от начальной вершины до <math> p\},</math>
(a_0):\alpha \mbox{ --- путь от начальной вершины до } p\},</math>


где <math>a_0</math> --- некоторое свойство, сопоставляемое с начальной [[вершина|вершиной]]
где <math>a_0</math> некоторое свойство, сопоставляемое с начальной [[вершина|вершиной]]
уграфа, а <math>f_{\alpha}</math> --- функция ''эффекта [[путь|пути]]'', полученная композицией функций эффектов составляющих его дуг. Указанная задача алгоритмически неразрешима и допускает эффективное решение лишь для узких своих подклассов таких, как, например, ''дистрибутивные''
уграфа, а <math>f_{\alpha}</math> функция ''эффекта [[путь|пути]]'', полученная композицией функций эффектов составляющих его дуг. Указанная задача алгоритмически неразрешима и допускает эффективное решение лишь для узких своих подклассов таких, как, например, ''дистрибутивные''
'''З.а.с.с.''', в которых <math>F</math> состоит только из дистрибутивных функций. Поэтому обычно
'''задачи анализа свойств состояний''', в которых <math>F</math> состоит только из дистрибутивных функций. Поэтому обычно
рассматриваются алгоритмы нахождения приближенных решений задачи, связанных с нахождением ''корректных разметок'' --- таких <math>B:V\rightarrow L</math>, что <math>B(p)\sqsubseteq f_{\alpha}(a_0)</math> для любых вершины <math>p</math> и пути <math>\alpha</math> из <math>a_0</math> в <math>p</math>.
рассматриваются алгоритмы нахождения приближенных решений задачи, связанных с нахождением ''корректных разметок'' таких <math>B:V\rightarrow L</math>, что <math>B(p)\sqsubseteq f_{\alpha}(a_0)</math> для любых вершины <math>p</math> и пути <math>\alpha</math> из <math>a_0</math> в <math>p</math>.


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


В общей постановке с каждой дугой уграфа могут связываться функции ее эффектов как в прямом, так и в обратном направлении.
В общей постановке с каждой дугой уграфа могут связываться функции ее эффектов как в прямом, так и в обратном направлении.


Другие названия --- ''[[Задача потокового анализа]]'' и ''[[Задача глобального анализа потока данных]]''.
Другие названия ''[[Задача потокового анализа]]'' и ''[[Задача глобального анализа потока данных]]''.
==Литература==
==Литература==
[Касьянов/88], [Котов-Сабельфельд]
* Касьянов В.Н. Оптимизирующие преобразования программ. — М.: Наука, 1988.
* Котов В.Е., Сабельфельд В.К. Теория схем программ. — М.:  Наука, 1991.
 
[[Категория: Теория схем программ]]
[[Категория: Потоковый анализ программ]]
[[Категория:Граф-модели]]
[[Категория:Преобразование программ]]

Текущая версия от 14:33, 5 ноября 2024

Задача анализа свойств состояний (Data flow analysis problem) — Рассматривается полурешетка свойств [math]\displaystyle{ (L,\sqcap) }[/math], не содержащая бесконечных цепей, множество преобразователей свойств [math]\displaystyle{ F }[/math] и функция [math]\displaystyle{ M }[/math], ставящая в соответствие каждой дуге [math]\displaystyle{ u }[/math] анализируемого уграфа [math]\displaystyle{ G=(V,U) }[/math] функцию эффекта дуги [math]\displaystyle{ M(u)\in F }[/math].

Прямая задача анализа свойств состояний формулируется как задача нахождения так называемой полной разметки — такой функции [math]\displaystyle{ A:V\rightarrow L }[/math], что

[math]\displaystyle{ A(p)=\sqcap\{f_{\alpha} (a_0):\alpha \mbox{ --- } }[/math] путь от начальной вершины до [math]\displaystyle{ p\}, }[/math]

где [math]\displaystyle{ a_0 }[/math] — некоторое свойство, сопоставляемое с начальной вершиной уграфа, а [math]\displaystyle{ f_{\alpha} }[/math] — функция эффекта пути, полученная композицией функций эффектов составляющих его дуг. Указанная задача алгоритмически неразрешима и допускает эффективное решение лишь для узких своих подклассов таких, как, например, дистрибутивные задачи анализа свойств состояний, в которых [math]\displaystyle{ F }[/math] состоит только из дистрибутивных функций. Поэтому обычно рассматриваются алгоритмы нахождения приближенных решений задачи, связанных с нахождением корректных разметок — таких [math]\displaystyle{ B:V\rightarrow L }[/math], что [math]\displaystyle{ B(p)\sqsubseteq f_{\alpha}(a_0) }[/math] для любых вершины [math]\displaystyle{ p }[/math] и пути [math]\displaystyle{ \alpha }[/math] из [math]\displaystyle{ a_0 }[/math] в [math]\displaystyle{ p }[/math].

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

В общей постановке с каждой дугой уграфа могут связываться функции ее эффектов как в прямом, так и в обратном направлении.

Другие названия — Задача потокового анализа и Задача глобального анализа потока данных.

Литература

  • Касьянов В.Н. Оптимизирующие преобразования программ. — М.: Наука, 1988.
  • Котов В.Е., Сабельфельд В.К. Теория схем программ. — М.: Наука, 1991.