Jonson algoritmi


Jonson algoritmining uchta asosiy qismi



Download 162,95 Kb.
bet2/3
Sana12.07.2022
Hajmi162,95 Kb.
#782486
1   2   3
Bog'liq
Jonson o zbekcha

Jonson algoritmining uchta asosiy qismi
Jonson algoritmining ishlashini algoritmni quyidagi uchta asosiy qismga bo'lish orqali osongina tushunish mumkin.
• Asosiy uchini qo'shish
• Qirralarni qayta ishlash
• Barcha juftliklar uchun eng qisqa yo'lni topish
Endi biz Jonson algoritmining uchta asosiy qismining har biri bilan batafsil tanishamiz. Keling, Jonson algoritmining ishlashini misol bilan tushunaylik.
Quyidagi rasmda ko'rsatilganidek, a, b, c va d bo'lgan to'rtta qirraga ega bo'lgan G qirrasi bilan yo'naltirilgan grafigini ko'rib chiqing. Bizning maqsadimiz berilgan G grafigidagi har bir juft qirra orasidagi eng qisqa yo'lni hisoblashdir.

Har bir qirra juftligi orasidagi eng qisqa yo'lni hisoblash uchun har bir qirra bilan bevosita bog'langan asosiy qirrani (quyidagi rasmda S qirra) qo'shish g'oyasi hisoblanadi. Boshqacha qilib aytganda, yangi qo'shilgan S tayanch qirrasidan har bir qirraga chiqish vazni nolga teng. Ushbu bosqichda bizning grafigimiz manfiy vaznli qirralarini o'z ichiga olganligi sababli, biz Bellman-Ford algoritmini qo'llaymiz.


Yangi qo'shilgan asosiy uchi bilan o'zgartirilgan graf quyidagi rasmda ko'rsatilgan G' bo'lsin. Endi yuqorida o'zgartirilgan G' grafigi uchun Bellman-Ford algoritmini qo'llaganimizdan so'ng, biz asosiy qirradan boshqa barcha qirralargacha bo'lgan eng qisqa masofani olamiz, bu quyidagicha bo'ladi.


Bu erda D(S,V) - S qirradan V qirragacha bo'lgan eng qisqa masofa.
Qirralarni vaznini yangilash
Jonson algoritmi qirralarni qayta tortish texnikasidan foydalanadi.
Qirra vaznini yangilash - bu quyidagi ikkita maqsadni amalga oshirish uchun qirra vaznni o'zgartirish jarayonidir.
1. Grafdagi barcha juft u, v qirralar uchun, agar ma’lum bir yo’l qirra vaznini yangilashdan oldin o’sha qirralar orasidagi eng qisqa yo’l bo’lsa, qirra vaznini yangilagandan keyin ham u tugunlar orasidagi eng qisqa yo’l bo’lishi kerak.
2. Grafdagi barcha qirralar uchun (u, v) og'irlik (u, v) manfiy bo'lmasligi kerak. Qirralarni vaznini o’zgartiramiz, chunki G grafdagi barcha qirralarning og'irligi manfiy bo'lmasa, biz barcha qirralar juftligi orasidagi eng qisqa yo'lni Deykstra algoritmini har bir qirradan bir marta ishga tushirish orqali topishimiz mumkin, bu ko'proq. Bellman-Ford algoritmini qo'llashdan ko'ra samaraliroq.
Endi qirralarning og'irligi W ning yangi to'plami qirralarning vazni o’zgarishi natijasida quyidagi muhim xususiyatlarga javob berishi kerak.
1. U, v ∈ V qirralarining barcha juftligi uchun og’irlik funksiyasi yordamida u dan v gacha bo’lgan eng qisqa yo’l W vazn funksiyasi yordamida ham u dan v gacha bo’lgan eng qisqa yo’ldir.
2. Barcha qirralar uchun (u, v) yangi vazn W (u, v) manfiy emas.
Endi biz barcha qirralarning bu masofalarini S asosiy qirradan olganimiz sababli, biz S asosiy qirrasini olib tashlaymiz va quyidagi formuladan foydalanib qirralarni qayta tortamiz.
Uchburchak tengsizligidan foydalanib, biz bor
D(S,v) <= W(u, v) + D(S,u)
Shunday qilib, yuqoridagi tenglamadan foydalanib, biz qayta tortish tenglamamizni quyidagicha aniqlashimiz mumkin.
W(u, v) = W(u, v) + D(S,u) - D(S,v)
Bu yerda W(u,v) - u,v uchlari orasidagi chetning asl vazni va D(S,V) - S qirradan V qirragacha bo'lgan eng qisqa masofa.
Endi biz yuqoridagi formuladan foydalanib, yangi og'irliklarni hisoblaymiz.
W(u, v) = W(u, v) + D(S,u) - D(S,v)
a dan b gacha qirra uchun yuqoridagi formulaga u=a va v=b qo‘ysak, olamiz
W(a, b) = W(a, b) + D(S,a) - D(S,b)
W(a, b) = -5 + (-3) - (-8)
W(a, b) = 0
Yuqoridagi formulaga u=b va v=c qo‘ysak, b dan c gacha bo‘lgan qirraga yetamiz
W(b, c) = W(b, c) + D(S,b) - D(S,c)
W(b, c) = 6 + (-8) - (-2)
W(b, c) = 0
d dan c gacha bo'lgan qirra uchun yuqoridagi formulaga u=d va v=c qo'ysak, natijada
W(d, c) = W(d, c) + D(S,d) - D(S,c)
W(d, c) = 3 + 0 - (-2)
W(a, b) = 5

a dan d gacha qirra uchun yuqoridagi formulaga u=a va v=d qo‘ysak, natijada


W(a, d) = W(a, d) D(S,a) - D(S,d)
W (a, d) = 4 + (-3) -0
W(a, d) = 1
Yuqoridagi formulaga u=c va v=a qo‘ysak, c dan a ga vaznga erishamiz
W(c, a) = W(c, a) + D(S, c) - D(S,a)
W(c, a) = 2 + (-2) - (-3)
W(c, a) = 3
Yuqoridagi formulaga u=b va v=a qo‘yib, b ning a qirrasi uchun olamiz
W(b, a) = W(b, a) + D(S, b) - D(S,a)
W(b, a) = 7 + (-8) - (-3)
W(b, a) = 2
Yuqoridagi formulaga u=d va v=a qo‘ysak, d dan a ga yangi vaznli qirraga erishamiz
W(d, a) = W(d, a) + D(S, d) - D(S,a)
W(d, a) = -3 + 0 - (-3)
W(d, a) = 0
Quyidagi rasmda qirralari qayta tortilgan graf ko'rsatilgan.


Download 162,95 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish