Кіріспе
Ең үлкен субграф, оның төбелері бір-біріне жете алады. Граф теориясында, бағытталмаған графтың компоненті – бұл үлкенірек байланысқан субграфтың бөлігі емес, байланысқан субграф. Кез келген графтың компоненттері оның төбелерін оқшау жиынтықтарға бөледі және осы жиынтықтардың туынды субграфтары болып табылады. Өзі байланысқан графтың дәл бір компоненті бар, ол графтың толық бөлігінен тұрады. Компоненттер кейде байланысты компоненттер деп аталады. Берілген графтың компоненттерінің саны – графтың маңызды инварианты және матроидтардың, топологиялық кеңістіктердің және матрицалардың инварианттарымен тығыз байланысты. Кездейсоқ графтарда жиі кездесетін құбылыс – алып компоненттің пайда болуы, яғни басқаларына қарағанда айтарлықтай үлкен бір компонент; сондай-ақ перколяция шегі, графтың жиектерінің ықтималдығы осы шектен жоғары болса алып компонент пайда болады, ал төмен болса – пайда болмайды. Графтың компоненттерін сызықтық уақытта құрастыруға болады, ал проблеманың ерекше жағдайы – байланысты компоненттерді белгілеу, бейне талдауының негізгі әдісі болып табылады. Динамикалық байланыс алгоритмдері графқа жиектер қосылған немесе жойылған кезде компоненттерді аз уақыт ішінде сақтайды. Есептеу күрделілігі теориясында байланысты компоненттер шектеулі жадта жұмыс істейтін алгоритмдерді зерттеу үшін қолданылды, ал сызықтық емес уақыт алгоритмдері компоненттердің санын дәл бағалауға мүмкіндік береді.
In graph theory, a component of an undirected graph is a connected subgraph that is not part of any larger connected subgraph. The components of any graph partition its vertices into disjoint sets, and are the induced subgraphs of those sets. A graph that is itself connected has exactly one component, consisting of the whole graph. Components are sometimes called connected components. The number of components in a given graph is an important graph invariant, and is closely related to invariants of matroids, topological spaces, and matrices. In random graphs, a frequently occurring phenomenon is the incidence of a giant component, one component that is significantly larger than the others; and of a percolation threshold, an edge probability above which a giant component exists and below which it does not. The components of a graph can be constructed in linear time, and a special case of the problem, connected component labeling, is a basic technique in image analysis. Dynamic connectivity algorithms maintain components as edges are inserted or deleted in a graph, in low time per change. In computational complexity theory, connected components have been used to study algorithms with limited space complexity, and sublinear time algorithms can accurately estimate the number of components.
Құралымдардың саны
Берілген шекті графиктің компоненттерінің санын оның жапсарлас ормандарындағы жиектердің санын санауға пайдалануға болады: шыңы мен компоненттері бар графикте әр жапсарлас орманда дәл жиектер болады. Бұл сан – графиктің теориялық матроидтық дәрежесі және оның графикалық матроидтық дәрежесі. Екілік кографиялық матроидтың рангі графиктің контурлық рангіне тең, оның барлық циклдарын бұзу үшін графиктен алып тасталуы тиіс жиектердің ең аз саны. жиегі, шыңы және компоненттері бар графикте контурлық орындылық графикті бірнеше жолмен топологиялық кеңістік ретінде түсіндіруге болады, мысалы, оның шыңдарын үш өлшемді Евклид кеңістігінде жалпы позициядағы нүктелер ретінде орналастыру және оның жиектерін сол нүктелер арасындағы сызық сегменттері ретінде бейнелеу арқылы. Графиктің компоненттерін осы түсініктер арқылы сәйкес кеңістіктің топологиялық байланысқан компоненттері ретінде жалпылауға болады; бұл – бірікпеген жабық жиынтықтардың жұптарымен бөліп қарауға болмайтын нүктелердің баламалылық сыныптары. Топологиялық кеңістіктің байланысқан компоненттерінің саны маңызды топологиялық инвариант, нөлдік Бетти саны сияқты, графтың компоненттерінің саны маңызды граф инварианты болып табылады және топологиялық граф теориясында оны графтың нөлдік Бетти саны ретінде түсіндіруге болады. Компоненттер саны граф теориясында басқа жолдармен де пайда болады. Алгебралық граф теориясында ол шекті графтың Лапласиан матрицасының өзіндік мәні ретінде 0-дің көбеюіне тең. Ол сонымен қатар графтың хроматикалық полиномының нөлден тыс бірінші коэффициентінің индексі болып табылады, ал бүкіл графтың хроматикалық полиномын оның компоненттерінің полиномдарының көбейтіндісі ретінде алуға болады. Компоненттер саны Тютте теоремасында, толық сәйкес келетін шекті графиктерді сипаттауда және максималды сәйкес келудің өлшемі үшін Тютте–Берге формуласында және графиктің беріктігін анықтауда басты рөл атқарады.
A graph can be interpreted as a topological space in multiple ways, for instance by placing its vertices as points in general position in three dimensional Euclidean space and representing its edges as line segments between those points. The components of a graph can be generalized through these interpretations as the topological connected components of the corresponding space; these are equivalence classes of points that cannot be separated by pairs of disjoint closed sets. Just as the number of connected components of a topological space is an important topological invariant, the zeroth Betti number, the number of components of a graph is an important graph invariant, and in topological graph theory it can be interpreted as the zeroth Betti number of the graph. The number of components arises in other ways in graph theory as well. In algebraic graph theory it equals the multiplicity of 0 as an eigenvalue of the Laplacian matrix of a finite graph. It is also the index of the first nonzero coefficient of the chromatic polynomial of the graph, and the chromatic polynomial of the whole graph can be obtained as the product of the polynomials of its components. Numbers of components play a key role in the Tutte theorem characterizing finite graphs that have perfect matchings and the associated Tutte–Berge formula for the size of a maximum matching, and in the definition of graph toughness.
Алгоритмдер
Шекті графтың компоненттерін сызықтық уақытта (графтың төбелері мен қабырғаларының саны бойынша) ендік бірінші іздеу немесе тереңдік бірінші іздеу арқылы есептеу оңай. Екі жағдайда да, белгілі бір төбеден басталатын іздеу, қайтып оралғанға дейін осы компонентті (басқа ештеңе емес) табады. Графтың барлық компоненттерін оның төбелері арқылы цикл жасау арқылы табуға болады, цикл бұрын табылған компонентке кірмеген төбеге жеткен сайын жаңа ендік бірінші немесе тереңдік бірінші іздеуді бастайды. Осы алгоритмді сипаттап, оның "бұрыннан мәлім" екенін атап көрсетіңіз. Байланысты компоненттерді белгілеу, компьютерлік кескіндерді талдаудың негізгі әдісі, кескінден граф құруды және граф бойынша компоненттерді талдауды қамтиды. Төбелер – кескіннің пикселдерінің іріктеме жиыны, олар қызығушылық тудыратын немесе бейнеленген нысандардың бөлігі болуы мүмкін. Қабырғалар көршілес пиксельдерді байланыстырады, ал көршілігі фон Нейман көршілігіне сәйкес ортогональды немесе Мур көршілігіне сәйкес ортогональды және диагональды болып анықталады. Осы графтың байланысты компоненттерін анықтау, кескіннің осы бөліктерінде көбірек құрылымды табуға немесе қандай нысан бейнеленгенін анықтау үшін қосымша өңдеуге мүмкіндік береді. Зерттеушілер осы типтегі графтар үшін арнайы компоненттерді табу алгоритмдерін жасады, бұл оны ендік бірінші немесе тереңдік бірінші іздеу арқылы туындайтын шашыраңқы тәртіппен емес, пикселдік тәртіппен өңдеуге мүмкіндік береді. Бұл пикселдерге тікелей қол жеткізу кездейсоқ қол жеткізуден тиімдірек болған жағдайларда пайдалы болуы мүмкін, өйткені кескін жылдам кездейсоқ қол жеткізуге мүмкіндік бермейтін иерархиялық түрде ұсынылған немесе тікелей қол жеткізу жадқа қол жеткізудің жақсы үлгілерін тудырады. Сонымен қатар, графтың компоненттерін динамикалық түрде қадағалауға арналған тиімді алгоритмдер бар. Бұл үшін, төбелер мен қабырғалар қосылған кезде, кез келген екі сыныпты олардың бірігімен алмастыру үшін, төбелердің эквиваленттік сыныптарына бөлінуін қадағалау үшін, дизъюнкт жиын деректерінің құрылымын қолдану арқылы. Бұл алгоритмдер операцияға амортизацияланған уақыт алады, мұнда төбелер мен қабырғаларды қосу және төбе қай компонентке жататынын анықтау екі операция болып табылады, ал – өте жылдам өсетін Аккерман функциясының өте баяу өсетін кері шамасы. Осы типтегі инкрементті байланыс алгоритмінің бір қолданылуы – Крускалдың ең аз жабатын ағаштар алгоритмі, ол қабырғаларды ұзындығы бойынша сұрыпталған тәртіппен графқа қосады және ең аз жабатын ағашта тек бұрын қосылған субграфтың екі түрлі компонентін байланыстырған кезде ғана қабырғаны қамтиды. Қабырғаларды қосуға және жоюға рұқсат берілген жағдайда, динамикалық байланыс алгоритмдері әр өзгеріске амортизацияланған уақытта және байланыс сұранысына уақытта бірдей ақпаратты сақтай алады немесе логарифмдік кездейсоқ күтілетін уақытта. Графтардың компоненттері есептеу күрделілігі теориясында жұмыс жадының логарифмдік саны биттерімен шектелген, өзгертуге болмайтын, тек оқуға қол жетімді үлкен кіріспен Тьюринг машиналарын зерттеу үшін пайдаланылды. Осылайша шектелген машиналар шеше алатын мәселелер L күрделілік класын анықтайды. Көп жылдар бойы бұл модельде екі төбе бір компонентке жата ма, жоқ па, деген шешім проблемасы ретінде формалдағанда, байланысты компоненттерді табу мүмкін екендігі белгісіз болды. 1982 жылы осы байланыс мәселесін және логарифмдік кеңістікте азайту бойынша оған тең келетін кез келген басқа мәселені қамту үшін SL күрделілік класы анықталды. 2008 жылы осы байланыс мәселесін логарифмдік кеңістікте шешуге болатыны дәлелденді, сондықтан жабыстыру тізімі ретінде ұсынылған графта, төбелеріне кездейсоқ қол жеткізу арқылы байланысты компоненттердің санын бағалауға болады, ең көп дегенде, қосымша (абсолюттік) қате алудың тұрақты ықтималдығымен, сызықтық емес уақытта.
In a graph represented as an adjacency list, with random access to its vertices, it is possible to estimate the number of connected components, with constant probability of obtaining additive (absolute) error at most , in sublinear time .