Кіріспе

Автоматты түрде таңбалау, кейде мәтін орналастыру немесе атау орналастыру деп аталады, картаға немесе диаграммаға таңбаларды автоматты түрде орналастырудың компьютерлік әдістерін қамтиды. Бұл мұндай таңбалардың типографиялық дизайнымен байланысты. Географиялық картада әдетте сызықтық нысандар (мысалы, жолдар), аумақтық нысандар (елдер, жер участалары, орман, көлдер және т.б.) және нүктелік нысандар (ауылдар, қалалар және т.б.) бейнеленеді. Картаның нысандарын географиялық тұрғыдан дәл бейнелеуден басқа, осы нысандарды анықтайтын атауларды оқырманға қай атау қай нысанды сипаттайтынын бірден білдіретіндей етіп орналастыру өте маңызды. Автоматты мәтін орналастыру – карта жасау және ГИС (географиялық ақпараттық жүйе) саласындағы ең қиын, күрделі және көп уақытты қажет ететін мәселелердің бірі. Компьютерлік графикалық кескіндердің басқа түрлері – кестелер, графиктер және т.б. – инженерлік сызбалар және осы сызбалар мен диаграммаларды жасайтын кәсіби бағдарламалар, мысалы, электрондық кестелер (мысалы, Microsoft Excel) немесе есептеу бағдарламалары (мысалы, Mathematica) да жақсы таңба орналастыруды талап етеді. Дұрыс емес орналастырылған таңбалар тым көп жабысып, картаны оқу қиын немесе тіпті мүмкін емес етеді. Сондықтан, ГИС әр таңбаның бірнеше мүмкін орналасуын қамтамасыз етуі керек, сондай-ақ таңбаның мөлшерін өзгерту, бұру немесе тіпті алып тастау (жасыру) опциясын ұсынуы керек. Содан кейін, ол ең аз қайталануға және басқа да қажетті қасиеттерге ие орналасулар жиынтығын таңдайды. Көптеген жағдайларда бұл мәселе NP-қиын болып табылады.

Ережеге негізделген алгоритмдер

Ережеге негізделген алгоритмдер тәжірибелі картографтың жұмысын имитациялауға тырысады. Ғасырлар бойы картографтар карта жасау және белгілер орналастыру өнерін дамытты. Мысалы, тәжірибелі картограф ұзақ жолдардың атын бір рет жазудың орнына бірнеше рет қайталайды, ал Оушен-Сити мысалында, қала жағалауға өте жақын нүкте түрінде бейнеленсе, картограф "Оушен-Сити" деген белгіні құрлыққа орналастырып, оның жағалау қаласы екенін нақты көрсетеді. Картографтар қабылданған конвенциялар мен ережелер бойынша жұмыс істейді, мысалы, швейцариялық картограф Эдуард Имхоф 1962 жылы жазған ережелер. Мысалы, Нью-Йорк, Вена, Берлин, Париж немесе Токио ел карталарында міндетті түрде көрсетілуі керек, себебі олар – жоғары приоритетті белгілер. Бұл белгілер орналастырылғаннан кейін картограф келесі маңызды белгілерді орналастырады, мысалы, ірі жолдар, өзендер және басқа да үлкен қалалар. Олар әр қадамда: (1) мәтін оқырманға оңай түсінікті болуын және оны тиісті нысанмен байланыстыруын, (2) белгі картадағы басқа белгілермен жабыспауын қамтамасыз етеді. Дегенмен, егер белгілі бір белгіні орналастыру мәселесі математикалық оптимизация мәселесі ретінде қойылса, онда оны математикалық әдіспен шешу, ережеге негізделген алгоритмді қолданудан әлдеқайда тиімді.

Жергілікті оңтайландыру алгоритмдері

Ең қарапайым алдамшы алгоритм картадағы белгілерді бірінен соң бірі орналастырады, белгілердің ең аз жабысуын қамтамасыз ететін позицияларды таңдайды. Оның нәтижелері тіпті өте қарапайым мәселелерде де мінсіз болмайды, бірақ ол өте жылдам жұмыс істейді. Сәл күрделірек алгоритмдер орналасуды бағалау функциясының жергілікті оптималдық деңгейіне жету үшін жергілікті оптимизацияны қолданады. Әр итерацияда бір белгінің орналасуы басқа позицияға жылжытылады, және егер бұл нәтижені жақсартса, онда бұл жылжу сақталады. Бұл алгоритм тым тығыз белгіленбеген карталар үшін жақсы нәтижелер береді. Тағы да күрделірек нұсқалар бір уақытта 2 немесе одан көп белгілерді жылжытуға тырысады. Алгоритм белгілі бір жергілікті оптималдық деңгейге жеткеннен кейін тоқтатылады. Қарапайым алгоритм – симуляцияланған қайнату (simulated annealing) – салыстырмалы түрде жақсы өнімділікпен жақсы нәтижелер береді. Ол жергілікті оптимизация сияқты жұмыс істейді, бірақ нәтиже нашарласа да, өзгерісті сақтап қалуы мүмкін. Мұндай өзгерісті сақтау ықтималдығы , мұнда – бағалау функциясының өзгеруі, ал – температура. Температура қайнату кестесіне сәйкес біртіндеп төмендейді. Температура жоғары болғанда, симуляцияланған қайнату белгілердің орналасуына кездейсоқ өзгерістер енгізеді, осылайша жергілікті оптималдықтан шығуға мүмкіндік береді. Кейін, үміттенсек, өте жақсы жергілікті оптималдық табылды, ол жергілікті оптимизацияға ұқсас әрекет етеді. Симуляцияланған қайнату шешімін әзірлеудегі негізгі қиындықтар – жақсы бағалау функциясын және жақсы қайнату кестесін таңдау. Әдетте, тым жылдам салқындату шешімнің сапасын нашарлатады, ал тым баяу салқындату өнімділікті төмендетеді, бірақ кесте әдетте бірнеше параметрлерден тұратын күрделі алгоритм болып табылады. Тікелей іздеу алгоритмдерінің тағы бір класы – әртүрлі эволюциялық алгоритмдер, мысалы, генетикалық алгоритмдер.

Бөлініп-басқару алгоритмдері

Нақты карталарда маңызды бір қарапайым оңтайландыру – белгілер жиынтығын дербес шешілетін кіші топтарға бөлу. Егер екі белгінің мүмкін орналасуларының бірінде қабаттасуы мүмкін болса, олар бәсекелес болып саналады. Осы қатынастың транзитивті жабылуы белгілер жиынтығын ықтимал әлдеқайда кіші топтарға бөледі. Біркелкі және тығыз белгіленген карталарда көбінесе бір жиынтықта белгілердің көп бөлігі болады, ал белгілеу біркелкі емес карталарда бұл өте үлкен өнімділік артықшылығын беруі мүмкін. Мысалы, әлем картасын белгілегенде Америка Еуразиядан тәуелсіз белгіленеді.

2-қанағаттандырарлық алгоритмдер

Егер картаны таңбалау мәселесін әрбір қалған таңбаның орналастырылуы мүмкін екі ғана мүмкін жағдайға дейін келтіруге болады, онда оны қарама-қайшы орналасулардан аулақ болатын орналасуды табу үшін 2-қанағаттандыруды қолдану арқылы тиімді шешуге болады; осы принципке негізделген проблемалардың күрделі түрлері үшін бірнеше нақты және жуықталған таңба орналастыру алгоритмдері бар.

Басқа алгоритмдер

Автоматты таңбалау алгоритмдері ықтимал таңбалар жиынтығынан ең үлкен ажыратылған жиынтықты табуға арналған кез келген алгоритмді қолдана алады. Сонымен қатар, әртүрлі графиктерді шешу, бүтін сандық бағдарламалау сияқты басқа алгоритмдер де қолданылуы мүмкін.

Бүкіл сандарды бағдарламалау

Карта белгілерін орналастыру мәселесінің кейбір түрлері, мақсатты функциясы жеке белгілерді олардың ең қолайлы орналасқан жерінен жылжыту үшін сандық айыптардың қосындысын азайту болып табылатын, көп таңдаулы бүтін санды бағдарламалау (MCIP) мәселелері ретінде қойылған. Мәселенің шектеулері – әрбір белгі картадағы шектеулі рұқсат етілген орындардың біріне орналастырылуы керек. (Немесе басқа белгілерді орналастыруға мүмкіндік беру үшін картадан жойылуы керек.) Оңтайландыру мәселесінің дуалдық формуляциясын шешу үшін Лагранжтық босатуды қолдану арқылы осы MCIP-ге жуық оңтайлы шешімді компьютер уақытының қолданылатын мөлшерінде табу әдетте мүмкін. Карта белгілеу мәселесіне жасалған алғашқы коммерциялық шешім, MCIP мәселесі ретінде тұжырымдалып, Лагранжтық босату арқылы шешілді, ол мұнай өнеркәсібінің базалық карталарына ұңғымалар мен сейсмикалық нүктелердің белгілерін орналастыруға арналған. Осы алғашқы шешім жарияланғалы бері көптеген математикалық оңтайландыру алгоритмдері ұсынылды және басқа картографиялық қолданыстар үшін осы MCIP-ті шешу үшін қолданылды.