Uploaded by 7diyorbek

Gamilton Sikllari va TSP: Diskret Tuzilmalar Mustaqil Ishi

advertisement
O’ZBEKISTON RESPUBLIKASI RAQAMLI
TEXNOLOGIYALAR VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT
AXBOROT TEXNOLOGIYALAR UNIVERSITETI
Diskret tuzilmalari fanidan
Mustaqil ish
Guruh : 512-20
Bajardi : Nigmonov Otabek
Tekshirdi : Begimov Oybek
Toshkent -2025
To'la grafda Gamilton sikllari sonini hisoblash formulasi. Kommivoyajer
masalasi.
Reja:
1. Kirish
2. To'la grafda Gamilton sikllari sonini hisoblash formulasi
3. Kommivoyajer masalasi
4. Xulosa
5. Foydalanilgan adabiyotlar
Kirish
Kommivoyajer masalasi (muammosi) logistika, transport, ishlab chiqarish va
marketing
kabi
turli
sohalarda
yuzaga
keladigan
klassik
kombinatoriy
optimallashtirish muammolaridan biridir. Muammoning mohiyati - berilgan
ro'yxatdagi har bir shahardan aniq bir marta o'tadigan va keyin asl shaharga
qaytadigan eng qisqa yo'lni topishdir. Bu NP-to'liq, ya'ni katta ma'lumotlar
to'plamlarida maqbul vaqt ichida aniq yechim topish uchun ma'lum samarali
algoritmlar mavjud emas.
Ushbu muammoni hal qilish bilan bog'liq asosiy tushunchalardan biri bu
grafikdagi Gamilton sikli tushunchasi. Gamilton sikli - bu har bir cho'qqidan bir
marta o'tadigan grafikdagi tsikl. Bu sayohatchi sotuvchi muammosining yechimini
ifodalaydi va vaqt va resurslar xarajatlarini minimallashtirish uchun shaharlarga
tashrif buyurishning optimal tartibini aniqlashga imkon beradi.
Ushbu mustaqil ish maqsadi to'liq grafikda Gamilton sikllari sonini hisoblash
formulasini ko'rib chiqish va uning sayohatchi sotuvchi muammosiga qo'llanilishini
o'rganishdir. Biz ushbu formulaning matematik asoslarini, shuningdek, uni
sayohatchi sotuvchi muammosini hal qilishda qo'llash misollarini ko'rib chiqamiz.
Oxir-oqibat, biz topilmalarimizning ahamiyatini baholay olamiz va ushbu sohada
keyingi tadqiqotlar uchun mumkin bo'lgan yo'nalishlarni muhokama qilamiz.
To'la grafda Gamilton sikllari sonini hisoblash formulasi
Agar grafikda grafaning barcha uchlarini bir marta o‘z ichiga olgan oddiy sikl
bo‘lsa, bunday sikl Gamilton sikli, grafik esa Gamilton grafigi deb ataladi. Agar
grafikda grafning barcha uchlarini bir marta o‘z ichiga olgan oddiy zanjir bo‘lsa,
bunday zanjir Gamilton zanjiri, grafik esa yarim Gamilton grafigi deyiladi.
Grafikning Gamiltonian bo‘lishi uchun quyidagi teorema yetarli shartdir. Hali
zarur sharoitlar topilmagan.
Dirak teoremasi. Agar p ≥ 3 uchli ∀v ∈ V d(v) ≥ p/2 bo'lgan G(V, E) grafigida
G grafigi Gamiltonian bo'ladi.
Isbot. V = {v1, . . . , vp}. Avval e'tibor bering, har qanday grafik unga p
qo'shimcha 2 darajali cho'qqilarni qo'shish orqali Gamiltonianga aylantirilishi
mumkin: qo'shimcha ui cho'qqisi bilan birga, bu erda i = 1, . . . , p - 1 qirralari (vi,
ui) va (ui, vi+1) qo'shiladi, tepaga tepaga - qirralarga (vp, yuqoriga) va (yuqoriga,
v1) qo'shiladi. Keyin Gamilton sikli quyidagi ko'rinishga ega bo'ladi:
Dastlabki grafikda qo'shimcha u1 cho'qqisisiz Gamilton siklini qurish
mumkinligini ko'rsatamiz. Uchta holat mumkin:
1) v1 va v2 cho'qqilari qo'shni, keyin v1u1v2 sikl kesimini v1v2 bilan
almashtirish mumkin;
2) v1 va v2 uchlari yonma-yon emas, lekin vj, vj+1 juft uchlari borki, vj v1
ga, vj+1 esa v2 ga yondosh. Keyin tsiklning bo'limi v2u2 bo'ladi. . . vj
"kengaytirilishi" mumkin, u1 va uj qo'shimcha uchlarini yo'q qiladi va tsiklni oladi:
3) v1 va v2 cho'qqilari qo'shni emas va v1 ga ulashgan har qanday vj cho'qqi
uchun vj+1 uchi v2 ga qo'shni emas. Keyin v1 (yoki d(v1)) ga ulashgan cho'qqilar
soni v2 ga qo'shni bo'lmagan cho'qqilar sonidan oshmaydi (yoki p - d(v2) - 1 - v2 ga
qo'shni barcha cho'qqilar umumiy cho'qqilar sonidan olib tashlanadi. asl grafikda va
vertex v2 o'zi). Bu yerdan biz ushbu natijan ko’rishimiz mumkin:
∀v ∈ V : d(v) ≥ p/2 teorema shartlari bo'yicha ekanligini hisobga olsak.
Demak, dastlabki taxmin noto'g'ri bo'lib, vj, vj+1 cho'qqilari borki, vj v1 ga,
vj+1 esa v2 ga qo'shni bo'ladi. Bu holat 2-bandda ko'rib chiqiladi).
Demak, Gamilton siklini qo‘shimcha u1 cho‘qqisidan foydalanmasdan qurish
mumkin. Barcha qo'shimcha cho'qqilar uchun shunga o'xshash mulohaza yuritib,
dastlabki grafikda Gamilton siklini olamiz.Teorema isbotlangan.
Buning aksi to'g'ri emas, ya'ni Gamilton siklining mavjudligi uchun teorema
sharti shart emas. Misol. p = 8, ∀v ∈ V d(v) = 2, grafik Gamiltonian:
Gamilton siklini olish uchun hisoblash samarali, ya'ni polinom vaqtini talab
qiluvchi algoritmlar mavjud emas.
Roberts va Flores qo'pol kuch algoritmi (birinchi chuqurlikdan o'tish
strategiyasiga asoslangan):
1-qadam. Biz barcha v uchlari uchun L(v) qo'shnilik ro'yxatini tuzamiz. Biz
boshlang'ich uchini x1 tanlaymiz va i = 1 ni o'rnatamiz.
2-qadam. Agar i = p va {xp, x1} ∈ E bo'lsa, u holda x1x2. . . xpx1 – Gamilton
sikli, oxiri. Agar i = 0 bo'lsa, u holda Gamilton sikli yo'q, oxiri.
Qadam 3. X0x1 yo'liga kiritilmagan keyingi xi tepasini tanlang. . . xi−1,
L(xi−1) qoʻshni roʻyxatidan. Agar bunday cho'qqi bo'lmasa, biz i = i - 1 ni o'rnatamiz
(bir qadam orqaga qayting) va 3-bosqichni takrorlaymiz. Aks holda, biz bosqichga
o'tamiz.
Kommivoyajer masalasi
P shaharlar mavjud, ular orasidagi masofalar ma'lum. Sayohatchi sotuvchi
barcha shaharlarga bir marta tashrif buyurishi va u boshlagan shaharga qaytishi
kerak. Harakatning umumiy masofasi minimal bo'ladigan harakat yo'nalishini topish
talab qilinadi. Shubhasiz, muammo to'liq grafikdagi eng qisqa Gamilton tsiklini
topishga to'g'ri keladi. Keling, ushbu muammoni hal qilish usullarini ko'rib
chiqaylik.
1. Qo'pol kuchlar algoritmi. Sayohatchi sotuvchi har doim bir xil shaharni tark
etadi, deb faraz qilib, qolgan cho'qqilarning p - 1 almashtirishlarini yarating va har
bir almashtirish uchun yo'l uzunligini hisoblang, so'ngra minimalini tanlang. Katta
mehnat intensivligi.
2. Qidiruvni qisqartirish usullari. Ko'pgina hollarda qo'pol kuchlarni
kamaytirish usullari qo'pol kuch algoritmiga qaraganda kamroq vaqt ichida yechim
topadi. Biroq, bunday shafqatsiz usul uchun qidiruv kamaytirilmaganda, ya'ni oxirgi
holatda siz to'liq qidiruvni amalga oshirishingiz kerak bo'lgan misol mavjud.
3. Taxminiy usullar. Ushbu usullar taxminiy yechim topadi, ya'ni bu holda,
qisqa vaqt ichida eng qisqa vaqtga yaqin Gamilton sikli. Taxminiy usullar birbiridan topilgan yechimning murakkabligi va sifati bilan farqlanadi.
Tarmoq va bog'lanish usulining g'oyasi quyidagicha. Sinab ko'rilayotgan
barcha variantlar sinflarga bo'lingan. Har bir sinf uchun ushbu sinfning barcha
yechimlari uchun pastki chegara topiladi. Agar smeta ilgari topilgan yechimning
narxidan oshsa, sinfning barcha variantlari bekor qilinadi.
E'tibor bering, agar biz bir qatorning elementlaridan bir xil raqamni olib
tashlasak, u holda har qanday sayohatchining marshrutining narxi bu raqamga
kamayadi, chunki i-chi qatorning elementlarini i-chi qatorga kirish narxi sifatida
talqin qilish mumkin. boshqa shaharlardan shahar va A sayohatchi sotuvchi istalgan
shaharga aynan bir marta kiradi. Ustun uchun shunga o'xshash mulohaza yuritish
mumkin: ustun elementlaridan bir xil raqamni ayirish sayohatchi sotuvchining
sayohati narxining ushbu raqamga pasayishiga olib keladi, chunki i-ustunning
elementlari sifatida talqin qilinishi mumkin. i-shahardan boshqa shaharlarga ko'chib
o'tish narxi va Sayohatchi sotuvchi istalgan shaharni aynan bir marta tark etadi.
Shunday qilib, agar biz har bir satrning barcha elementlaridan ushbu qatorning
minimal elementini va nima uchun har bir ustunning elementlaridan - ushbu
ustunning minimal elementini ayirsak va bu raqamlarning barchasini qo'shsak, unda
biz pastroq bahoga ega bo'lamiz. sayohatchi sotuvchining sayohati narxi. Ushbu
operatsiya matritsani qisqartirish deb ataladi. Matritsaning qisqarishi natijasida unda
nol elementlar paydo bo'ladi. Aynan shunday elementlarni yo'lga kiritish optimal
yechimga olib keladi deb o'ylaymiz.
Har bir muammo, dastlabkisidan boshlab, ikkita kichik vazifaga bo'linadi: nol
og'irlikdagi ba'zi bir yoyni o'z ichiga olgan variantlar va bu yoyni o'z ichiga olmaydi.
Birinchi holda, sayohatchi sotuvchi i shaharni tark etib, j shahriga kirganligi sababli,
matritsadan i qator va j ustunni olib tashlash mumkin, bu esa muammoning
o'lchamini kamaytiradi. Shundan so'ng, matritsani yana qisqartirish mumkin.
Ikkinchi holda, i shahardan j shaharga sayohat taqiqlanganligi sababli, matritsa
elementi (i, j) cheksizlikka o'rnatiladi. Olingan matritsaga yana qisqartirish amalini
qo'llashingiz mumkin, lekin uni faqat i qator va j ustun uchun bajarish mantiqan
to'g'ri keladi.
Masala qo'yilishi. Djek –kompyuterlar sotish bo‘yicha agent (kommivoyajer),
uning qaramog‘ida 20 tashahar bor. ishlayotgan kompaniya yo’l harajatlarining 50%
ni to’laydi. Djek uning qaramog'ida bo'lganhar ikki shahar orasida yo'l harajatini
hisoblab chiqqan. Masala harajatlarini yo birlashdan iborat.Dastlab ma'lumotlar
Djek tasarrufidagi shaharlar ruyhati va narxlar matrisasi ko'rinishida berilgan.Bu
yerda matrisa i shahardan j shaharga borish narxiga teng bo'lgan c(i,j) hosildan
tashkil topganikki o'lcha mli. massiv. Shaharlar soni 20 ta bo‘lsa, matrisa -20 ́20
bo‘ladi.
Biz Djekga yo’l harajatlarini yordamga yordam berishimiz kerak. Djekning
marshruti o'ziyashagan shahardan boshlanib, qolgan hamma shaharlarni bir
martadan o'tib, yana o'z shahriga qaytibkelishi kerak. Demak, biz tuzayotgan
ruyhatda har bir shahar faqat bir marta uchrashi kerak, Lekin Djekyashagan shahar
ikki marta uchrab, ruyhatning birinchi va keyingi ish bo‘ladi. Undan
tashqari,ruyhatdagi shaharlar tartibi Djekning marshrutini davolash. Ruyhatdagi
ikkita uchinchi shaharlar ulanishyo’l narxi –bu butun route narxi deb hisoblanadi.
Demak, agar biz Djekga eng kichik narxdagiruyhatni tuzib bersak, masalani yechgan
bo‘lamiz.
 Evristika yoki evristik algoritm –algoritm deb ta’riflanishi uchun
xususiyiyatlarga ega bo‘lishi kerak:
 U shartli ravish uchun optimal bo’lmasa ham, yahshi echimlarni topish
kerak.

Uni ixtiyoriy ma'lum aniq algoritmdan ko'ra, amalga oshirish va soddaroq
bo'lishi kerak.
 Odatda yahshi algoritmlar evristik bo'lib chiqadi. Faraz qilaylik, biz tez
quvvat va barcha test
 topshiriqlariga javob beradigan algoritmni tuzdik, lekin uning to’g’riligini
isbotlab bilmaymiz. Bu isbot berilmaguncha, algoritm evristik deb
tushuniladi.
 Misol aniqlash algoritmni ko'rib chiqamiz:
GTS algoritmi: (kommivoyajer). N ta shaharlar va C narxlar matrisasi
berilgan kommivoyajermasalasi uchun U shahardan boshlab COST narxli TOUR
yaqinlashgan yechimni topish kerak.Qadam0: [Insiallashtirish] TOUR:=0;
COST:=0; V:=U;
Qadam 1: [Hama shaharlarni o’tish] For k:=1 to N-1 do qadam 2;
Qadam 2: [Keyingi vektorga o’tish]Faraz qilaylik, (V,W) –V shahardan W ga
olib
borayotgan
eng
kichik
narxli
vektor.
Unda:TOUR:=TOUR+(V,W);
COST:=COST+C(V,W);V:=W;
Qadam
3:
[Marshrutni
tugatish]
TOUR:=TOUR+(V,1);COST:=COST+C(V,1);M a rshrutni tasvirlash uchun biz
matematikada graf yoki tur deb nomlanayotgan chizmadanfoydalanamiz. Umuman
tur –bu nuqtalar va bir nechta yoki barcha ikki nuqtalarni bog’layotgan
chiziqlarto’plami, undan tashqari chiziqlar ustida qiymatlar ham berilishi
mumkin.Masalani soddalashtirish uchun beshta shahar uchun yechim topamiz.
Rasm. 1a –narxlar matrisasi.Rasm. 1b –turli model ko’rsatilgan.
Turlar nazariyasida shaharlar ruyhati bir shahardan boshlab va o’sha shaharga
barcha qolgan shaharlarnibir martadan o’tib qaytib kelish jarayonini belgilaydi.
Bunday o’tishni marshrut deb ta’riflaymiz. Marshrutnarxi chiziqlar ustidagi
qiymatlar yig’indisi bilan aniqlanadi.Rasm 2 algoritm GTS bo’yicha K marshrutni
shahar1 dan boshlab tuzishni aks ettiradi.
G TS algoritmi bo’yicha marshrut narxi 14 ga teng. Bu yerda algoritm eng
kichik narxli marshrutnitopmaganini ko’ramiz. Masalan, marshrut 1-5-3-4-2-1 narxi
5+2+1+4+1=13.Odatda yaqinlashgan algoritmlar tez bo’lsa ham, hamma vaqt
optimal yechimni berolmaydilar. GTSalgoritm uchun biz nazoratchi nisol topib
bildik. Lekin, yaqinlashgan algoritm ishlamasligini isbotlashhamma vaqt ham oson
bo’lmaydi.GTS algoritmi uchun dastur yozish ancha yengil. Lekin uni tezligini tahlil
qilib ko’raylik. Ixtiyoriykommivoyajer masalasi uchun (besh shahardan iborat) C
narxlar matrisasini o’qish va tuzishga O(N 2 )operatsiya kerak. Demak, pastki
murakkablik chegara algoritm uchun O(N 2 ) teng va GTS algoritminiyahshi evristik
algoritm deb qabul qilishimiz mumkin.
Xulosa
Ushbu inshoda biz muhim matematik sayohatchi sotuvchi muammosini va
Gamilton sikllari soni haqidagi savolni to'liq grafikda ko'rib chiqdik. Biz ushbu
raqamni hisoblash formulasini va uning sayohatchi sotuvchi muammosini hal
qilishda qo'llanilishini o'rganib chiqdik. Formula (n−1)! bilan to'liq grafikda
mumkin bo'lgan Gamilton sikllari sonini samarali aniqlash imkonini beradi n
uchlari. Bu turli xil ma'lumotlar to'plamlarida sayohatchi sotuvchi muammosining
murakkabligini baholash uchun ishlatilishi mumkin bo'lgan muhim nazariy bilimdir.
Kommivoyajer masalasi muammosini hal qilishda ushbu formuladan
foydalanish tadqiqotchilar va amaliyotchilarga shaharlar orasidagi mumkin bo'lgan
optimal yo'nalishlar sonini taxmin qilish imkonini beradi. Bu resurslarni samarali
taqsimlash muhim ahamiyatga ega bo'lgan logistika, transport va marketing
sohalarida asoslangan qarorlar qabul qilishga yordam beradi.
Ammo shuni ta'kidlash kerakki, katta grafiklarda optimal Gamilton siklini
topish muammoning kombinatsion xususiyati tufayli hali ham qiyin vazifadir.
Kommivoyajer masalasi muammosini hal qilishning samarali algoritmlari
sohasidagi keyingi tadqiqotlar dolzarb bo'lib qolmoqda va yanada samarali
optimallashtirish usullarini ishlab chiqishga olib kelishi mumkin.
Shunday qilib, to'liq grafikda Gamilton sikllari sonini hisoblash formulasini
o'rganish Kommivoyajer masalasi muammosini tushunishda muhim rol o'ynaydi va
ushbu klassik muammoni optimallashtirishning yangi usullari va echimlarini ishlab
chiqishga olib kelishi mumkin.
Foydalanilgan adabiyotlar
1. Левитин А. В. Глава 3. Метод грубой силы: Задача коммивояжёра //
Алгоритмы. Введение в разработку и анализ — М.: Вильямс, 2006. — С.
159—160. — 576 с. — ISBN 978-5-8459-0987-9
2. Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд
Штайн. Алгоритмы: построение и анализ = Introduction to Algorithms. — 2е изд. — М.: «Вильямс», 2006. — С. 1296. — ISBN 0-07-013151-1.
3. В.И. Мудров. Задача о коммивояжёре. — М.: «Знание», 1969. — С. 62.
4. Ежов А., Шумский С. Нейрокомпьютинг и его применения в экономике и
бизнесе . — М.: МИФИ, 1998. — С. 216.
5. Gross J. L., Yellen J. Graph theory and its applications. Second edition. Boca
Raton—London—New York: Chapman & Hall/CRC, 2006.
Download