এপস্টিনের অ্যালগরিদমের সাথে কে সংক্ষিপ্ততম পথগুলি সন্ধান করা হচ্ছে


16

আমি চিন্তা করার চেষ্টা করছি কিভাবে পথ গ্রাফ P(G) Eppstein এর অ্যালগরিদম অনুযায়ী এই কাগজ কাজ করে এবং আমি পুনর্গঠন করতে k থেকে সবচেয়ে কম পাথ s করার t সংশ্লিষ্ট গাদা নির্মাণ সঙ্গে H(G)

যতদূর:

out(v) একটি প্রান্তবিন্দু ছাড়ার সব প্রান্ত রয়েছেv একটি গ্রাফেG যেখানে একজন কম পাথ অংশ নয়। সংক্ষিপ্ততম রাস্তাগুলির পরিবর্তে এই প্রান্তটি ব্যবহার করারসময় এগুলিনামক "সময়ের অপচয়" দ্বারা গাদা অর্ডার করে। ডিজকস্ট্রার প্রয়োগ করে আমিথেকে প্রতিটি শীর্ষ প্রান্তের সবচেয়ে সংক্ষিপ্ত পথগুলি খুঁজে পাই।Gδ(e)t

আমি প্রান্তের দৈর্ঘ্যটি ধরে নিয়ে এটি গণনা করতে পারি (মাথার প্রান্তের মান (যেখানে নির্দেশক প্রান্তটি নির্দেশ করছে) - লেজের শীর্ষবিন্দুর মান (যেখানে নির্দেশক প্রান্তটি শুরু হচ্ছে) this এটি যদি এটি একটি সংক্ষিপ্ত পথে নয়, যদি এটি হয় তবে এটি সবচেয়ে ছোট পথে।>0=0

এখন আমি গড়ে তুলতে একটি 2-ন্যূনতম-গাদা প্রান্ত সেট heapifying দ্বারা তাদের মতে কোন , যেখানে রুট শুধুমাত্র হয়েছে একটি শিশু (= সাবট্রি)।Hout(v)out(v)δ(e)vVoutroot(v)

অর্ডার গড়ে তোলার লক্ষ্যে আমি সন্নিবেশ মধ্যে টার্মিনাল প্রান্তবিন্দু -এ শুরু । Timeোকানোর সময় যখনই একটি শীর্ষবিন্দু একরকম স্পর্শ করা হয় তখন এটি একটি দিয়ে চিহ্নিত থাকে ।HT(v)outroot(v)টি HT(nextT(v))t

এখন আমি বাকী করে । প্রতিটি প্রান্তবিন্দু পারেন রয়েছে থেকে শিশুদের এবং থেকে বা প্রথম এবং থেকে দ্বিতীয় থেকে এবং একটি 3-গাদা হয়।এইচ ইউ টি ( ডাব্লু ) এইচ টি ( ভি ) এইচ জি ( ভি ) 2 এইচ টি ( ভি ) 1 এইচ ইউ টি ( ডাব্লু ) 0 2HG(v)Hout(w)HT(v)HG(v)2HT(v)1Hout(w)02

সঙ্গে আমি নির্মাণ করতে পারেন একটি DAG নামক প্রত্যেকের জন্য একটি প্রান্তবিন্দু ধারণকারী থেকে -marked প্রান্তবিন্দু থেকে এবং প্রতিটি root- ব্যতীত প্রান্তবিন্দু জন্য ।ডি ( জি ) এইচ টি ( ভি ) এইচ ইউ টি ( ভি )HG(v)D(G)HT(v)Hout(v)

মূল মধ্যে বলা হয় এবং তারা ছেদচিহ্ন তারা অনুযায়ী অন্তর্গত সংযুক্ত আছেন একটি "ম্যাপিং" দ্বারা।ডি ( জি ) এইচ ( ভি ) ইউ টি ( ভি )HG(v)D(G)h(v)out(v)

এ পর্যন্ত সব ঠিকই.

কাগজটি বলে যে আমি একটি রুট সন্নিবেশ করিয়ে এবং সাথে একটি অভ্যন্তরীণ প্রান্ত দ্বারা সাথে সংযুক্ত করে তৈরি করতে পারি । এর উল্লম্বগুলি একই তবে তারা ওজনযুক্ত নয়। প্রান্তগুলির দৈর্ঘ্য রয়েছে। তারপরে প্রতিটি নির্দেশিত প্রান্তের জন্য এর এ সম্পর্কিত প্রান্তগুলি দ্বারা তৈরি এবং ওজনযুক্ত । এগুলিকে হিপ এজস বলে। তারপর প্রতিটি প্রান্তবিন্দু জন্য , যা একটি ছেদচিহ্ন একজোড়া সংযোগের সময় একটি সংক্ষিপ্ত পথ নেই প্রান্ত প্রতিনিধিত্ব করে এবং , "ক্রুশ প্রান্ত" থেকে তৈরি করা হয়r = r ( s ) h ( s ) δ ( h ( s ) ) D ( G )P(G)r=r(s)h(s)δ(h(s))D(G)( u , v ) D ( G ) P ( G ) δ ( v ) - δ ( u ) v P ( G ) δ ( h ( w ) তে সমানP(G)(u,v)D(G)P(G)δ(v)δ(u)vP(G)uwv থেকে এর দৈর্ঘ্য । প্রতিটি ভার্টেক্সে কেবল সর্বোচ্চ সর্বোচ্চ ডিগ্রি থাকে ।h(w)P(G)পি ( জি ) 4δ(h(w))P(G)4

r s t GP(G) 'র পাথ থেকে শুরু মধ্যে একটি একের সাথে এক দৈর্ঘ্য চিঠিপত্রের হতে অনুমিত হয় - মধ্যে -paths ।rstG

শেষ পর্যন্ত একটি নতুন গাদা অর্ডার 4-হিপ তৈরি করা হয়। প্রতিটি শীর্ষবিন্দু মূলযুক্ত একটি পথের সাথে সম্পর্কিত । যে কোনও ভার্টেক্সের পিতামাতার একটি কিনারা কম থাকে। একটি শীর্ষবিন্দুর ওজন হ'ল সংশ্লিষ্ট পাথের দৈর্ঘ্য।পি ( জি ) আরH(G)P(G)r

সংক্ষিপ্ততম পাথগুলি খুঁজে পেতে আমি বিএফএস থেকে ব্যবহার করি এবং ব্যবহার করে অনুসন্ধানের ফলাফলগুলিতে পাথগুলিতে "অনুবাদ" করি ।পি ( জি ) এইচ ( জি )kP(G)H(G)

দুর্ভাগ্যক্রমে, আমি বুঝতে পারি না কীভাবে আমি "পড়" এবং তারপরে সংক্ষিপ্ততম পাথগুলি পাওয়ার জন্য মাধ্যমে "অনুবাদ" করতে পারি ।এইচ ( জি ) কেP(G)H(G)k


6
আপনি ics.uci.edu/~eppstein/pubs/p-kpath.html এ বিভিন্ন বাস্তবায়ন পরীক্ষা করেছেন ?
রাদু গ্রেগোর

উত্তর:


25

এটি লেখার পর থেকে এটি যথেষ্ট দীর্ঘ হয়েছে যে এখন পর্যন্ত আমার কী আছে সে সম্পর্কে আমার ব্যাখ্যা সম্ভবত অন্য কোনও পাঠকের চেয়ে বেশি অবহিত নয়। তা সত্ত্বেও:

আমি বিশ্বাস করি যে আপনি যে বিবরণটি সন্ধান করছেন এটি লেমা ৫ এর প্রমাণের শেষ অনুচ্ছেদ Bas মূলত, পি (জি) এর কয়েকটি প্রান্ত ("ক্রস প্রান্ত") জি এর সিডেট্র্যাকের সাথে সামঞ্জস্যপূর্ণ (এটি, প্রান্তগুলি যে সংক্ষিপ্ততম পথ গাছ থেকে সরিয়ে নেওয়া)। প্রথম সিডেট্র্যাকের প্রারম্ভিক প্রান্তে সংক্ষিপ্ততম পথ গাছ অনুসরণ করে সিডেট্র্যাকের প্রান্তটি অনুসরণ করে, ছোট্ট পথের গাছটি অনুসরণ করে পরবর্তী সিডেট্র্যাকের সূচনালু বিন্দুতে ফিরে যাওয়া, ইত্যাদি দ্বারা জি The


1
পার্শ্ব নোট হিসাবে, এই অ্যালগরিদমটি সম্প্রতি কার্যকর হয়েছে বলে মনে হচ্ছে। বিশদটি এখানে
কার্লোস লিনারস ল্যাপেজ

ডেভিড, আমার জাভাতে সেরা, আপনার অ্যালগরিদমের বাস্তবায়ন দরকার। আপনি কোথায় আমাকে খুঁজে পেতে পারেন?
টিনা জে

1
আমি যে বাস্তবায়নগুলি সম্পর্কে জানি সেগুলি ics.uci.edu/~eppstein/pubs/p-kpath.html এর নীচে থেকে সংযুক্ত রয়েছে - তবে আমি সম্প্রতি অফ-সাইটগুলি পরীক্ষা করে দেখিনি যাতে কিছু সময়সীমা থাকতে পারে।
ডেভিড এপস্টিন 18

ধন্যবাদ। তবে আরও বড় কথা, আপনার অ্যালগরিদমের কোনও সম্পূর্ণ সিউডো-কোড কোথাও উপলব্ধ আছে?
টিনা জে

@DavidEppstein কিছু উইকিপিডিয়া এ Dijkstra এক অনুরূপ: en.wikipedia.org/wiki/K_shortest_path_routing
টিনা জে

4

এপস্টিনের অ্যালগরিদমের জন্য সিউডোকোড (এবং এর লেখকদের অলস সংস্করণ) এখানে দেওয়া হয়েছে: ভিএম জিমনেজ, এ। মারজাল, এপস্টিনের সবচেয়ে সংক্ষিপ্ত পথের অ্যালগরিদমের একটি অলস সংস্করণ, এর মধ্যে: পরীক্ষামূলক এবং দক্ষ আলগোরিদম (ডাব্লুইই '03) উপর দ্বিতীয় আন্তর্জাতিক কর্মশালা, ইন: কম্পিউটার সায়েন্সে লেকচার নোটস, খণ্ড 2647, স্প্রিংগার, 2003, পৃষ্ঠা 179-190। https://pdfs.semanticscholar.org/3a31/5a14a2fc773d2d800186121905016de31705.pdf

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.