TGViewer
JavaHere's Blogs 🚀 JavaHere's Blogs 🚀 @javahereblogs · 2.23K subscribers
Post #883 2.64K

Forwarded from ULUSHAHIVE (УЛУША)

#algo

A* (A-star) algorithm

Qanday muammoni yechadi: A* o’zining ikkita nuqta orasidagi eng qisqa yo’lni Dijkstra’s algorithm ga solishtirganda effektivroq va tezroq topib berishi bilan ajralib turadi. Tezroq ishlashiga asosiy sababi bir nuqtaga kelish tan narxi (masofasi or whatever) va destination pointga yetib borishning taxminiy narxlarini to’g’ri combine qilib qaror qilishidadir. Aynan shu taxmin qilishi heuristic deb yuritiladi. Tezliklarini solishtirish uchun ushbu videoga refer qiling.

Problem: NxM grid berilgan. Agar (i, j) katakda ‘.’ bo’lsa bu katak bo’sh, ‘#’ esa bu katak band deganini bildiradi. (start_x, start_y) katakdan (end_x, end_y) katakka borishning eng qisqa yo’lini topish kerak.

Yechim: A* ning yechimi Dijkstra amakinikidan uncha farq qilmaydi. Ochiq va yopiq set bor. Ochiq set bu - yurish uchun kandidat kataklarimiz va ularga yurish costlari. Yopiq set esa biz kirib bo’lgan va qayta process qilishni hoxlamaydigan kataklar. Dijkstrada qo’shni kataklarga yurishni shunchaki yurish masofasi yoki narxlarini yig’indisi orqali ifodalasak, A* da heuristic functionimiz qanday implement qilinganiga qarab bu logika istalganicha bo’lishi mumkin. Lekin, klassik holatda quyidagi ko’rinishda bo’ladi: shu katakkacha kelish narxi + destinationgacha yetib borish taxminiy narxi. Shuning uchun tepada takidlaganimdek, A* da ko’p narsa heuristics qanday yozilganiga bog’liq. Misol uchun, ushbu holatda heuristic functionni manhattan distance deb qarashingiz mumkin.

Note: Ba’zi hollarda average run timeni yaxshilash uchun bir necha xil hueristic function yozib, current state qandayligiga qarab mos keladiganini ishlatish ham o’rinli bo’ladi.

Learn Algorithms With ULUGBEK
  • 🔥 6
  • ❤ 2
  • 👍 2
  • 🤔 2
More from @javahereblogs
  1. Sep 29, 2026Universitet boshlandi Qiziq narsalar örgatishyabdi. Töğri, internetda tekinga örgansa böla…
  2. Sep 26, 2026Avtomatlashtirish Oldin: 1. Kurs e'loni 2. Google form orqali ro'yxatdan o'tish 3. Har bir…
  3. Sep 22, 2026Muammo faqat pulda emas… 1. Bo’lib to’lash qo’shilganda odatda narxlari to’liq to’lagandan…
  4. Sep 19, 2026DSA-4 Endi kuchliroq. Tizimli. 3 oy. Yangiliklar: • Platforma (planlar katta) • Kurs uchun…
  5. Aug 28, 2026Yechim 1. aID lardan foydalanib BF (Bloom Filter) qurdim. 2. B table ni BF o'tkazib oldim.…
  6. Jul 23, 2026Join task (updated) Endigi qilishim kerak bo’lgan ish: Table A va B. A table da 50 million…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →