Кіріспе

Графтың жиегін жою және түйіндерін біріктіру

Графтар теориясында, жиектерді қысқарту – бұл графтан жиекті алып тастап, оның бұрын байланыстырған екі түйінін бірге біріктіру операциясы. Жиектерді қысқарту графтардың кіші элементтері теориясындағы негізгі операция болып табылады. Түйіннің біріктірілуі – бұл операцияның шектеусіз азат түрі.

Анықтама

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

Ресми анықтама

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

Бағананы анықтау

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

Жоғарғы жағы бөлінуі

Vertex cleaving, vertex split дегеніміз – бір төбе екіге бөлінеді, нәтижесінде пайда болған екі жаңа төбе бастапқы төбенің іргелес төбелерімен іргелеседі. Бұл төбелерді біріктіру операциясының кері процесі, бірақ әдетте төбелерді біріктіру кезінде екі біріктірілген төбенің іргелес төбелері бір жиынтықтан құралмайды.

Жолдың жиырылуы

Жолдың қысқаруы – жолдың бастапқы және соңғы нүктелері арасында бір ғана жиек пайда болатындай етіп, жолдың жиектерінің жиынтығында жүзеге асады. Жол бойындағы төбелерге жанасқан жиектер жойылады немесе кездейсоқ (немесе жүйелі) түрде соңғы нүктелердің біріне қосылады.

Бұрау

Екі бөлек графты қарастырайық және , мұнда вертекстерін қамтиды және вертекстерін қамтиды. Егер біз графты вертексін мен вертексіне, ал вертексін мен вертексіне біріктіру арқылы ала алатын болсақ, вертексінің жиынына қатысты графтың бұралуында, мысалы, вертексін мен вертексін біріктіреміз.

Қолданбалар

Шекаралық және төбелерді жиыру әдістері графтың қабырғалары немесе төбелерінің саны бойынша индукция арқылы дәлелдеуде өте пайдалы, онда кіші графтардың барлығы үшін белгілі бір қасиет орындалады деп есептелінеді және осыны үлкен граф үшін дәлелдеуге қолдануға болады. Қабырғаны жиыру кездейсоқ байланысқан графтың аралас ағаштарының санына арналған рекурсивті формулаларда және қарапайым графтың түстік полиномына арналған рекурренттік формулаларда қолданылады. Жиырулар графты қарапайымдастыру қажет болғанда, бір-біріне эквивалентті ұғымдарды білдіретін төбелерді біріктіру арқылы да пайдалы. Ең көп таралған мысал – әрбір күшті байланысқан компоненттегі барлық төбелерді жиыру арқылы жалпы бағытталған графикті ациклді бағытталған графикке келтіру. Егер граф сипаттайтын қатынас транзитивті болса, оны құрастыру үшін жиырылған төбелердің белгілерінің жиынтығымен әр төбеге белгі берілгенше, ешқандай ақпарат жоғалмайды. Тағы бір мысал – жаһандық график түсін бөлуде жүзеге асырылатын біріктіру, онда төбелер келісімге келтіріледі (қауіпсіз болған жағдайда) әртүрлі айнымалылар арасындағы жылжу операцияларын болдырмау үшін. Қабырғаны жиыру 3D модельдеу пакеттерінде (қолымен немесе модельдеу бағдарламалық құралының кейбір мүмкіндіктері арқылы) төбелер санын үнемі азайту үшін қолданылады, бұл төмен полигонды модельдерді жасауға көмектеседі.