Графикті қайта жазу - Graph rewriting

Жылы Информатика, графикалық түрлендіру, немесе графикті қайта жазу, жаңа құру техникасына қатысты график алгоритмдік түпнұсқа графиктен. Бастап көптеген қосымшалары бар бағдарламалық жасақтама (бағдарламалық жасақтама және сонымен қатар бағдарламалық қамтамасыз етуді тексеру ) дейін орналасу алгоритмдері және сурет генерациясы.

Графикалық түрлендірулерді есептеу абстракциясы ретінде пайдалануға болады. Негізгі идея мынада: егер есептеу күйін график түрінде көрсетуге болатын болса, онда осы есептеудің келесі қадамдары сол графикадағы түрлендіру ережелері ретінде ұсынылуы мүмкін. Мұндай ережелер түпнұсқа графиктен тұрады, оны толық күйінде субографқа сәйкестендіру керек және сәйкес графиканы алмастыратын ауыстыру графигінен тұрады.

Формальды түрде график қайта жазу жүйе, әдетте, форманы қайта жазу графигінің жиынтығынан тұрады , бірге графикалық графика деп аталады (немесе сол жақта) және ауыстыру графигі (немесе ереженің оң жағы) деп аталады. Графты қайта жазу ережесі графикалық графиканың пайда болуын іздеу арқылы негізгі графикада қолданылады (үлгілерді сәйкестендіру, осылайша субографиялық изоморфизм мәселесі ) табылған оқиғаны ауыстыру графигінің данасымен ауыстыру арқылы. Қайта жазу ережелерін келесі жағдайда реттеуге болады белгіленген графиктер, мысалы, жолмен реттелетін графикалық грамматикаларда.

Кейде графикалық грамматика синонимі ретінде қолданылады графикалық қайта жазу жүйесі, әсіресе ресми тілдер; әр түрлі тұжырымдамалар конструкциялардың мақсатын атап өту үшін қолданылады, мысалы, кейбір бастапқы графиктердің барлық графиктерін санау, яғни графикалық тілдің генерациясы - берілген күйді (негізгі графикті) жаңа күйге ауыстырудың орнына.

Графикалық қайта жазу тәсілдері

Алгебралық тәсіл

The алгебралық тәсіл графикке қайта жазу негізделген категория теориясы. Алгебралық тәсіл қосымша тәсілдерге бөлінеді, олардың ішіндегі ең кең таралғаны екі рет итеру (DPO) тәсілі және бір ретті (SPO) тәсіл. Басқа ішкі тәсілдерге мыналар жатады sesqui-pushhout және кері тарту тәсіл.

DPO тәсілі тұрғысынан графикті қайта жазу ережесі жұп болып табылады морфизмдер графиктер санатында және график гомоморфизмдері олардың арасында: (немесе ) қайда болып табылады инъекциялық. К графигі деп аталады өзгермейтін немесе кейде желім графигі. A қайта жазу қадам немесе қолдану r-ден a-ға дейінгі ереженің хост графигі G екіге анықталады итеру екеуі де бір жерден шыққан диаграммалар морфизм , мұндағы D - а контексттік график (бұл жерде есім екі есе-жаңғыру шығады). Басқа графикалық морфизм L-дің G-де пайда болуын модельдейді және а деп аталады матч. Мұны практикалық түсіну мынада сәйкес келетін субография болып табылады (қараңыз субографиялық изоморфизм мәселесі ), және сәйкестік табылғаннан кейін, ауыстырылады негізгі графикте қайда ережені қолдану кезінде сақталатын түйіндер мен шеттерді қамтитын интерфейс ретінде қызмет етеді. График сәйкес келетін үлгіні оның мазмұнына сәйкестендіру үшін қажет: егер ол бос болса, сәйкестік тек графиктің тұтас байланысты компонентін белгілей алады .

Керісінше, SPO тәсілінің графикалық қайта жазу ережесі - санатындағы бір морфизм белгіленген мультиграфтар және жартылай кескіндер мульти графикалық құрылымды сақтайтын: . Осылайша қайта жазу қадамы жалғызмен анықталады итеру диаграмма. Мұны практикалық тұрғыдан түсіну DPO тәсіліне ұқсас. Айырмашылық, G хост графигі мен G 'графигі арасында интерфейс жоқ, бұл қайта жазу қадамының нәтижесі.

Практикалық тұрғыдан DPO мен SPO арасындағы айырмашылық олардың түйіндерді іргелес шеттермен жоюмен қалай айналысатындығында, атап айтқанда, мұндай өшірулердің артында «ілулі шеттерді» қалдыруы мүмкіндігінде. DPO тәсілі түйінді тек ереже барлық көршілес шеттердің жойылуын анықтаған кезде ғана жояды (бұл ілулі күй берілген сәйкестікке тексеруге болады), ал SPO тәсілі жай спецификацияны талап етпей, іргелес шеттерін жояды.

Сондай-ақ, графикалық қайта жазудың тағы бір алгебралық тәсілі бар, ол негізінен буль алгебрасы мен матрицалар алгебрасына негізделген. матрицалық графикалық грамматика.[1]

Графикалық қайта жазуды анықтаңыз

Графты қайта жазудың тағы бір тәсілі, белгілі анықтау графикті қайта жазу, шықты логика және мәліметтер қорының теориясы.[2] Бұл тәсілде графиктер мәліметтер базасының даналары ретінде қарастырылады, ал қайта жазу операциялары сұраныстар мен көріністерді анықтау механизмі ретінде қарастырылады; сондықтан барлық қайта жазу бірегей нәтиже беру үшін қажет (изоморфизмге дейін ) және бұл кез-келген қайта жазу ережесін графиктің барлық жерінде бір уақытта, нәтиже шынымен бірегей анықталатын етіп қолдану арқылы қол жеткізіледі.

Мерзімді графикалық қайта жазу

Графикті қайта жазудың тағы бір тәсілі - бұл мерзімді график қайта жазу, ол мерзімді графиктерді өңдеуді немесе трансформациялауды қамтиды (сонымен бірге дерексіз графикалық графиктер) синтаксистік қайта жазу ережелерінің жиынтығы бойынша.

Терминдік графиктер бағдарламалау тілін зерттеудің көрнекті тақырыбы болып табылады, өйткені графиканы қайта жазу ережелері компиляторды формальды түрде көрсете алады. жедел семантика. Мерзімді графиктер сонымен қатар химиялық және биологиялық есептеулерді модельдеуге қабілетті дерексіз машиналар, сондай-ақ параллельдік модельдер сияқты графикалық есептеулер ретінде қолданылады. Мерзімді графиктер орындай алады автоматтандырылған тексеру және логикалық бағдарламалау, өйткені олар сандық тұжырымдарды бірінші ретті логикада ұсынуға өте ыңғайлы. Бағдарламалық жасақтаманың символдық бағдарламасы - бұл топтар, өрістер және сақиналар сияқты абстрактілі алгебралық құрылымдармен есептеулер жүргізуге және орындауға қабілетті мерзімді графиктерге арналған тағы бір қосымша.

TERMGRAPH конференциясы[3] толығымен графикалық графиканы қайта жазуға және оны қолдануға арналған зерттеулерге бағытталған.

Графикалық грамматика және графиканы қайта жазу жүйесі

Графикалық қайта жазу жүйелері, әрине, қолданылатын графиктердің ұсынылу түріне және қайта жазудың қалай өрнектелуіне қарай сыныптарға топтасады. Графикалық грамматика термині, әйтпесе графиканы қайта жазу жүйесіне немесе графиканы ауыстыру жүйесіне эквивалентті, классификацияда жиі қолданылады. Кейбір кең таралған түрлері:

Іске асыру және қолдану

Графикті қайта жазу ережесінің мысалы (компиляторды құрастырудан оңтайландыру: 2-ге көбейту, қосумен ауыстырылған)

Графиктер - бұл қатынастармен байланысты объектілерді (объектілерді) модельдеуге арналған экспрессивті, визуалды және математикалық дәл формализм; нысандар түйіндермен және олардың арасындағы қатынастармен шеттермен ұсынылған. Түйіндер мен шеттер әдетте теріліп, атрибуцияланады. Есептеу осы модельде субъектілер арасындағы қатынастардың өзгеруімен немесе график элементтерінің атрибуттық өзгеруімен сипатталады. Олар графикті қайта жазу / графиканы түрлендіру ережелерінде кодталған және графиканы қайта жазу жүйелері / графиканы түрлендіру құралдары арқылы орындалады.

Сондай-ақ қараңыз

Ескертулер

Әдебиеттер тізімі

Дәйексөздер

  1. ^ Перес 2009 осы тәсілді егжей-тегжейлі қарастырады.
  2. ^ «Деректер базасының соңғы пайдаланушы интерфейстеріне арналған графикалық бағытталған нысан моделі» (PDF).
  3. ^ «TERMGRAPH».

Дереккөздер