Кіріспе

Граф теориясының математикалық саласында, бағытталмаған графтың T жайылма ағашы – G графының барлық төбелерін қамтитын ағаш. Әдетте, графтың бірнеше жайылма ағашы болуы мүмкін, бірақ байланыссыз графтың жайылма ағашы болмайды (төмендегі жайылма ормандар туралы қараңыз). Егер G графының барлық қабырғалары, G графының T жайылма ағашының қабырғалары болса, онда G – ағаш және T-мен сәйкес келеді (яғни, ағаштың жалғыз жайылма ағашы болады және ол өзі болып табылады).

Қолданбалар

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

Анықтамалар

Ағаш – циклдар жоқ, байланысқан бағытталмаған граф. Егер ол граф G-ді жабатын болса (яғни, G-нің барлық төбелерін қамтитын болса) және G-нің ішкі графы болса (ағаштың әрбір қабырғасы G-ге жататын болса), онда ол G-нің өрістік ағашы деп аталады. Байланысқан граф G-нің өрістік ағашын G-де циклдар жоқ ең үлкен қабырғалар жиыны немесе барлық төбелерді байланыстыратын ең кішкентай қабырғалар жиыны ретінде де анықтауға болады.

Негізгі циклдер

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

Негізгі кескіш жиынтықтар

Негізгі цикл ұғымына қатысты, берілген жайылма ағашына байланысты негізгі кесу ұғымы да бар. Жайылма ағаштың бір қанатын жою арқылы, төбелер екі бөлек жиынға бөлінеді. Негізгі кесу жиыны – G графынан бірдей бөлуді жасау үшін жойылуы тиіс жиектердің жиыны. Осылайша, әр жайылма ағаш V–1 негізгі кесу жиынын анықтайды, жайылма ағаштың әр қанатына бір жиыннан. Негізгі кесу жиындары мен негізгі циклдер арасындағы екіжақтылықты мына арқылы анықтауға болады: цикл қанатындағы жиектер тек басқа жиектердің кесу жиындарында ғана кездесе алады; және керісінше: кесу жиынындағы жиектер тек кесуге сәйкес жиекті қамтитын циклдарда ғана кездесе алады. Бұл екіжақтылықты матроидтар теориясын қолдану арқылы да түсіндіруге болады, онда жайылма ағаш – графикалық матроидтың негізі, негізгі цикл – негізге бір элемент қосылған жиын ішіндегі бірегей тізбек, ал негізгі кесулер – қос матроидтан ұқсас анықталады.

Орманды жапсыру

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

Ағаштардың арақашықтығын есептеу

Байланысты графтың жайылған ағаштарының саны t(G) жақсы зерттелген инвариант есептеледі.

Толық полиномиалдық

Графтың Тютте полиномиалы графтың жайылған ағаштары бойынша, ағаштың "ішкі активтігі" мен "сыртқы активтігі" арқылы есептелген мүшелердің қосындысы ретінде анықталады. Оның (1,1) аргументтеріндегі мәні – графтың жайылған ағаштарының саны, ал үзіліссіз графтарда – ең үлкен жайылған орман саны. Тютте полиномиалы жою-қысқарту рекурсиясы арқылы есептелуі мүмкін, бірақ оның есептеу күрделілігі жоғары: оның аргументтерінің көптеген мәндері үшін оны дәл есептеу #P-толық мәселесі, сондай-ақ кепілдік берілген жуықтау қатынасымен жуықтау да қиын. Кирхгоф теоремасымен бағалана алатын (1,1) нүктесі – сирек кездесетін ерекше жағдайлардың бірі.

Құрылыс

Графтың бір ғана аралық ағашын сызықтық уақыт ішінде тереңдікке бірінші іздеу немесе ендікке бірінші іздеу арқылы табуға болады. Бұл екі алгоритм де берілген графикті кез келген v төбесінен бастап, жаңадан табылған төбелердің көршілерін аралап, әр зерттелмеген көршіні кейінірек зерттеу үшін деректер құрылымына қосу арқылы зерттейді. Олардың айырмашылығы осы деректер құрылымының стек (тереңдікке бірінші іздеу үшін) немесе кезек (ендікке бірінші іздеу үшін) болуында. Қай жағдайда болсын, тамырлық v төбесінен басқа әр төбені оны ашқан төбеге қосу арқылы аралық ағаш құруға болады. Бұл ағаш, оны құру үшін қолданылған графты зерттеу алгоритміне байланысты, тереңдікке бірінші іздеу ағашы немесе ендікке бірінші іздеу ағашы деп аталады. Тереңдікке бірінші іздеу ағаштары – тереңдікке бірінші іздеуді 19 ғасырда ашқан Тремо ағаштары деп аталатын аралық ағаштар класының ерекше жағдайы. Аралық ағаштар параллель және үлестірілген есептеулерде процессорлар жиынтығы арасындағы байланысты сақтау үшін маңызды; мысалы, OSI байланыс қабаты құрылғылары қолданатын аралық ағаш протоколы немесе үлестірілген есептеулерге арналған Shout (протоколы) қараңыз. Дегенмен, тізбекті компьютерлерде аралық ағаштарды құру үшін қолданылатын тереңдікке және ендікке бірінші іздеу әдістері параллель және үлестірілген компьютерлерге тиімді келмейді. Оның орнына, зерттеушілер осы есептеу модельдерінде аралық ағаштарды табу үшін бірнеше арнайы алгоритмдерді жасады.

Оңтайландыру

Граф теориясының кейбір салаларында салмақталған графтың ең кішкентай жабатын ағашын табу жиі пайдалы. Жабатын ағаштар бойынша басқа да оптимизациялық мәселелер зерттелді, соның ішінде ең үлкен жабатын ағаш, кем дегенде k төбесін қамтитын ең кішкентай ағаш, төбелер санына қарай ең аз жиектері бар жабатын ағаш, ең көп жапырағы бар жабатын ағаш, ең аз жапырағы бар жабатын ағаш (Гамильтондық жол мәселесімен тығыз байланысты), ең кішкентай диаметрлі жабатын ағаш және ең кішкентай созылу жабатын ағаш. Эвклид жазықтығы сияқты геометриялық кеңістіктегі шекті нүктелер жиыны үшін де оптималды жабатын ағаш мәселелері зерттелді. Мұндай деректер үшін жабатын ағаш – бұл берілген нүктелерді төбелері ретінде пайдаланатын ағаш. Ағаштың сапасы графтардағыдай өлшенеді, әр жиектің салмағы ретінде нүктелер жұбы арасындағы Эвклидтік қашықтық қолданылады. Мысалы, Эвклидтік ең кішкентай жабатын ағаш, Эвклидтік жиек салмақтары бар толық графтың ең кішкентай жабатын ағашымен бірдей. Дегенмен, оптимизациялық мәселені шешу үшін осы графикті құрудың қажеті жоқ; мысалы, Эвклидтік ең кішкентай жабатын ағаш мәселесі Делоней триангуляциясын құрастырып, содан кейін пайда болған триангуляцияға жазықтық графтың ең кішкентай жабатын ағашын табу алгоритмін қолдану арқылы O(n log n) уақытында тиімдірек шешіледі. Жабатын ағаштарды кездейсоқ, бірақ біркелкі емес түрде жасаудың баламалы моделі – кездейсоқ ең кішкентай жабатын ағаштар. Бұл модельде графтың жиектеріне кездейсоқ салмақтар беріледі, содан кейін салмақталған графтың ең кішкентай жабатын ағашы құрылады.

Санақ

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

Шексіз графиктерде

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

Бағытталған мультиграфтарда

Ағашты кеңінен қамтитын идеяны бағытталған көпграфтарға жалпылауға болады. Бағытталған G көпграфтағы v төбесі берілген жағдайда, v төбесіне тамырланған бағдарланған T ағашы – G-нің айналмасыз кіші графы болып табылады, онда v төбесінен басқа әрбір төбеде бір шығу жиегі болады. Бұл анықтама тек T ағашының тармақтары v төбесіне қарай бағытталған кезде ғана орындалады.