Раскраска графа

Раскраски
Здесь предсавлены более 100 разнообразных картинок по теме: "Раскраска графа". Скачайте и распечатайте понравившиеся, а так же посмотрите наши видео-примеры разукрашивания и рисования. 109.248.166.21:1050
        
        

Видео по теме: Раскраска графа

Раскраска графа

Описание видео:
Рассмотрим простейший самый грубый алгоритм раскраски граппу что такая раскраска графа это процедура которая ...


Текст видео

рассмотрим простейший самый грубый алгоритм раскраски граппу что такая раскраска графа это процедура которая каждой вершине присваивают нитку условно говоря цвет и основное условие данную алгоритма заключается в том чтобы после раскраски любые смежные две вершины имели разные цвета вот и на такое присваивание метки и заключить и означает раскраску графа для того чтобы это сделать нужно в первую очередь посчитать степень каждой вершины сейчас я запишу их скобках рядом с соответствующим названием вершины
Читать далеетеперь я расположу свои вершины список таким образом чтобы степени их не возрастали то есть не были либо равны либо уменьшались после того как мы отсортировали вершины по невозрастанию степени 1 вершине к данным в списке мы назначаем цвет и раскрашиваем этим светом все вершины кроме 1 д который с ней не смежный и которые не будут смежными с другими вершинами данного цвета как происходило раскраска смотрите я раскрасила в синий цвет вершины d затем я начинаю спускаться по этому списку проверяй является ли смертность данные вершины с кем-нибудь и жир из уже покрашен их все и цвет е смежно б смежно с смежно джейн смежно пашни смежная и и окрасила дальше смотрим это вершинка смежно с уже вновь окрашенный вершины и синий и мы не трогаем зато а пока еще не смежно с окрашенными вершинами я покрасила iii-iv нельзя окрашивать поскольку нас нежность каш и нашей самый последний списке вершин джея смогла тоже окрасить после этого для следующей верхней в списке не вычеркнуты вершины я назначаю новый свет и логичным образом окрашу в новый цвет все вершины которые идут после нее ведь и я красила данной вершину персоны б пропуская поскольку она уже смежной зеленой вершиной а вот вершину c окрашиваю спокойно и также продолжаю перебор всех вершин списке так у нас оказалось три вершины зеленого цвета следующие не вычеркнуты вершину в списке верхняя это вершина б на зачем ей свой цвет красного цвета мест смогла окрасить вершины б ничто не помешало у меня красит данная вершину поскольку нас красными не смежно и точно также вершины f также не было смирно с другими красными вершинами я смогла окрасить и ее это самый приближённый и группу алгоритмов раскраски графа мы получили что приближена затем хроматического числа графа равно трем поскольку мы обошлись тремя цветами


Правильная раскраска графа

Описание видео:
Сегодня мы с вами поговорим о раскраске графов. Наверное вы уже знаете что графом называется какая-то совокупность ...


Текст видео

добрый день с вами заочных школ фрактал сегодня мы с вами поговорим о раскраске графов наверное вы уже знаете что графом называется какая-то совокупность или же множество вершин соединенных или же не соединенных между собой ребрами в некоторых задачах возникает необходимость понять как раз красть этот граф в несколько цветов что выполнялись определенные свойства чаще всего мы будем говорить про раскраску именно вершин нашего графа и конечно мы будем пытаться раскрасить
Читать далееграф не как-то хаотично о соответствии с некоторыми принципы один из таких важных принципе называется правильно раскраска подправил раскраской мы будем понимать такую раскраску где любые смежные вершины имеют разные цвета ну например допустим у нас есть какая-то такая картинка состоящий из нескольких точек и я буду обозначать цвета на этой картинке для вершин просто номерами надо пойти начнем допустим с этой точке потому что очевидно что все наши точки симметрично друг относительно друга они все имеют по два соединения с другими вершинами допустим здесь у меня первый цвет в таком случае я понимаю что одним цветом я уже точно не обойдусь ведь эта вершина сильно допустим с этой из этой а если мы хотим раскрасить граф правильно то нам необходимо сделать так чтобы эти две вершины смежные с первой имели другие цвета ну давайте пойдем допустим по часовой стрелке в таком случае здесь у нас будет второй цвет также мы будем придерживаться того принципа чтобы пытаться раскрасить нашу граф в наименьшее возможное число цветов потому что рассмат понятно что можно раскрасить любой граф в количество цветов равны его вершины но таком случае задача не такая интересная поэтому мы будем пытаться помимо того чтобы раскрашивать ногах правильно использовать наименьшее число возможных цветов для раскраски этого графа правильным образом такой здесь у меня 2 цвет и здесь следующая вершина мы видим что она уже не может 2 цвета ведь у нас едино с вершины 2 цвета знаешь здесь необходимо взять 1 цвет аналогично здесь нам необходимо взять тоже второй цвет ведь здесь эта вершина не может иметь 1 цвет первый цвет уже соседней с ней посмотри теперь на оставшийся вершину можно заметить что она уже средина совершенно 1 и 2 цвета а значит покрасить них первый ни второй цвет мы и не можем в таком случае это будет нарушать принцип и правильно раскраски значит не нам необходимо добавить еще какой-то цвет допустим свет с номером 3 таком случае мы будем говорить что этот граф который я нарисовал является 3 раскрашивай или в общем случае к раскрашены граф это тот граф который раскрашен в некоторое количество как цветов при этом у меня также упомянул что мы будем пытаться не просто раскрасить графы правильным образом так чтобы смежные вершины имели разные цвета но и также будем стараться делать это так чтобы использовать наименьшее возможное количество различных цветов математике есть специальное название для этого понятия вот то что мы понимаем под тем чтобы использовать наименьшее число цветов наименьшим число цветов для графа называется также хроматическим числом этого графа например здесь я мог бы сказать что хроматическое число равно 3 равно 3 также это можно записать по-другому если я скажу что например этот граф называется буква ж то есть вот множество этих точек и ребер между ними мы назовем буквы же в таком случае можно сказать что хроматическое число графы же равно трем и это записывается вот так рисуется буква и она обозначается очень похожи на x на немного по-другому здесь скобочках же равна трем такая запись читается как хроматическое число графы же равно трем давайте вообще подумаем о какое наименьшее количество цветов можно использовать для раскраски каких-то произвольных графов ну во-первых наверно очевидно что один свет нам подойдет только если наш граф пустой например стоит просто из одной вершины или например это вершины с каждой из которых по одиночке и все они не сын и ребрами между собой потому что если у нас есть хотя бы где-то соединение ребрами вершин нам необходимо и спорят уже хотя бы два цвета соответственно чаще всего нам будут встречаться задачи где количество цветов явно больше чем один давайте подумаем о какие графы можно раскрасить только в два цвета и не больше например этот граф несмотря на то что был очень простой мы не смогли раскрасить два цвета нам понадобилось использовать 3 потому что возникла ситуация где мы не можем использовать не один из двух уже имеющихся цветов вы можете проводить самостоятельные заметите что как бы вы не пытались раскрасить в каком порядке наша вершина меньше чем три цвета не получится использовать и тут на самом деле дело именно в том что количество вершин является нечетным давайте рисовать похожую картинку на 1 такую состоящую из четырех вершин виде квадратика таком случае сколько цветов на потребуется здесь допустим это первый цвет тогда здесь очевидно 2 ведь она смежной с 1 и здесь та же очевидно второй цвет ведь она снежность 1 значит мы вы нужно добавить второй цвет а эта вершина может быть 1 цвета это ничему не противоречит поэтому здесь мы смогли обойтись двумя цветами на самом деле имеется такой небольшой опыт можно обобщить можно сказать что граф является 2 раскрашенный то есть хроматическое число графа равна двум только если его можно представить в виде некоторого 2 дольно во графа напомню что двудольные графы называются такие графе в которых вершины можно условно разбить на две части так что вершина из первой части соединяются только совершенно из 2 и наоборот то есть соединение внутри наших частей нету здесь это можно сделать я мог бы сказать что вот эти две вершины в одной части а эти другой и например на из факта так что это первая часть это 2 и в таком случае очевидно становится что если в рамках одной части вершин они соединены ребром вы их можно красить в 1 цвет аналогично и здесь но при этом так как вершины первой части соединяются виршами за вершинами из второй части их не обходимо красить в 2 разных цвета аналогичное рассуждение можно провести для большего размера двудольный граф она например у нас есть две доля нашего графа есть какие-то точки и здесь и они как-то стыдно ребрами таком случае мы говорим что допустим здесь у нас завершена первого цвета и двигаемся теперь к ее соседям то есть во вторую часть нашего графа здесь можно назначить второй цвет ведь она не она соединена с первой вершины а значит не может быть 1 цвета при этом дальше становится понятно что все вершины первой части можно также покрасить первый свет ведь они друг с другом никак не связаны то есть никак не имеют общих любят аналогично и для второй части будет верно подобное рассуждение и все можно покрасить в один цвет так как мы уже сказали что здесь используются два цвета то меньше чем 2 цветом и спорят не сможем а в 20 это раскрасить получится и теперь давайте сделаем кайта вывод когда же граф является 3 раскрашиваем например как здесь можно сказать или же сделать предположение что если нашим графе присутствует какой-то цикл нечетные длины или допустимо представим виде такого цикла из нечетной длины то в таком случае конечно цветов понадобится хотя бы три потому что где-то будет место где мы не сможем чередовать цвета хорошо с этим разобрались и вроде становится понятно что большей части граф которым мы будем рассматривать будет несколько цветов при этом можно сделать отдельные замечания что на самом деле нам все равно какой граф рассматривать но при этом давайте оговоримся что допустим если графе есть петли в таком случае наше понятие правильно раскраски теряет некоторый смысл ведь мы говорим что вершины соединенный ребром должны быть разного цвета поэтому если в нашу графе есть петля и вершина какая-то сильно сама с собой то мы ее не можем раскрасить по принципам правильно раскраски поэтому мы будем исключать из нашего рассмотрения граф из петли на но при этом если в нем есть кратные рёбра это ничему не мешает посмотрите допустим здесь я бы нарисовал ещё несколько ребер все правила правила раскраски были бы соблюдены ведь в таком случае неважно какой ребро мы смотрим каждый ребро соединяет вершины каких-то двух разных цветов а значит мы можем в общем говорит что если у нас есть какое-то граф с кратными ребрами мы можем кратно ряда как будто кс хлопнуть вместе в одно и рассматривать задачу простого графа без петель и кратных рёбер отдельное замечание можно также сделать для полных графов ну вот смотрите например у меня есть полный граф на 3 вершинах это конечно треугольник в таком случае становится очевидно что двух цветов нам не хватит потому что каждая вершина является смежной с любой другой поэтому необходимо использовать хотя бы три цвета и причем ровно 3 цветов нам хватает поэтому хроматическое число эту графа это три давайте рассмотрим например какой нибудь граф полный из пяти вершин и пробуем понять какое наименьшее количество цветов нам необходимо чтобы раскрасить этот граф правильным образом можно заметить что каждая вершина сойдя с четырьмя другими а это означает допустим если мы здесь отметим первый цвет здесь допустим 2 но здесь 2 же отметить нельзя ведь она смежные сет иначе здесь нужен какой-то третий цвет теперь если мы посмотрим на пример на эту вершину смежную с этими двумя ее нельзя покрасить первый цвет потому что на соседние с 1 и нельзя просто 2 в третий вид они сильны поэтому здесь должность какой-то 4 свет ну и последняя вершина а нас видно опять же со всеми другими поэтому нам необходимо вести какой-то 5 цвет ведь иначе если у нее будет какой-то цвет и от 1 до 4 то где то получится что мы нарушаем правила правильно раскраски значит можно сделать следующий вывод что если мы говорим о полную графе то конечно его наименьшее число цветов для правил раскраски равно его количество вершин на самом деле задачу связанное с правильной раскраской графов встречаются и в реальной жизни например у нас есть такая задача мы знаем что есть какая-то химическая компания и они производят какие-то реагенты каком-то количестве допустим их x штук и компания понимает что эти реагенты могут как-то реагировать друг с другом при чем некоторые могут быть взрывоопасны соответственно если какие-то два реагента находятся вместе на их складе это может привести к взрыву поэтому она решает что необходимо весь склад разделить на несколько отсеков таким образом чтобы в каждом отсеке лежали только те предметы которые не будут взрывоопасная с другими эту задачу можно перевести на язык графов и правильной раскраски действительно давайте скажем что каждый отсек на который мы делим наш склад это какой-то определенный цвет и в таком случае давайте скажем что все наши объекты которые есть данной задачи допустим вершины и они с редми ребрами если их соединение является взрывоопасным они сыны если нет в таком случае нам необходимо построить такой граф для это задача для данного количества объектов цените как-то ребрами соответствии с этими принципами а затем понять какое же наименьшее количество цветов необходимо использовать для того чтобы наш граф был раскрашен правильно и ровно именно это правильно раскраска нам даст понять какое наименьшее количество отсеков на нашем складе необходимо сделать точно также можно любые другие какие-то сложные прикладные задачи решают с помощью теории графов и правильно раскраски как вы наверное могли уже заметить для решения подобных задач нам необходимо под мать какая же наименьшее количество цветов необходимо использовать ведь очевидно случай с химической компании деление склада на отсеки является только затратным и возможно финансовые затратным в таком случае мы понимаем что конечно же хочется обойтись наименьшим количеством отсеков а в случае для графа хочет обойтись наименьшим количество цветов для правильно раскраски ну мы уже обсудили про раскраску в один цвет и проставку два цвета 20 это все просто если мы можем развить наш граф на 2 доля и сделать его условно двудольный нам подойдет раскраска в два цвета к сожалению для большего количества цветов нет не существует каких-то общих принципов построения наименьшего количества цветов для нашего графа поэтому для решения задач с большим количеством объектов или же большим количеством цветов для правильно раскраски то есть больше хроматического числа мы можем лишь опираться на некоторое эмпирически полученное наблюдение и использовать их для решения наших задач для того чтобы решить задачу связанные с правил раскраска графа можно применять так называемый жадный алгоритм давайте попробую проиллюстрировать что он из себя представляет и как им можно пользоваться этот алгоритм как раз таки очень хорошо описывает то как мы в дальнейшем будем пытаться расспрашивать наши графа допустим у нас есть некоторый последовать совершил нашим графе моих пронумеруем x 1 x 2 x 3 и так далее допустим здесь какая-то x кота и следующая и последняя x and и таком случае давайте начнем с вершины x1 мы их как ты пронумеровали и теперь идём по порядку ну цветам и еще не по деле поэтому пусть здесь будет 1 цвет теперь смотрим на вершину x2 если вершина x2 является смежной секс 1 то есть а не стыдно ребром в таком случае конечно же доме 2 свет в противном случае если они не следы ребром мы можем здесь также покрасить первый свет и это никак не будет мешать наши правильно раскраски давайте запишем что есть два варианта первый вариант когда из 1 1 и 2 1 2 давай теперь посмотрим на вершину x3 если же она сильно как-то с первой вершины или со второй который мы уже рассмотрели а эти имеет одинаково цвета в таком случае здесь нам необходимо ввести какой-то второй цвет также может быть случай когда например третья вершина не сильно не с 1 из 2 и здесь мы сможем использовать 1 цвет если же конечно особенно хотя бы с одной из них нам необходимо вести какой-то другой цвет давайте рассмотри также второй случай если здесь эти вершины разных цветов то есть они смежные друг с другом то если x3 смежно с каждой из них необходимо ввести какой-то новый третий цвет точно также может быть ситуация что x3 смежная столько sx2 на них секс один такой случай здесь нападают первый цвет и второй уже занят для x2 и аналогично нам может подойти второй цвет если же третья вершина соединена с 1 на несколько со второй в таком случае можно использовать цвет номер два точно так же если x3 не соединение с первой не со второй вершиной можно спорить любой из этих цветов по нашему усмотрению рассмотрим какой-то общий шаг рассуждение нашего алгоритма например возьмем вершину xk в таком случае мы должны в начале посмотреть какие цвета уже использованы в предыдущих вершинах а также с какими из этих вершин с одна вершина x с индексом корр если они с кем сильно то можно взять любой цвет но если есть пицца единения мы конечно будем опираться на то с кем она уже и цена и в какие цвета покрашены предыдущие вершины пользуясь подобного типа алгоритм можно раскрасить любой граф правильно раскраской но к сожалению далеко не всегда мы можем гарантировать что подобная раскраска будет с наименьшим количеством цветов в качестве примера решения подобного типа задач давайте рассмотрим данной доске граф нам требуется понять какое наименьшее количество цветов необходимо раскрасить данный граф по-другому условие задачи можно сформулирован так найдите хроматическое число данного графа то есть опять же найдите наименьшее количество цветов для правильной раскраски этого графа ну что мы можем заметить во первых мы уже с вами встречали что здесь у нас есть пятиугольник который мы рассматривали ранее и мы уже с вами обговорили что если в нашем графе есть какой-то цикл вершин нечетной длины как здесь в таком случае необходимый спорят хотя бы три цвета точно то же самое нам дает другое наблюдение вот например здесь у нас имеется треугольник треугольник это полный граф из трех вершин и очевидно что меньше чем в три цвета правильным образом его не раскрасить ведь каждый решит гаршина соединена с двумя другими поэтому давайте например с этого и начнем возьмем наш треугольник и раскрасим его вершины таким образом 1 2 и 3 то есть будем отмечать наши цвета давай теперь посмотрим на верхнюю вершину нашего графа она уже стыдно с вершинами с номерами 1 и 2 поэтому здесь мы не можем и спорить ни первый ни второй свет атаку мы хотим сделать наименьшее количество цветов мы вынуждены ввести здесь третий цвет также теперь у нас осталось еще несколько вершин при этом можно заметить что например вот здесь в этой вершине не может быть третий цвет значит может быть либо 1 либо 2 цвет но давайте допустим сюда поставим 1 цвет это никак не увеличивать наше количество цветов в таком случае здесь в центре нам необходимо явно использует второй цвет ведь здесь уже имеется соединение с 3 из 1 аналогично рассуждение были бы если бы здесь мы поставили второй цвет здесь был бы 1 и теперь давайте посмотрим на последнюю оставшуюся вершину она оказалась цена с вершинами трех разных цветов 1 2 и 3 при этом если мы говорили о том что треугольник мы единство образом раскрашиваем так а все вершины можно пронумеровать по другому но смысл расположение цветов останется таким же при этом мы также отметили что если здесь первый тут 2 и наоборот 2 1 а значит в любом случае эта вершина окажется соседней совершенными тремя разных цветов это также означает что здесь мы не можем и спорить ни первый ни второй не трети цвета а значит вынуждена использовать четыре цвета наверное может показаться что наше рассуждение достаточно точны и строги но на самом деле не так ведь если мы начнем с какого-то любого другого треугольник раскрасим его в три цвета мы увидим точно то же самое просто вдруг вместе наши картинки и напоследок давайте рассмотрим такую задачу нам предложен некоторый граф и нам необходимо узнать хроматическое число эта графа или же другими словами найти наименьшее количество цветов в которой необходимо его раскрасить правильным образом на что можно обратить внимание в первую очередь можно всегда искать какие-то части нашего графа в которых есть концентрация вершин или же с идеей между ними иными словами можно попробовать найти полные графы в нашей картинки то есть полная под графу здесь они есть на пирс лево и справа мы видим что здесь и здесь у нас есть маленький под граф из четырех вершин при этом здесь он является полным по графам ведь каждая вершина сильно с каждый а значит здесь нельзя использовать менее чем 4 цвета ну давайте допустим скажем что это первая вторая третья четвертая аналогичные здесь должны быть использована как то вершит цвета эти же 4 ведь мы хотим сделать наименьшее количество цветов а так это полон граф всех вершин меньше чем четырьмя цветами мы не можем обойтись давайте сделаем лишь так чтобы 2 не соединялось с 2 допустим здесь будет 1 2 3 4 теперь давайте посмотрим у нас осталось не раскрашена лишь всего лишь одна вершина давайте посмотрим с кем она side на а нас едино с тремя вершинами отсюда и тремя вершинами отсюда хорошо при этом можно заметить что вы смотрите вот эта вершина из-за того что соединено с тремя вершинами из этого под графа мы можем покрасить только в такой же цвет как здесь потому что эти три цвета будут заняты для этой вершины значит здесь долго какой-то 4 цвет и можно взять его таким же как и здесь чтобы использовать принцип наименьшего количества цветов аналогично мы можем заметить что это вершина соединена с тремя вершинами с правой части нашего графа и так как здесь три каких-то разных цвета то это вершина может иметь такой же цвет как это при этом мы видим что на самом деле не первым и вторым цветом мы не можем покрасить нашу вершину снизу ведь если допустим здесь условно первый цвет а здесь 2 3 4 она не может 2 3 4 может быть только 1 с другой стороны здесь первый цвет явно находится среди этих снизу ведь первый цвет не может контактировать с первым сверху значит здесь какой то другой цвет ну допустим нашем случае два или это мог бы 3 или 4 но в любом случае первый цвет находится среди этих трех атак это вершина не должна быть покрашена него дивно стих 3 цветов она не может быть и 1 цвета тоже поэтому мы получаем что на самом деле здесь нам необходимо ввести какой-то новый 5 цвет и только в таком случае наша картинка будет раскрашена правильно давайте рассмотрим ещё раз эту картинку возможно без расставления цветов и докажем что действительно меньше чем в пять цветов и и раскрасить никак не получится собственная опорная вершины на которую мы смотрели были эти 3 1 2 и 3 при этом здесь четыре цвета и здесь 4 цвета но так как эти части среды между собой здесь то эти две вершины разных цветов ясно смотрим на левую половину нашего графа таком случае здесь четыре цвета а это вершина со дна с тремя из этих значит она может иметь только такой же цвет как у верхняя но верхний цвет вершина которой ну собственно на цвет вершины кто расположена здесь сверху не может быть здесь таким же значит свет который использован здесь так как мы пытаемся спорить наименьшее количество цветов а здесь их у было только четыре необходимо использовать среди этих трёх ведь тут тоже необходимо использовать хотя бы 4 цвета а это означает что это вершина не может быть такого же цвета как и это ведь здесь она со дна с одной из вершин такого цвета как здесь верхняя значит мы действительно должны ввести какой-то новый 5 цвет заключение хотелось бы сказать что если вам необходимо решить задачу а наименьшим количество цветов раскраски какого-то данного графа необходимо пользуется следующие наблюдениями что в два цвета можно раскрасить только двудольные или те которые сводятся к двудольных три цвета необходимо раскрашивать любые графы где есть какой-то циклом нечетной длины точно также очень полезно бывает посмотреть на части нашего графа которые являются полными графами в своем маленьком кусочке ведь наличие полу но граф она обязательно говорит о том какое количество цветов уже точно необходимо использовать также хочется отметить что например на этой картинке нам приходилось смотреть не столько на конкретно расположение цветов раскрашены наших вершин сколь нато с кем являются смежными определенно вершины например вот верхняя левая и нижняя имеет общий набор соседей и отсюда мы делаем вывод что нижняя вершина мор не может быть этих трех а может быть только такого как это если мы хотим использовать наименьшее количество цветов и аналогично так как гуров симметричен мы нашли что справа верно такая же стратегия а значит здесь не может быть ни первый ни второй цвет тем более не 3 4 расположена снизу наш необходимо вести какой-то новый цвет на это наша вина штук концу спасибо большое за просмотр до свидания


Раскраска графов. Эвристические алгоритмы

Описание видео:
В ролике рассмотрены две простые эвристики по раскраске графов. ПРЕДУПРЕЖДЕНИЕ!!!! Рассматриваемые методы ...


Текст видео

следующие две лабораторной работы объединены одной темой раскраска графа в них мы также с вами знакомимся с эвристическим методами причем для раскраски графа этих методов очень много поэтому у них даже каких-то своих сама названий таких нет просто называется алгоритмом а1 и а2 давайте познакомимся с этими двумя алгоритмами и вы еще раз убедитесь что мы можем правильно решить задачу но при этом получить разные ответы и так метод один заключается он в следующем на первом этапе вы получил крафт должны
Читать далеесоставить таблицу со степенями его вершин надеюсь с этим проблем у вас не возникло после этого вы должны составить table вершины в таблице таким образом отсортировать их чтобы их степени убывали исповедь у меня сначала идет теперь вершина 3 потом 8 как вершины с наибольшими степенями ну а дальше те вершины которые не поменьше соответственно если степени вершин совпадают то о вас остальными рубеж и и так как работает раскраска по методу один берем первую не окрашенную вершину из упорядоченного списка и красим наш цвет пусть это будет допустим красный смотрим связано ли оно со следующей за ней неокрашенный вершин данном случае тройка связано с восьмеркой поэтому красить мы не имеем права напоминаю что в один и тот же цвет можно красть только вершины не имеющий связи между собой то есть образующие внутренне устойчиво и под ночь следующие не окрашена вершина смотрим она не связана с окрашенной поэтому мы можем смело красить тот же самый цвет следующая вершина двойка ее нужно проверять на наличие связи как с 1 окрашен вершине так и со второй основной ип которую вы делаете это то что проверяете вершине на наличие связи только с первой окрашена а нужно совсем остальным двоечка несвязанными стройка не с единицей поэтому мы смелые тоже можно указать нужный нам цвет четверка связано с тройкой поэтому окрашивать не можем пятерка связано с единицей окраски не подлежит шестерка связано с двойкой семерка связано стройка таким образом цвет p1 у нас образуют три вершины 312 множество вершин нас еще не окрашена поэтому мы берем первую неокрашенный украсим ее в другой цвет опустим желтый проверяем 1 неокрашенная четверка связано ли оно с окрашен нет поэтому можем красить тоже самый цель пятерка связано с окрашенной ранее четверкой шестерка не связана ни с восьмеркой не с четверкой поэтому можем красить ее и семерка связано с окрашенной 6 в моем грать осталось 2 неокрашенных вершины поэтому и крашу следующий цвет пятерка семерка не связано поэтому тоже уборка и так хроматическое число моего граф равна трем то есть это минимальное количество цветов в которую я могу раскрасить вершину моего граппу вот в этом и заключается суть алгоритма один что мне от вас потребуется в отчете исходный граф и две вот эти таблицы то есть первый таблица степеней вершин и 2 с их отсортирован отсортированы номера естественно цвета и придумывать не надо можно использовать обозначение p1 и p2 и p3 ну а теперь давайте посмотрим как этот же сама игра может быть решен но с помощью другого алгоритма a2 здесь вам придется порисовать суть алгоритма одна заключается в последовательном удаление вершины с максимальной степенью ездра и так исходно граф напоминаю там что у меня были две вершины степенями 3 троечка и восьмерка поэтому первым делом я удаляюсь моего графы горшком с номером 3 со всеми инцидентами день добрым пересчитываю степени в моем графе и нахожу следующую вершину с наибольшей степи обратить внимание что восьмерка теперь имеет степень 2 они 3 как у нас было поэтому следующие вершины на удалении у меня будет единица как вершина с наименьшим номером и наибольшей степени удаляем единицу получился новый град опять еще вершину с наибольшей степенью в моем случае это и мертва и удаляя и и получился вот такой вариант восьмерка так и должна висеть с нулевой степенью космос лет и это нормально последовательно удаляю сначала вершины x4 потом вершину и кашель и так в 1 цвет я могу покрасить три вершины 5 7 и 8 обратите внимание что в первом варианте решения у меня 578 были опрошены разные цвета здесь же у меня они окрашены владельцы после этого что мы делаем мы перерисовываем граф без учета окрашенных ерши но получилась вот такая уже примитивная конструкция а дальше уже знакомы нам с вами процедур последовательно удаляем вершину с наибольшей степенью минимальным номера то есть сначала удаляем x2 затем удаляем x 3 и получаем что вершины которые я могу пограть во второй цвет это 146 но перерисовал граф уже без учета и этих окрашенных вершин я увижу что вершины которые я могу покрасить 3 c это энди 2 и 3 то есть хроматическое число графа у нас не изменилась как было вершина так осталось но зато вариант раскраски у нас теперь другие что мне нужно будет от вас подсчете по и ты лабораторный руб то есть мне нужно чтобы последовательно отрисовали ход своих решений с указанием того какую вершину вы удаляете тот или ной момент ну и вывести в итоге какие у вас получились это прошлого сделать это аккуратно чтобы можно было понять последовательность хода ваших мыслей


4.12 Раскраска графов

Описание видео:
Лекция для студентов СибГУТИ и НГТУ.


Текст видео

раскраска графа под раскраска графа мы будем принимать раз просто раскраску решил хотя часто рассматривают и раскраску ребер или раскраску дух в ориентированном графе но мы будем работать только с неориентированным графам будем раскрашивать вершины при раскраски вершин вершины помечаются цветами метками то есть метки исторически называют цветами таким образом чтобы любые две смежные вершины оказались окрашены разными цветами
Читать далееконечно можно взять и раскрасить каждую вершину своим светом и получится ну например вот для этого графа вот такая раскраска 12345 это номера цветов то есть мы для цветов используем будем использовать номера не красный синий желтый она мира но этот же граф можно было бы вот таким образом раскрасить 123 вот эту вершину раскрасить цветом один это цветом 3 и нам понадобилось всего лишь три цвета для раскраски килограмм ставится задача о минимальном количестве цветов то есть найти раскраску использующие минимальное количество цветов определение наименьшее количество цветов необходимых для раскраски графа же называется его хроматическим числом и обозначается хеудже вот для этого графа нам его удалось раскрасить тремя цветами мы можем сделать вывод что вы хроматическое число либо 3 либо меньше может быть его можно меньшим количеством цветов раскрасить ну как мы увидим дальше это невозможно то есть его хроматическое число равно 3 нетрудно понять что если взять волны н вершины грань то его хроматическое число равно n в полном и на вершинам графе любые две вершины снежным соединениями ребром и значит каждая вершина должна быть окрашена своим цветом вот примеры графов к днк 2 к 3 к 4 то есть раскраска возможно только если каждая вершина раскрашена своим цветом нетрудно понять вот такое утверждение что если граф же содержит под граф изоморфных к и замуж не к то его хроматическое число больше либо равно то есть этот под граф можно раскрасить не менее чем цветами поэтому ну там же еще что-то в графе есть кроме этого под графе ну и там же нужно посмотреть сколько цветов нужно еще для остальной части поэтому вот в этом грачи вот этот граф него есть под граф изоморфных графу к 3 и значит его хроматическое число больше либо равно 3 вот какой вывод для него сделали то есть он раскрашен тремя цветами следовать и его хроматическое число больше либо равно 3 ой меньше либо равно 3 меньше либо работу но же содержит от граф изоморфных графу кадре кадре вот я выделю например вот этот граф ну и чтоб него ни один андо вот такой допустим выделенный 1 к 3 и следовательно he ate же больше либо равно 3 и вот из этих двух условий мы заключаем что хеджер работу то есть хроматическое число над этого графа работаю на такое утверждение не совсем очевидно но тем не менее его можно использовать для оценки хроматического числа если дек же это максимальная степень вершины максимальная из всех степеней вершин графа то хроматическое число меньше либо равна 2g + 1 вот например у этого графа степени всех вершин равны двум но этот граф то есть его хроматическое число меньше либо равно 3 но если мы будем раскрашивать и видим что двумя цветами раскрасить его не удастся то есть его хроматическое число равно 3 рассмотрим с вами и хроматическими раз что значит ты хроматический граф де хроматическим называется граф у которого хеа g равно 2 то есть графу которого хроматическое число равно гусева можно раскрасить двумя цветами например вот известный нам граф три домика и три колодца к 33 мы можем домики раскрасить одним цветом гони у нас не соединены ребрами попарно не смежных друг друга колодцы можем раскрасить другим цветом так 1 1 1 и 2 2 то есть мы смогли в раскрасить двумя цветами в graph к 33 это частный случай 2 дульного граф до дольный грув это граф у которого множество вершин можно разбить на два непересекающихся подмножество так что любые если взять любые две вершины одного из них ну хоть вы один хоть во 2 до 5 вершин и не соединены рябу то есть внутри в академ никаких связей нет ребер нет между вершинами из в один и между вершинами из g2 тоже нет никаких связей вот у нас то есть тогда получается ну две дуги и двудольный граф это дно множество вы один множество v2 и если какие-то связи есть в этом графита только между вершинами из разных множество это определение 20 новограц огров к 33 это частный случай крутой новоград верно такая теорема следующее условие эквивалентны но если р-не равно пустом то есть если есть хотя бы одно ребро понятно что если ребер вообще нет и графе то тогда грамм можно раскрасить одними цвета так вот если есть хотя бы одно ребро нту следующее условие его лентами первое граф де хроматический второе граф двудольный и третье условие в графе нет циклов нечетной длинный отсюда следует что если же а циклический граммов stone by хроматический либо если он один цвет ну а если не пустуют о 20 хеджа меньше либо равно думаю дело в том что в циклическом графе в общении циклов тем более нет цифр нечетные длине значит выполняется за теорема на 1 дня цикла в нечетной длину знать что by хроматические если р-не романова пуста но если равно пустота его можно раскрасить одним цветом действительно если есть какой-то связанный ациклических граф дерево мы можем выделить одну вершину ее часто называют корню и расположить его но вы-то как по этажам таким образом и тогда эта вершина раскрашивается цветом они вершины следующего этажа цветом 2 следующего опять цветом они дальше и перед светом 2 раскраска циклического график где используется минимальная раскраска исторический вот сама эта терминология раскраска она появилась от задача раскрашивания политическая карта мира то есть странный это государство это вершины графа и две вершины снежный если у них есть общие границы и тогда нужно эти страны на политической карте мира если у них есть общие границы нужно раскрасить их разными цветами и впервые то задача возникла в 1852 году она была сформулирована в как гипотеза 4 краска то есть поняли что вот сколько они не пытались там раскрашивать всегда хватало четырех красок то есть раскрасить политическую карту мира можно было четырьмя красками возникла эта гипотеза 1850 году и лишь 1976 году la доказанная теорема она была доказана с помощью компьютеров теорема 4 краска терема звучит так любой планарный граф а политическая карта мира является планарный гаджет может быть раскрашен не более чем четырьмя красками другая задача где можно применять вид минимальную раскраску эта задача то минимизации времени проведения какого-то курса лекций занятий или уроков для нескольких групп вершины эта конкретная лекция но в одной из групп и вершины смежных если лекции не могут быть проведены одновременных ну например эта лекция на одной и той же группе или эта лекцию читают один и тот же преподаватель или нужен какой-то специально оборудованный класс и тогда хроматическое число этого графа это ничто иное как минимальное количество времени но она посчитано в парах там или уроках за которое может могут провести можно возможно провести все петель лекции но это не только минимизация времени это может быть минимизации каких-то транспортных средств например самолет летит из новосибирска и обратно и и какой-то промежуток времени на это уходит и вот тогда вершины графа это промежутки времени два промежутка соединяем ребрами если они пересекаются то есть их не может эти рельсы не может быть обслужены одним самолетом и тогда для такого графа минимальная раскраска означает минимальное количество самолетов которые могут обслужить эти полеты и рассмотрим алгоритм и которые позволяют находить оптимальную раскраску но алгоритмы которые позволяют оптимальную раскраску они достаточно громоздкие сложно мы рассмотрим два не сложных алгоритмов которые дают достаточно хорошую раскрас не всегда они дают оптимальную раскраску с помощью может быть получена оптимальная раскраска но не всегда и так алгоритм последовательной раскраски для него мы упорядочиваем множество вершин в1 в2 и так далее и раскрашиваем эти вершины по порядку то есть первую вершину в один мы придаем ей цвет один если вершины в 1 и так далее вайпа раскрашенные то вершина в к + 1 раскрашивается минимально возможным цветом этот алгоритм относится к жадным алгоритмом видите нам нужно минимальной раскраской мы на каждом шаге выбираем минимально возможный свет и здесь всё зависит от последовательности выбора держи мы можем получить оптимальную раскраску при определенного выборе при другом выборе раскраска может получиться не оптимальный давайте рассмотрим пример мы допустим возьмем вот такой граф и пронумеруем его вершины вот таким образом то есть упорядоченного единого 2 в 3d 4-го и 5-го и 6-го сил будем действовать по этому алгоритму будем вершины вагин раскрашивать цветом номер 1 то есть это у нас один два три и т.д. вершина в 2 минимально возможным цветом этот цвет два цвета монти нам раскрасить не нужен потому что есть снежные вершины цвета один вершина в 2 цвет 2 вершины в 3 мы не можем раскрасить не цветом один не цветом 2 значит раскрашиваем ее цветом 3 вершину в 4 мы не можем раскрасить цветом 3 минимально возможным цвет 1 вершина в 5 для нее минимально возможный цвет смотрите 1 есть 2 есть нежность не 3 тоже есть значит пациент 4 для бирж и 6 2 3 минимально возможный 1 для вы 7 смежные с ней окрашенный первым и четвертым минимально возможный 2 таким образом мы смогли раскрасить этот граф четырьмя цветами раскраска получается лучше в этом алгоритме раскраска получается лучше если нумеровать вершины по убыванию их степеней то есть начало раскрашивать вершины большой степени эта вершина пусть у нас будет в один у нее степень 5 у нас есть вершина степени 4 и две вершины степени 4 но неважно пусть вот это будет в два вот это в этой неважно в каком порядке мы любим их берем есть вершина степени 3 пусть это будет у нас в 4 но и остались вершиной степени 2 в 568 знаете попробуем провести раскраску для такого порядка вершины и так вы первые окрашиваем цветом маги вы 2 смежная с ней вершина окрашена цветом один минимально возможное для ее окрашивания цвет 2 внутри снежные с ней окрашенной первым и вторым минимально возможное и цвет 3 для в 4 минимально возможный цвет 2 для вы 5 минимально возможный цвет один для вы 6 цвет 3 для va712 цветы и таким образом изменив порядок раскрашивания вершины смогли раскрасить эту этот граф тремя красками это означает что то есть у нас использованы три цвета это значит что хроматическое число графа меньше либо равно 3 но уже содержит к 3 кадре у них тут много да вот то есть треугольника вот у нас есть треугольник раз есть треугольник это граф к 3 значит he ate же больше либо равно 3 и из этих двух оценок мы делаем вывод что хроматическое число наш маграфа внутри то есть еще раз агарь и последовательной раскраски не всегда приводит к оптимальной раскраски раскраска получается лучше если вершина нумеровать по убыванию степени хотя тоже не факт что получится самое хорошее для небольшие брака обычно получается хороший так и еще один алгоритм и он носит называется алгоритмом точно раскраски хотя здесь тоже не обязательно этот алгоритм он дает оптимальную раскраску он заключается в качестве графа g 0 мы берем сам исходный grande g и если граф же коты построен то есть строим также 12 и тогда и у него нет он не пустой у него не пустое множество вершин то в множестве вы к мы выбираем максимальное подмножество попарно не смежных вершин это так называемое независимое множество вершин и окрашиваемых цветом один вы цветом к то есть на первом шаге мы в выбираем максимально возможно множество попарно не снежных вершин и окрашиваемых цветом 1 и удаляем их из графа наша получаем граф же один дальше уже один выбираем максимально подмножество попарно не смежных вершин их окрашиваем цветом два и так далее до тех пор пока у нас не получится пустой граф если накатом шаги получился граф пустой то значит нам достаточно камеру с одного цвета для окраски для окраски достаточно к -1 один цвет и давайте применим этот алгоритм вот опять к этому же к такому же граф значит мы выбираем максимальное множество попарно независимых вершины окрашиваемых цветом один вот я буду то есть я допустим вот эту вершину окрашивают цветом один теперь уже вот эти две вершины я цветом один окрашивать не могу допустим я вот эту вершину окрашу цвета monde и теперь уже я и вот эту вершину не могу украсить цвета маги и ну допустим вот эту вершину и тоже окрашу цвета меди не эту вершину нет ни эту она смежного сеты это вершина снежных цепи вот мы выбрали максимальное множество независимая и окрасили совершенно цвета меди дальше для цвета 2 выбираем максимально множество независимых вершин допустим я возьму вот эту вершину член совета 2 и тогда уже не вот это вершина не может быть окрашена не это и не дальше следует допустим вот эту вершину я начинаю строить независимое множество для мы мысленно смотрите вершина один раз красивый и мысленно вот эти все ребра ударил висках туда лилий то есть удаляем вершины вместе совершенно не удаляемый ребра удалили смотрим на воде которые не удаленные здесь вершина 2 да и теперь уже не перита вершина не это и не это больше цветом на не может быть окрашен ночной эту вершину удаляем из графа на втором этапе давайте другим цветом обозначу то есть вот когда мы цвет 2 взяли да то удаляем те ребра которое вот ударили эти вершины окрашенные цветом 2 вместе с ними удалили вот эти ребра и в результате у нас остались эти три ребра три вершины мы берем третью вершину это третий цвет третий цвет но вот эту нельзя третьим цветом окрашивать а вот эту можно она не смешно вот она максимально и подмножество не смежный друг друга и удаляем эти ребра но и у нас остается 4 вершина которую нам приходится раскрашивать 4 цвета но если бы мы так же как и предыдущий начали бы строить максимально и независимое множество с вершин в в степени то есть первое множество включаем вершинам нечетной степени то есть вот это будет у нас первый цвет и тогда уже это будем удалять да вот это у нас удалиться вот это удалит серебро то есть все смежные с ним ребра у нас ударять вытащу не максимальное множество то есть вот эта ещё вершин можно добавить она не связана с этой вершины и это же окрашиваем цвет ладен то есть у нас вот всего лишь 2 мир от эти две вершины они празднуют максима кроме множества по парными смежных и шик добавление любой любые вершины ведет какой-то и так ударили вершины лет игра у нас остался вот такой гран то есть вот эти ребра и инцидент ним вершин больше ты ту вершину окрашиваем вторым цветом и тогда вот эти две уже с ней смежные его ты должна взять вот она независимое множество вершин вот эти две вершины и когда мы их удалим вот это вот у нас а к окажутся 2 ни снежные вершины которые мы окрашиваем третьим цветом уже третий цвет даже вода у нас 3 что тоже третий цвет тоже в этот раз нежная стойкой нужно его добить остались две никак не связанные ошеломило цветы то есть тоже нам удалось этот граф с помощью вот этого алгоритма раскрасить тремя цвета


7. Раскраска графов. Комбинаторная математика

Описание видео:
Лекция 7. Комбинаторная математика. Раскраска графов. Лектор: Александр Козлов 31 марта 2021 Все лекции по ...


Текст видео

сегодня наша лекция посвящена раскраски графов вообще классическая задача которая вообще говорят одна из первых то же самое теория графов задача появилась значит как она звучала изначально у нас есть географическая карта sun странами требуется раскрасить ну для каждой стороны известный конечно соседи требуется раскрасить карту таким образом чтобы соседние страны были покрашены в разных цветах так идея понятно да то есть у нас понятие грани вроде бы прошлый раз наводили то есть изначально до задача
Читать далееставилась для плоского графа хотя сейчас вот мы перейдем немножко более другой задачи задача раскраской графов не обязательно это задача плоского графа то есть принципе граф можно раскрашивать правильным образом любой ну совершенно призвание на самом-то деле очень не удобно красить грани потому что во первых как-то гранью надо найти вообще потом как-то вот их еще красить поэтому на самом-то деле рассматривают двойственна граф есть такое понятие в теории графов как он получается из исходного графа знаете что мы делаем мы берем на каждой грани ставим по новой вершине виду до 200 у нас внешняя грань и вот на каждая грань ему по одной новой вершине поставили старый град специально затенила немножко теперь я начинается и снять вершина тогда ребром когда вот эти грани были мы пограничными ну то есть вот если между левой и правой грани проходил ребро то я сейчас провожу вот новое ребро ну между бывшими соседними гранями то есть вторая грань стала вершиной если они были граничными ограничены по какому-то ребро я их соединяю соответственно ребром новым то есть у меня у нового графа количество ребят оно равно будет количеству реверс старого графа величество вершину нового графа столько сколько было границ старом графе и кстати наоборот там же формула эйлера справедливо количество грани новом графике будет равно количеству завершим старым график то есть вот есть ребра провести вот так провел ну и красиво получилось но вот вот так вот они примерно выглядит вот такой вот граф де пре задачи к чему ссылаясь задача свелась к тому чтобы покрасить вершина причем вершина покрасить таким образом что есть ребро соединяют какие-то две вершины душила должно быть прокрашено в разные цвета это называется правильно раскраска графа что тут нас интересует во-первых нас интересует минимальное количество цветов сайте тем чем меньше тем лучше на самом деле потому чуть чуть по позже поймете почему даче так-то прикладное значение очень большой мед впервые она стала решаться когда начали проектировать первые компиляторы и транслятор ну то есть когда первые языке падга мира вы начали появляться для проектирования потребовалось создать решения задачи раскраска графа тогда же появились как бы первые эвристические алгоритмы точно кстати граф покрасить эти минимальные к лицу цветов и точному покрась озадачен по полная но 25 окрасятся в 3 это я вначале говорил там на кредит что аннуляция покраска графов 30 это уже только перебор ными алгоритмами решаются но в 4 5 и так далее тоже перебор на алгоритма значит еще раз значит можно определить минимальное количество цветов и второе нужно граф покрасить это минимальный колитов это на практике как правило мы можем как-то узнать минимальный кажется цветов а вот как красить вообще говоря так то непонятно вот сегодня я расскажу каким образом удается определить минимальное количество цветов в графе я на самом-то деле не так и сложно а потом закончу тем что предложил эвристическая одетом вирхова один из таких монстров нашего русского программирования это сказать кораблестроении написал первый учебник по информатике еще в советском союзе один из таких но алгоритм из тоже известных в мире вот и предложил алгоритм дешевого очень простой школьники даже уже так и ким лекция была прочитана его успели запрограммировать он достаточно просто программируется то есть реализации алгоритма очень простая о раскраске граф единственное волгарь этом не предлагает такой оптимально раскраски то есть цветов может быть много потрачено но граф красоту правильно очень быстро сходит практически все это происходит значит еще раз сейчас мы будем красить вершины программе вообще забываем и общее граф может быть не планирует какой-нибудь к 10 давайте попробуем рассмотреть самый такой простой граф и сейчас наверно его даже перерисую то есть большой и представим у нас стоит за так вот самый самый такой вот у нас стоит задача сколькими способами мы можем покрасить данных гостям для цветов забираем первую вершину самок левую верхнюю ее можно покрасить бы нам про цветов то есть количество вариантов значит беру вершину справой стороны один цвет уже использовать нельзя нулям до минус 1 получается вершину с левой нижней стороны нам до -2 потому что еще один цвет уже использовать нельзя а вот это право ниже на вершину сколько цветов можно покрасить так вот в этот нельзя потому что ребро проходит вот в цвет левой нижней вершину тоже нельзя но на самом-то деле мы можем покрасить вот эти вот диагональная вершину в один и тот же цвет то есть вариантов здесь но получается лямда -2 то есть то есть только в 20 нельзя покрасить и получается количество способов тут правило умножения работает это лям до ноля до минус 1 и 0 0 минус 2 в квадрате вот такой многочлен для данного графа и он обычно обозначают буквой c ну отцу color или как правильно читается вот сундук сам же отъем для вот этот многочлен показывает сколькими способами давно граф можно раскрасить лямда цветов на что будет интересовать наша-то задача какая нам нужно еще green идти минимально линды такое чтобы вот этот могли чем так то не был бы равен нулю вообще в чем называется хроматическим вот это минимальная лямда в которой можно этот многочлен вообще покрасить то есть не 0 называется хроматическими числом вот именно для данного для данного графа например хроматической многочлена так вот выглядит а хроматическое число тут очевидно 30 футов его покрасить нельзя здесь есть хотя бы одна вершина как минимум один цвет нужен потом если есть две вершины с ребром соединены уже и одного цвета не хватит в суть или андреналин до -17 и нечего суда подстать видео тоже могли бы родиться если два суда под сайта кто-то же обратиться потому что в два цвета дома и граф тоже под покрас нельзя а в 3 можно здесь решает задачу для данного графа у нас хроматическое число получается 3 ахроматическое много чем вот он так то вот такая большущая теории есть как найти вот эту минимальное количество цветов так-то я все это написал почему-то взял отдельно значит хроматический многочлен и хроматическое число граф значит давайте попробуем рассмотреть такие как сказать крайние случаи например если у нас граф состоит и сам изолированных вершин то есть вот как бы есть полный граф эти его такой пустой граф то есть буквы о и иногда его обозначают вот что мы можем мы же можем как вот если нам да ну например 5 цветов и вот такой граф мы же каждой вершины можем покрасить в любой из этих пяти цветов представьте лямда 5 да вот у нас этот 5 можно этот 5 цветов 5555 с хроматический многочлен для такого графа как будет выглядеть просто вроде бы я лучше с этой стороны где-то напишу вот такого в гости будут степени то логично вроде бы то есть каждый цвет причем хроматическое число единиц а ну то есть лямда которая минимально и не обращается 0 это 11 подставили уже не 0 получается но для этого к романтическим на даче нужен а теперь рассмотрим полный граф тут уже сразу все написал что тут получается значит первое вершину например можно покрасить еще в-лимфоцитов от 2 вершину мужик расингом до минус один сет следующую liam это минус да потому что все со всеми согнуть цветов меч становится это лям до минус 3-ем до -4 ляма до -5 но тут было шесть совершенно получателям до минус 6 плюс 1 по формуле но тоже видим что это так то многочлен минимальная лямда для которого не обращается 0 это здесь n минус 1 подставить вот эта скобка идет там она равна 1 подставить 1 скобочка вообще в ноль уходят поэтому если граф полной например к 10 то нужно 10 цветов к 20 уже двадцать цветов как минимум потребуется в эту графини planar напомните что граф там к 5 он не планарные уже сам по себе вот такая хотя отдельно теория раскраска из планарных графах само по себе работают из гипотеза и в принципе против цска и можно считать он доказал что любой планарные граф можно покрасить вообще в 4 цвета если вы если у нас есть политической карты мира достаточно четырех цветов вступил правильным образом покрасят чтобы соседи имели разные цвета вот и siggraph не планарные тот цветов понятно много то есть пол если граф внутри себя клику какую-то включая в полный граф например к к 6 то уже как минимум 600 сразу нужно может быть еще не хватит этих 6 цветов вот теперь смотрите попробуем рассмотреть такой произвольный случай начнем с несвязанного графа значит если граф они связаны между собой состоит из разных компонентов 1 компонента вторая компонента например для первые компонента у нас вот многочлен то был уже построили и он выглядел вообще говоря даже можно по памяти восстановить по моделям нам до -1 нам для минус 2 в квадрате это хроматической хроматическое мы начнем для первого графом а для второго графа виду треугольник но тоже можно эту полна городка 3 этот хроматический многочлен вообще говоря взять и написать это было для удар нолям до минус 1 и 0 мм до -2 а вот если красить целиком вот весь граф который звук компонента стают ставьте я взял лям до 7 да вот у меня тут 7 способов семь цветов взял а вот этот уже 6 способов это 5 способов это снова 6 до способов покраской графа а вот это вершина во сколько цветов можно украсить так то слово всем офисного v6 от новых 5 а теперь общее количество что покрасить вот это граф это будет всем умножить на 6 и на 5 а почему эту часть поставил этот этот этот 5 уже тем более хроматический много чем нам даже эту показателям для минус 2 в квадрате а значит а вот этот граф значит количество способов напишу 7 на 6 на 5 вот между ними какая операция по логике просится плюс или умножить он может конечно да то есть конечно способов она варьируется то есть но она только очень-очень большой но так то вот написано даже что романтический много чем для такого графы который из нескольких компонент стыд он как получаются да каждый компонент и его получаем потом между собой перемножаем если потом все перемножить рост принципов письмо получится многочисленным не какая-то другая функция теперь предположим что граф ну пусть и переводной компонента стоит но он не полный и не изолирован о вич компонента поняли уже что если мы найдём для одной компоненты и если из и сможем этих романтическим на гатчину для моей компоненты то знает за каждый компонент этот мега чем мы можем для общего графа тоже на эти вопросы для авто например и перемножить представим что у нас заданного такой хитрый граф а и выделю в этом графе выделим в этом графе одно ребро между вершинами а и b давайте попробуем вот это ребро взять и удалить два варианта графы есть вот я обозначу же и с кошечкой с индексом не скажешь к игра в котором мудрено ребров между вершинами а б сейчас на следующем слайде покажу как он выглядит а мы приятным вершина и бы сохранены а вот же без е это значит с клиента граф где вершиной оба если мы сейчас покажу как выглядит значит вот смотрите вот это вот оригинальный граф был вот этот граф без ребра которые мы обозначили вот же с индексом е крышечкой а тот самый правый граф фотограф которая вершиной оба еще спина теперь представьте у нас стоит задача найти количество способов которые можно покрасить вот этот левый граф не оригинально общага в левой самой тот смотрите какие есть два варианта вариант номер один был здесь и вершины а и b окрашены в разные цвета это количество способов вообще говоря но если они разные цвета покрашены ну так то можем между ними провести ребру и количество способов дальнейшей раскраска графа совпадает с раскраской вот этого графа так что значит весь я ибо разного цвета то я могу между ними просто ребро провести и дальше нам вообще без разницы этот граф красители вот второй громкость до единого будут количество дальше одинаково или вообще грейс второй вариант a и b могли быть покрашены в один цвет долга что я могу сделать ребро же нельзя проводить я могу взять их и склеить тогда количество способов покрасить вот исходит на графе равно количество способов покрасить вот такой граф где вершиной аббас просто склеены а также киль или получается сумма вот теорему практического объяснил что количество способов покрасить вот такой вот граф равно перед способов но без ребра равно количество способов покрасить графстве брум и коли плюс количество способов покрасить граф где вершины обостренно как это нам поможет тут есть два варианта как можно посчитать коллеги вот этот хроматической много чем найти а потом найти просто минимально лямда за сколько можно-то дома graff ну покрасить и тут следствию остается давайте вернусь к ним чуть чуть попозже мы понятно что это многочлен будет что у нас вряд ли вы вновь цветов цвет сможет его вдоль цветов граф можете раскрасить их есть хоть обратная вершина а если есть хотя бы одно ребро между двумя вершинами то вообще говоря нужен хотя бы вообще говоря даже не 11 следствие про это говорят представьте нам нужно подсчитать количество способов покраски вот такого граф что я делаю выделяю любые две вершины беру их соединяю ребром и вообще я беру их склеиваю то есть количество способов покраски вот самого левого гав работница способов покраски вот такого графа плюс количество способ покраска другого графа таким образом производя такие как бы действия добавляю ребро и склеивая вершину по тем самым в конце получим только полная графа тут какой то пол наград будет тут какой-то полный граф будет потом мы их складываем и получем какой-то многочлен на многочлен найдется рекурсивно тут операцию могу тут практически придется добавлять много много ребер он разрубится но это все выполним а на самом-то деле мы чем можно построить современное средство там этот компьютер на алгебры могут найти при многочлен в общем видео то есть вы каким-то пакетом можете тот ведь работа с многочленами идет не с численными в курсе она такая странность символьная математика можно или пакета символьной математик то есть принципе так то могли чем этот строится ничего там такого страшного нет второй вариант наоборот формулу использовать и строить сразу вот из такого графа то есть смотрите что делал вот есть у нас исходный grub значит я беру выделяют две вершины наоборот удаляю ребро из тоже склеиваю ну тогда кажется способ покраски вот 1 графа равно колеса способа 2 покраска 2 графа минус алекс из способов покраска другого графа тут наоборот weber убираю каждый раз потом у этого также следующий ребро буду убирать у этого будут ребра убирать и тем самым мы вообще говоря придем к этим графом салливан вершинами и для которой было помнить его там сверху формирующихся kombat степенью для которого в хроматическое многочлен с ходу находятся а потом только нужно прочитать аккуратным образом но правильным образом обратно и мы хроматической много чего просто получен ну то есть так то если нужно найти хроматической многочлены вот это число минимальное количество цветов которые давно граф можно покрасить его можно найти ты иногда интересно здесь дальше например мы будем красить сколько-то цветов у нас граф покрасился например всем цветов ахроматическое многочлену вас 8 то есть вы не 8 так не бывает 6 то есть минимальное количество в которой граф ну точно можно потратить шесть вас покрасилась 8 и всем внутреннюю да замечательно 6 схемы вообще не сильно отличаются но очень вообще говоря хорошая ситуация может тогда произойти когда хроматическое число например там 10 то есть минимум сколько цветов нужно покрасить выкрасили граф пользу я с алгоритмы мудрость этическим и вас тоже получилось 10 цветов так так круто вообще угадали оценку и пищу и граф правильно так теперь смотрите есть ряд хитрых таких терем причем там предлагаются еще алгоритмы как графа можно покрасить в шесть футов пять лет у нас было теорема такого вида любой планарный граф имеет вершину степени 5 или меньше прошлый раз ее прямо вроде озвучивала даже вроде пытался заказывать то есть у нас точно существуют вершину пика это ну давайте его напишу степень который меньше либо равна 5 н что я начинаю делать я нахожу эту вершину и и отрывая вместе с ребрами убираю выкидываю у нас граф как был план арно так планарные остается я беру следующий там опять появляется совершенно степени 5 или меньше и опять нахожу я вырываю выкидываю если таковых несколько любым выбираю выкидываю и таким образом я убираю удаляю вершина вместе с ребрами выходящими из них пока мне не останется шесть вершин 6 вершины и красок 6 цветов любым образом после этого начинаю в обратном порядке обратно добавлять наши вершины а каждая вершина вот когда их добавляю а на максимум и где на но только с пятью другими вершинами но раз свою степень 5 или меньше может даже меньше мы используем 6 цветов от 1 2 3 4 5 ну в самом плохом случае все 5 цветов до использованы и вот эту добавлен на вершину всегда можем покрасить в 6 цвет добавлены и таким образом обратно граф взять и собрать эти все доказательства но очень такое простое в чем-то то она такая народное видимо как его начали доказывать она сразу это казалось потому что вот следующая терему она там уже авторская то что планарные графы краситься в пять цветов доказывается немножко уже ну там алгоритму предлагаю предлагается на мужской более сложный 1890 тоже давно была задача решали еще очень-очень давно значит произвольный планарный град можно расспросить используя только пять цветов доказательства тоже очень такое простое на самом деле в точном чего сложного нет опять пользуемся этой теоремы что в любом кто на данном графике совершила степени пять или менее что мы делаем мы сейчас опять так выбираем вот эту вершину вместе с ребрами убираем убираем убираем пока у нас не останется 5 вершин вот как 5 вершин осталось что мы делаем мы эти 5 вершин красин 5 цветов вот пять цветов покрашено и теперь начинаем обратном добавляется вершины добавляем вершина которые удалены от какие могут быть тут ситуацию вот когда мы добавляем лесу в ней степень может быть на самом-то деле не больше 3 если степень этой добавлены вершина 20 первых случае будет не больше четырех мы и всегда в 5 цвет можно взять и покрасить то есть тут все просто представим теперь что степени все таки у нас 5 то есть то есть вот идут у нас вот как здесь вот пять этих ребер от 6 вершины ну тогда что может произойти может произойти это кое-что вот она соедини соединена с вершинами но который окрашен не в пять цветов какие-то цвета повторяется например покрашена вот эти вершины вот один два три четыре пять четыре цвета только нули бы меньше чем 4 цвет то есть вот 5 вершин и они покрашены еще раз гай у них 5 цветов от 4 цвета тогда мы можем опять 5c собрать и покрасить нашу добавленную вершина в этот питаться теперь представьте следующее сама самая плохая ситуация вершина соединена с пятью другими и те покрашена 20 5 цветов тут уже как бы немножко ну нельзя взять сразу и покрасить потому что у нас всего пять цветов мы вот это добавленную вершины и можем покрасить ни в один из пяти цветов но нас цветов рода бы не хватает тогда там делается такое очень хитрый маневр так смотрите что я буду делать я сейчас буду искать путь от вершины которая покрашена пусть этого пишите на миграцию то будет 12345 путь буду искать от вершины которая покрашена вот этот во второй цвет вершину номер 5 по каким-то вершину моду причем путь какой еще путь я еще такой чтобы он был цвета 25 то есть вот из двойки смотрю если вообще ребро который ведется цвет 5 вот пусть он и есть да вот потом из пятерки смотрю игру которая цвет идет в цвет 2 но не в этот с какой-то другой vc2 и таким образом пытаясь найти путь о двойке до пятерки как в которых из используются только цвета 2525 2525 ну вот так вот берется дайте вот так как идет идут идут и такой замкнутый какой-то момент конечно с двойками началах пятерки конец пути представьте что вот мы начали искать и у нас дальше пути нет ну то есть в 252 и в принципе как бы ну все все мы не получилось найти путь можем вершина вот этим перекрасить то есть вот эту вершину двойку сделать 5 это вершина сделать цвет 2 покрасить а то вершину c5 там дальше не все это два и в принципе по каско на такое нормально тут получил свете 55 значит вот новую вершину можно во второй цвет покрасить но если такого пути замкнутого нет то есть цикл начался может быть вообще 5 а там вообще двойки нет тогда это но тут изначально 2 то есть было из двойки тут нет дальше цвет опять но тогда просто берем ее в 5 перекрашиваем проблем танец и тогда будут добавлю на вершину можно попросить во второй цвет теперь самые самые дурацкие случаев так верну обратно тут было значит что у нас была здесь вот было хорошего которая во второй все покрашено так это отсюда беру представьте у нас нашел свой путь вот из 2 тут в цвет 5 вершин и здесь 2 здесь цвет 5 здесь два и вот сюда вот то есть и сейчас мы начнем перекрашивать вот это вершинки и перекрасят 5 цвета 2 5 2 5 2 у нас вот новая вершину которую мы добавляем она опять окружена всеми цветами то есть бессмысленно перекраска задач плакаться можно сделать тогда у нас точно не существует пути вида 14 замкнутого потому что если бы он был и вам пришлось бы пройти через вот эту вот цепь вида 52 52 52 мы через две не можем выйти потому что эти границы 5252 она уже покрашена то есть тогда путин 14 точно нет тогда начинаем искать и завершены цвета один путь вида 14 он где-то точно закончится его точно не будет и перекрашиваем каждую вершину цвета 14 этот светодиод и новая вершина потом красим такой вот интерпретацию общих первый цвет такая вот штука ну то есть покрасить можно убить теорема на самом-то деле предлагают такие простейшие алгоритмы и люди подумали что наверное и в 4 цвета легко красится даже были пapaд попытки там вот лет сто назад доказать это прямо на лекции такие истории сохранена там кто-то из этих с развал теория графов там прямо на лекцию что теорема доказана до сих пор потому что ее доказывали люди которые не очень высокой квалификации на плахе математики и начинал доказывать там месяц примерно занятиях что доказательство этой теоремы в итоге потом у него заказал он просил вскоре начал мы продолжим просто лекция которая когда-то шла покой не давала контрпример и найти не удавалось то есть графа которые планарные которую нельзя было покрасить 4 цвета то есть перебирали и таки так в итоге на появился вот такая теорема проблема называется четырех красок впервые и перебор нам способом ну то есть перебрав все варианты разного расположения графов план arnova 1976 году взяли и на компьютере просто перебрали варианты там потребовалось более 3 3 цитирует я сейчас не помню придется часов слабые компьютеры были всем шестом году компьютера компьютерного времени кучу рисунков куча сведения графа и они тоже не нашли контрпример это есть гров любые графа удавалось покрасить 4 цвета как бы вот двое человек это сделали комната пиль воинством хаким перепроверить многие в принципе перепроверили на самом-то деле но сразу не сразу девяностик надо было попытка перепроверить результат потому что но куча нюансов правильно ли написано программа правильно ли произведено сведения в чем они первые сделали их имена записали в истории и вторые в принципе не хотели вообще за это задача убраться в этом в дело стеклом и и перепроверили все-таки опять свои нормально отработала но 2005 году еще раз проверь его и записали программа проверила опять контур премирования вошел до сих пор есть попытки а даже где-то видел в публикациях смотрела интересовался как то там прямо есть доказательства проблема четырех красок но если вникнуть они там на самом-то деле практически все ошибочные ну официального доказательства в данный момент в математике в теории графов то что планарные граф проезд в 4 цвета простого нет читатели доказательства перебор новатэка алгоритм но вообще где тоже не понятно значит еще раз минимальное число на китту виде не проблема она находится количество цветов вопрос этот как покрасить есть очень простой алгоритм баллистические мистическое это означает что мы получаем не как бы не минимального раскраску ну то есть лично цветов она достичь на ну можем принципе минимального получить весь и повезет а так нов сколько то количество цветов общая задача красятся на самом-то деле почему важно вот вообще горя задача раскраски графов вот представьте у вас есть два процесса каких-то процесс один и процесс 2 вот когда он компилятор начал решил делать он в принципе пришел такой задачи эти два процесса используют общие ресурсы какие-то например общую память или общее чип памяти если они используют общие чипы памяти особенно сейчас параллельных алгоритмов это важно то их нельзя одновременно запускать надо контролировать в общем данное поэтому если вот эти два процесса используют в общую память можем взять и соединить их ребром таким образом представьте есть процесса каких-то если мы знаем что есть процессы которые используются что вообще общие какие-то ресурсы мы соединяем их ребром после этого проводим раскраска вот эти процессы они не могут быть покрашены правильную раскраску в один цвет ну например и сегодня в краску покрасил да тут всему потом после того как полная раскраска графа произведено возникает такой вопрос а какие процессы мы можем запустить параллельно акация параллельно можно запустить те процессу например все которые покрашены в красном цеце которые покрашены в синицы ни в коем случае нельзя запускать параллельно процесса которая покрашено в это в разные цвета ну потому что они могут начать комплектовать например закипит одинаковой ресурсы в этом проблема важно на самом-то деле вот там есть что то общее ресурсы в распараллеливание там часто стоит задача похоже ему сдачи вас просто графов и вот этот алгоритм который вершок придумал достаточно такой великий алгоритмист еще раз повторюсь это написал первый учебник по информатике советская все за именно и шоу принадлежит высказывание там программирование 2 грамотность и типа хочешь быть грамотным надо научиться программировать тут написал несколько слов надежда что потом как-то слайд представите все сейчас диктовать не буду роман достаточно номеру сам по себе в изначально он математик да потому что программисты тогда еще только-только только появлялась я в принципе ведь и к нему же торином программист он используется что практически в дышится программисты математика то что он придумывал граф схема там экономии памяти но для этого использовались там компилятор он писал раскраской графов так значит вот это его высказывание о нашел то новый вид деятельности человека по сути дела тогда только-только только появлялась самое интересное я вот выписал то что прыгаем он сейчас в следующем слайде то что он говорит про программирование это было сказано там лет сорок назад ради интереса можно сейчас сравнить то что он тогда думал как должны что должна делать программисты 40 лет назад и что они сейчас делают но здесь все говоря задача а тут высказывание про графа после то и дело в принципе любая информационную модель вообще говоря кроме keys каких-то ячеек структур state вообще кризис отношений то есть отношения между этими ячейками вот эти графы по сути дела эти отношения задают но отношения разными способами можно задать но графа это вот так как раз сущность с помощью которой легко задать отношения поэтому ну мы изучаем графа то есть часто в программировании они появляются чувства в разных схемах мы с помощью графов рисуем а вот то что он говорил там 40 лет назад вопли гаммирования то есть кому то у программиста как раз аргумент должен обладать способностью первоклассному математике к абстракции логическому мышлению сочетании с addison морским талантом сооружать все что угодно из 0 единиц вот он должен сочетать аккуратность бухгалтеров проницательности разведчика фантазию автора детективных романов с трезвой практически экономиста а кроме того программист должен иметь вкус коллективной работе понимаете интересы пользователей многое другое ну кое-что может тут и устарело но в целом как бы взгляд такой достаточно здравой на программиста но даже в наши дни так теперь значит у сам алгоритм алгоритм еще очень-очень простой обычно хорошие вещи часто бывает очень простыми но вначале все равно царь об определении значит определение потом еще на картиночке покажу он вводит понятие окрестности первого порядка что такое окрестность первого порядка если мы возьмем какую-то вершину все вершины которые находятся на расстоянии 11 это имеет суда по ребру на расстоянии от на ребро он называет окрестностью первого порядка соответственно точно также водят окрестность второго порядка то есть если путь от этой вершину до другой вершину составляет 202 это количество ребер то есть ребро она единичной длины то это окрестность второго порядка еще вводит понятие граф типа звезды граф звезда это значит что вот от этой вершину до всех других вершин тут только длины 1 ну там мечта дополнительного ребрам могут быть но по сути вот такой графон называет граф звездой больше никаких определений в принципе даже не нужно то есть вот есть я выделю вершил здесь вот мы r1 то нас вершину вот окрестность первого порядка это вершину 232 36 получается те которые видите у путина ген от вершины 1 окрестность 2 по порядку вот этот желтеньким подкосил то есть до 4 до 5 до 7 и даже до 9 видите через 6 мы доходим час через час 6 до 9 доходим чеснок и длины 2 получаются совершенно один и основная идея алгоритма ершова вот какая мы можем сойти вершина вот вершины 1 и вершину со второй окресности окрестности второго порядка покрасить так то в один цвет на вершины с окрестности первого порядка покрасить вы даже цит нельзя они ребром стыдно строго то можно в чем бы это не сделать и все вся как бы с это убедит ну то есть что происходит смотрите выбирается первая вершина она касается в какой-то производится взяли красное покрасили дальше берем любую вершину секретности номер 2 и просто и из тоже красим красный цвет дальше правда немножко такое видоизменения мы начинаем вот эту вершину склеивать взял и склеим вершину 5 меня школьники выкрутился расклеивание постойте надо логически эти делайте уменьшать матрицы воскового вроде бы уже они что сделали они просто например склеили а эти нули рф оставили жуликами ноты сделали логическое сложение двух строчек логическое сложение двух столбиков а тот от не нолики остально нолик что означают вроде матрицу то большая остается на районе над трансформировать а вот а вершину мы уже не попадем потому что мы попадаем вершину где ребро есть ребра вроде бы здесь нет такая изолированная вершина мы появился перед ничего страшного нет редута кто-то проверил вроде все логично и все хорошо дальше алгоритм продолжается то есть мы берем опять вершину любую с окрестностью номер два тут вот только 8 осталось и опять и украсим в этот же цвет и опять слева и вот смотрите вот это вот граф который получился какие-то граф уже типа звезда то есть из вот эта красная вершина покрашена ведь до второе доходим напрямую до 7 на прием уйду 4 до 3 до 6 до 9 и теперь больше красный цвет совершенного покрасить не можем то есть вот все в красный цвет закончился теперь дальше выбираем любую самую вершину я взял и вашему номер 2 и красиво в другой цвет для вершина 2 мы находим опять вершину из ответственности 2 правду же до вершины 2 вот это же красим в этот секциями склеиваем еще вот синим можно покрасить склеиваем если теперь опять посмотреть относительно вершину 2 граф тоже устал граф звездой ну то есть у нас до любой вершины который остался и серебро здесь мы знаем какие вершины еще не покрашены если от вершину номер 2 строчки матрицы смежности до этих вершин и единички стоят а так-то это грант звезда там проверка так то очень простая так точно так же берется вот совершенно следующий зелёный цвет краситься топ можно в зелёное покрасить вот я уже кстати вершину стала типа граф стал типа звездой относительно 4 вершины ну считай красятся вот в этот в другой уже цвет но тут больше ничего красить это эгоистическая алгоритмом то есть не факт что это минимальное количество цветов но покрасилась в 24 в есть получено алгоритмы то есть ну прямо точно красят в минимальных или цветов алгоритм полного перебора если у нас к раскрасок н вершин только в степень n комбинации с откатом 4 цвета на планарный граф 20 вершин 4 в 20 степени очень тяжелого уголь там но его не используют но смысл его использовать вы звучите ждать пока он надо работать a4 20 чего-то господин до 40 не отдал сороковые щели обильно там подождите несколько месяцев я маккиато надышится так можно динамическое программирование использовать идея какая у нас же из серебра если мы видим что вот но что-то не красится зачем качеств тогда вообще задача видите коротков режим может быть решена вот-вот сложность такая 2 тонн в 4:45 2.4 45000 степени n есть очень быстро и достаточно алгоритма но быстрый как бы мы в кавычках если мы хотим покрасить три цвета да иногда важно есть три цвета краситься видите один внутри это пор не скажется какие-то то есть корень там какой-то из чего то степени n и в 4 цвета но это видите меньше чем 20 пиньон двадцать перин там под множества множеств переться вроде так то достаточно быстро получаются но точно алгоритмы для таких задач когда очень быстро нужно распределить например процесс время процессов они ну страну их использовать там типа убьют малышева используются он тон это действительно быстро так теперь значит применением раскраска графа вот по сути вот то что тот про процесса рассказывал еще раз на слайде написал но это тоже самое смысл то есть если есть у нас или может быть конфликт ресурсов то есть конфликтные пары них соединяем ребрами раскрашиваем и нельзя одновременно выполнять разного цвета процесс и ты сможем выполнять процессу только одного цвета так применяется еще дело но идея там такая же то есть что то общее можно начать раскрашивать чубут распределение регистров и микропроцессоров вот она так проектированию с параллельными численных методов но тоже связано с тем что у нас есть общие ресурсы какие-то и процесса надо запускать таким образом чтобы эти вот общие ресурсы не пострадали то есть грамотно ним обратиться цифровые водяные знаки это раскраска графов сдача с краской графов сводятся составление расписания как ни странно сводится к раскраске графов то есть можно правильным образом просто граф раскрасить в гости рано из головоломки судоку например на самом-то деле там его можно представить что-то граф с 81 вершины матрица посадил нам дана такая хитрая и начато раскраска в 9 цветов данного графа правильная то есть там какие-то вершину вот этот где мы пишем 1 2 3 4 8 9 какие-то раскраска нам даны надо просто до завершить эту раскраску вот вся задача то есть это так то по типу тут та же самая раскраска граф получаются акта сегодня все


Оцените статью
Добавить комментарий