Кіріспе

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

Қуаттар

Күшке бағытталған график сызу алгоритмдері график сызбасының қабырғалары мен түйіндер жиынтығына күштер тағайындайды. Әдетте, Гук заңына негізделген серіппеге ұқсас тартымды күштер графиктің қабырғаларының жұптарын бір-біріне тарту үшін қолданылады, ал Кулон заңына сәйкес электр зарядталған бөлшектер сияқты, бір мезгілде тебу күштері барлық түйіндер жұбын бөлу үшін пайдаланылады. Бұл күштер жүйесінің тепе-теңдік күйінде қабырғалар біркелкі ұзындыққа ие болады (серіппе күштерінің әсерінен), ал қабырғалармен байланыспаған түйіндер бір-бірінен алшақтайды (электрлік тебудің әсерінен). Қабырғалардың тартылуы және түйіндердің тебу күштерін серіппелер мен бөлшектердің физикалық қасиеттеріне негізделмеген функциялар арқылы анықтауға болады; мысалы, кейбір күшке бағытталған жүйелер тартымды күші сызықты емес, логарифмдік болатын серіппелерді қолданады. Балама модельде әрбір түйін жұбы үшін серіппеге ұқсас күш қарастырылады, онда әрбір серіппенің идеалды ұзындығы i және j түйіндері арасындағы граф теориялық қашықтыққа пропорционалды, бөлек тебу күшін қолданбайды. Түйіндер арасындағы Эвклидтік және идеалды қашықтықтардың айырмасын (әдетте квадрат айырмасын) азайту метрикалық көпөлшемді масштабтау мәселесіне тең. Күшке бағытталған график механикалық серіппелер мен электрлік тебуден басқа күштерді де қамтуы мүмкін. Ауырлық күшіне ұқсас күш түйіндерді сызу кеңістігінің белгілі бір нүктесіне қарай тарту үшін қолданылуы мүмкін; бұл үзілген графиктің әртүрлі байланысқан компоненттерін біріктіруге мүмкіндік береді, әйтпесе тебу күштерінің әсерінен олар бір-бірінен алшақтауға бейімделеді, сондай-ақ сызбадағы орталыққа жақын түйіндерді орталыққа жақын жерлерге тарту үшін; ол сонымен қатар бір компонент ішіндегі түйіндер арасындағы арақашықтыққа да әсер етуі мүмкін. Бағытталған графтар үшін магниттік өрістердің аналогтары қолданылуы мүмкін. Соңғы сызбада бір-біріне жақын орналасуын болдырмау үшін қабырғаларға да, түйіндерге де тебу күштері қолданылуы мүмкін. Иілген қабырғалары бар сызбаларда, мысалы, шеңбер доғалары немесе сплайн қисықтарында, күштер осы қисықтардың басқару нүктелеріне де қолданылуы мүмкін, мысалы, бұрыштық ажыратымдылықты жақсарту үшін.

Әдістер

Графтың түйіндері мен қабырғаларындағы күштер анықталғаннан кейін, осы күштер әсерімен бүкіл графтың мінез-құлқы физикалық жүйе сияқты модельделуі мүмкін. Мұндай модельдеуде күштер түйіндерге қолданылады, оларды жақындастырады немесе алыстатады. Бұл жүйе механикалық тепе-теңдікке жеткенше итеративті түрде қайталанады; яғни, олардың өзара орналасуы бір итерациядан екіншісіне өзгермейді. Осы тепе-теңдіктегі түйіндердің орналасуы графтың суретін салу үшін пайдаланылады. Егер серіппе күштерінің идеалдық ұзындығы граф теориялық қашықтыққа пропорционалды болса, кернеуді мажоризациялау осы айырмашылықтарды өте жақсы (яғни, монотонды түрде жинақталушы) және математикалық тұрғыдан әдемі жолмен азайтуға, сонымен қатар граф үшін жақсы орналасуды табуға мүмкіндік береді. Физикалық модельдеудің орнына немесе онымен қатар энергияның ең төмен нүктесін тікелей іздейтін механизмдерді қолдануға да болады. Мұндай механизмдер, жалпы жаһандық оңтайландыру әдістерінің мысалдары, симуляцияланған қайнату және генетикалық алгоритмдерді қамтиды.

Тарих

Графтарды сызудағы күшпен бағытталған әдістердің тарихы , оның көпбұрышты графтарды барлық жақтары дөңгелек болатындай жазықтықта салуға болатынын көрсеткен жұмысына дейін жетеді. Бұл үшін графтың жазықтыққа енгізілуінің сыртқы жағындағы төбелері дөңгелек орналасуы керек, әр қабырғаға серпімді күш сияқты тартымды күш қойылады, содан кейін жүйе тепе-теңдікке келеді. Бұл жағдайда күштердің қарапайымдылығының арқасында жүйе жергілікті минимумға ілігіп қалмайды, керісінше бірегей жаһандық оңтайлы конфигурацияға жуысады. Осы жұмыстың нәтижесінде, дөңгелек жақтары бар жазықты графтардың енгізілуі кейде Тютте енгізілуі деп аталады. Үйірлі төбелерде тартымды күштердің және барлық төбелерде итергіш күштердің үйлесімі алғаш рет ; осы типтегі күшпен бағытталған орналасу бойынша алғашқы жұмыстар жасалды. Барлық төбелер арасында тек серпімді күштерді қолдану идеясы, мұндағы серпімді күштердің идеалды ұзындығы төбелердің граф теориялық қашықтығына тең, -ден шыққан.