ДСатур - DSatur

ДСатур Бұл графикалық бояу алгоритм алға қойған Даниэль Брелаз 1979 жылы.[1] Сияқты бояудың ашкөздігі, DSatur түсі төбелер а график қажет болған кезде бұрын қолданылмаған түсті жұмсап, бірінен соң бірі. Бірде жаңа шың боялған болса, алгоритм боялмаған шыңдардың қайсысының маңында ең көп түстер болатынын және осы шыңның келесі түстерін анықтайды. Брелаз бұл санды келесі ретінде анықтайды қанықтылық дәрежесі берілген шыңның.[1] Қанықтыру дәрежесінің жиырылуы алгоритмнің атауын құрайды.[2]:39 DSatur - бұл графикалық бояудың эвристикалық алгоритмі, бірақ екі жақтылық үшін нақты нәтижелер береді,[1] цикл және дөңгелектер графиктері.[2] Дсатур әдебиетте LF қанықтылығы деп те аталады.[3]

Псевдокод

Төбенің қанығу дәрежесін оның маңындағы әртүрлі түстердің саны ретінде анықтаңыз. Берілген қарапайым, бағытталмаған граф G компромисс шыңдар жиынтығы V және жиек жиынтығы E:[4]

  1. Дәрежеге тапсырыс беріңіз V.
  2. Максималды дәрежедегі шыңды таңдап, оны бірінші түспен бояңыз.
  3. Ең жоғары қанықтылық дәрежесін қарастырыңыз. Осы шыңды ең жоғары дәрежеге қарай отырып, байланыстарды үзіңіз. Бұдан әрі байланыстар кездейсоқ үзіледі.
  4. Осы уақытқа дейін жасалған түс сыныптарын қарап шығыңыз және таңдалған шыңды бірінші қолайлы түспен бояңыз.
  5. Егер болмаса V барлығы түсті, 3-қадамға оралыңыз

Өнімділік

ДСатурдың ең нашар күрделілігі Ο(n2), бірақ іс жүзінде кейбір қосымша шығындар боялмаған шыңдардың қанықтылық дәрежесін ұстау қажеттілігінен туындайды.[2] DSatur екі жақты графиктерге дәл екендігі дәлелденді,[1] сонымен қатар циклдік және дөңгелекті графиктер үшін.[2] Льюис 2015-ке қатысты эмпирикалық салыстыру кезінде DSatur шыңға қарағанда жақсы бояулар шығарды ашкөздік алгоритмі шеткі ықтималдығы бар кездейсоқ графиктерде б = 0,5 әр түрлі шыңдарда, ал өз кезегінде рекурсивті ең үлкен алгоритмге қарағанда нашар бояғыштар пайда болады.

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

  1. ^ а б c г. Брелаз, Даниэль (1979-04-01). «Графтың төбелерін бояудың жаңа әдістері». ACM байланысы. 22 (4): 251–256. дои:10.1145/359094.359101. ISSN  0001-0782.
  2. ^ а б c г. Льюис, Р.М.Р. (2016). Графиктерді бояуға арналған нұсқаулық. Берлин: Шпрингер. дои:10.1007/978-3-319-25730-3. ISBN  978-3-319-25728-0.
  3. ^ Кубале, ред. (2004). Графикалық бояулар (Vol. 352). Дәлелдеу: Американдық математикалық қоғам. б. 13. ISBN  978-0-8218-3458-9.
  4. ^ Льюис, Ргид (2019-01-19). «Графикті бояудың конструктивті алгоритмдері». youtube.com. Оқиға 3: 49-да болады.