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.