A dominátor a gráfelméletben egy bináris reláció egy megkülönböztetett bemeneti csomóponttal rendelkező irányított gráf csomópontjain, amely megmutatja az előnyt a bemeneti csomóponttól való útvonal áthaladásakor: a gráf csomópontja uralja a csomópontot ( vagy ként írva ), ha van olyan út a gráfból. bemeneti csomópont áthalad . Különösen minden csomópont önmagát uralja.
A legelterjedtebb a fordítói konstrukció elméletében használt vezérlési folyamatgráfok alkalmazása.
A dominátorokkal kapcsolatos információk megjelenítésének hasznos módja egy dominátorfának nevezett fa , ahol a bemeneti csomópont a gyökér, és minden csomópont csak a gyermekeit uralja a fában [1] .
A dominanciát a számítástechnikában először Reese T. Prosser vezette be 1959 -ben [2] , a dominanciaszámítási algoritmust 10 évvel később tette közzé először Lowry és Medlock ( ES Lowry , CW Medlock ) [3] . A dominancia reláció alkalmazása iránti érdeklődés Ron Cytron 1989-es cikkéből származik , amely ezt a relációt használja az SSA-reprezentációban használt φ-függvények hatékony kiszámítására [4] .
A dominátorokkal kapcsolatos legfontosabb észrevétel az, hogy ha bármilyen aciklikus utat választunk a bemeneti csomóponttól a csomópontig , akkor az összes dominátor ezen az úton fog elhelyezkedni, sőt, bármely útvonal mentén ugyanabban a sorrendben.
Ha és és a dominátorai , akkor vagy , vagy . Ebből az következik, hogy a bemeneti csomópont kivételével minden csomópontnak egyetlen közvetlen dominátorral kell rendelkeznie, vagyis a bemeneti csomóponttól [5] -ig tartó bármely aciklikus útvonalhoz legközelebb eső dominátorral .
A dominanciát a fordítókban használják az SSA reprezentáció kialakítására . Számos fordítóoptimalizálás is előnyös lehet a dominátorok használatából. Az automatikus párhuzamosításhoz előnyös, ha ismerjük az adott csomópont által dominált összes csomópontot. A memóriahasználat elemzése előnyös lehet egy dominátorfából, amely megkönnyíti a szivárgások megtalálását és a túlzott memóriahasználat azonosítását. Szoftverrendszerekben a teszthalmaz méretének csökkentésére használják [6] .
Az implikációs gráf dominánsát a logikai formulák kielégítési problémáinak CDCL-megoldóiban keresik a konfliktusstruktúra elemzésekor [7] .