গ্রাফটিতে একটি প্রান্ত যুক্ত করার পরে কত সংক্ষিপ্ত দূরত্ব পরিবর্তন হয়?


22

যাক কিছু সম্পূর্ণ, পরিমেয়, undirected গ্রাফ দেখুন। আমরা একটি দ্বিতীয় গ্রাফ নির্মাণ প্রান্ত থেকে একের পর এক যোগ করে করতে । আমরা মোট তে প্রান্তগুলি যুক্ত করি ।G=(V,E)G=(V,E)EEΘ(|V|)G

প্রতিটি সময় আমরা এক প্রান্ত যোগ থেকে , আমরা সব জোড়া মধ্যে সবচেয়ে কম দূরত্বের বিবেচনা এবং । এই সংক্ষিপ্ততম দূরত্বগুলির মধ্যে কতগুলি যোগ করার ফলে পরিবর্তিত হয়েছে তা আমরা গণনা । যাক সবচেয়ে কম দূরত্ব সংখ্যা হতে যে পরিবর্তন আমরা যোগ যখন তম প্রান্ত, এবং দিন এন আমরা মোট যোগ প্রান্ত সংখ্যা হতে হবে।(u,v)E(V,E)(V,E{(u,v)})(u,v)Ciin

কত বড় হয় C=iCin ?

যেমন Ci=O(|V|2)=O(n2) , C=O(n2) পাশাপাশি। এই আবদ্ধ উন্নতি করা যেতে পারে? নোট যে আমি সংজ্ঞায়িত C , সব প্রান্ত যে যোগ করা হয় নি ওভার গড় হতে হবে যাতে একটি একক বৃত্তাকার যা দূরত্বের পরিবর্তনের অনেক যে আকর্ষণীয় নয় যদিও এটা প্রমাণ করে যে, C=Ω(n)

আমার কাছে জ্যামিতিক টি-স্প্যানারের লোভনীয়ভাবে O(Cnlogn) সময়ে কাজ করার জন্য একটি অ্যালগরিদম রয়েছে , সুতরাং C যদি o(n2) আমার অ্যালগরিদম মূল লোভী অ্যালগরিদমের চেয়ে দ্রুত এবং যদি C হয় সত্যিই ছোট, সর্বাধিক পরিচিত অ্যালগরিদমের চেয়ে সম্ভাব্য দ্রুত (যদিও আমি সন্দেহ করি)।

কিছু সমস্যা-নির্দিষ্ট বৈশিষ্ট্য যা একটি ভাল আবদ্ধের সাথে সহায়তা করতে পারে: প্রান্তটি (u,v) যা সর্বদা যুক্ত হয় তা গ্রাফের ইতিমধ্যে যে কোনও প্রান্তের চেয়ে বেশি ওজন থাকে (অগত্যা কঠোরভাবে বড় নয়)। তদুপরি, এর ওজন u এবং ভি এর মধ্যে সংক্ষিপ্ততম পথের চেয়ে কম v

আপনি ধরে নিতে পারেন যে শীর্ষগুলি একটি 2 ডি প্লেনের পয়েন্টগুলির সাথে সামঞ্জস্য করে এবং শীর্ষবিন্দুর মধ্যবর্তী দূরত্বগুলি এই পয়েন্টগুলির মধ্যে ইউক্লিডিয়ান দূরত্ব। অর্থাৎ, প্রতিটি ভার্টেক্স ভি প্লেনের vকিছু বিন্দু (x,y) সাথে মিলে যায় এবং একটি প্রান্তের জন্য (u,v)=((x1,y1),(x2,y2)) এর ওজন \ sqrt to এর সমান (x2x1)2+(y2y1)2.


2
দুটি প্রান্ত দুটি পথ দিয়ে সংযুক্ত দুটি ফলক নিন। চক্রগুলির মধ্যে সরাসরি একটি প্রান্ত যুক্ত করা সংক্ষিপ্ততম পথগুলির me সংক্ষিপ্ত করে। Ω(n2)
লুই

1
@ লুইস: হ্যাঁ, এমন কয়েকটি উদাহরণ রয়েছে যেখানে একটি একক প্রান্তের ফলে অনেক দূরত্ব পরিবর্তিত হয়, তবে এমন কোনও গ্রাফ রয়েছে যা আপনি যুক্ত প্রতিটি প্রান্তের জন্য ঘটবে, বা কমপক্ষে সেগুলির অনেকের জন্য? এটি ঠিক আমি কেন সংজ্ঞায়িত সব প্রান্ত বেশি :) গড় হতেC
অ্যালেক্স দশ কিনারা

1
যুক্ত করা যায় এই গ্রাফের বেশিরভাগ প্রান্তটি আমি বর্ণিত ধরণের ...
লুই

@ লুইস ট্রু ক্লাচগুলিতে প্রান্ত রয়েছে তবে এটি আমার গ্রাফে যুক্ত করার চেয়ে বেশি। O(n2)
অ্যালেক্স দশ ব্রিংক

আমার আগেও একই সমস্যা ছিল, তবে আমার গ্রাফটি সাথে এক ধরণের স্পারস গ্রাফ ছিল এবং আমার গড় পরিবর্তনগুলি O (1) প্রমাণ করা উচিত তবে আমি এটি করতে পারিনি :-)। তবে আপনার ক্ষেত্রে আমি মনে করি আপনি যদি এপিএসপির সমাধানের এবং এর মধ্যে কোনও সম্পর্ক খুঁজে পান তবে আপনি কিছু ফলাফল পেতে পারেন। |E|=O(|V|)

উত্তর:


19

নীচের লিনিয়ার চেইনটি নোড, প্রান্ত এবং দুষ্টুভাবে নির্বাচিত ওজন সহ বিবেচনা করুন:এনn+1n

উদাহরণ
[ উত্স ]

স্পষ্টতই, প্রান্তগুলি তাদের ওজন অনুসারে যুক্ত করা যেতে পারে এবং সেগুলির মধ্যে রয়েছে। প্রান্তটি যুক্ত করা (যা আইনী) দিয়ে সমস্ত জন্য ছোট পথ তৈরি করে । যেমন এবং অনুমান করে যে , উভয় প্রথম এবং শেষের সারিতে each উভয় নোড থাকে এবং সংযোজনের কারণ অনেক সংক্ষিপ্ততম পথ পরিবর্তন।( ইউ আই , বি ) আমি , জে = 1 , , কে কে nnO(|V|)(ui,bj)i,j=1,,k এনΘ(|ভি|)Θ(|ভি|)Θ(|ভি|2)kn4nΘ(|V|)Θ(|V|)Θ(|V|2)

আমরা এখন "বাইরের দিকে" যেতে পারি, অর্থাত এবং এবং এর মধ্যে ওজন সহ পরবর্তী প্রান্তটি যুক্ত করতে পারি ; যদি আমরা এটি অবিরত রাখি তবে আমরা মোট total সবচেয়ে সংক্ষিপ্ততম পথ পরিবর্তন করতে পারি।n+2uk1bk1(u1,b1)Θ(|V|3)

যদি এটি আপনাকে বোঝায় না, তবে নোট করুন যে আপনি আসলে এই "প্রক্রিয়া" দিয়ে শুরু করতে পারেন এবং সেখান থেকে বাহিরের দিকে কাজ করতে পারেন; এইভাবে আপনি বহু সংক্ষিপ্ততম মোট cause এর কারণ হিসাবে প্রান্তগুলি যুক্ত করুন পরিবর্তনগুলি --- একটি স্ক্রিনে ফিট করার জন্য এটি আঁকা অসম্ভব।(c1,c2)ni=1ni2Θ(n3)=Θ(|V|3)


1
এটি প্রকৃতপক্ষে কার্যকর হয় এবং তদ্ব্যতীত, আপনার উদাহরণটি ইউক্লিডিয়ান হওয়ার জন্য কিছুটা পরিবর্তন করা যেতে পারে। ধন্যবাদ :)
অ্যালেক্স দশ ব্রিংক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.