ডাবল ওজন পরামিতি সহ ন্যূনতম বিস্তৃত গাছ


12

একটি গ্রাফ । প্রতিটি প্রান্ত এর দুটি ওজন এবং । বিস্তৃত গাছটি সন্ধান করুন যা পণ্যটি । সাথে সম্মতভাবে অ্যালগরিদম বহুত্ববর্তী সময়ে চলতে হবে ।G(V,E)eAeBe(eTAe)(eTBe)|V|,|E|

বিস্তৃত গাছগুলিতে (ক্রুসাল, ​​প্রাইম, এজ-ডিলিশন) কোনও traditionalতিহ্যবাহী অ্যালগরিদমকে মানিয়ে নেওয়া আমার পক্ষে কঠিন মনে হয়েছে। কীভাবে সমাধান করবেন? কোন ইঙ্গিত?


হয়তো একটা নতুন গ্রাফ, যেখানে একজন প্রান্ত ওজন গঠন করা চেষ্টা হয় । emax(Ae,Be)
উদ্বিগ্ন

3
এটি কি হোমওয়ার্কের সমস্যা / অনুশীলন? যদি তা হয় তবে তা কোন পাঠ্যপুস্তক থেকে এসেছে? আমি জিজ্ঞাসার কারণটি হ'ল প্রসঙ্গটি সমস্যার "রিভার্স ইঞ্জিনিয়ার" সহায়তা করতে পারে। অবিলম্বে সুস্পষ্ট একটি লোভী অ্যালগোরিদম এখানে উপযুক্ত নয়, কিন্তু যদি এটা লোভী অ্যালগোরিদম ওপর অধ্যায়টি থেকে আসে ...
জো

1
@utdiscant, যে কাজ করবে না। নেতিবাচক প্রান্তগুলি কার্যকর হতে পারে।
নিকোলাস মানকুসো

এমনকি ধনাত্মক প্রান্তগুলির জন্যও কার্যকর নয়, উদাহরণস্বরূপ বেশিরভাগ ক্ষেত্রে জোড়া (১০,১০) জোড়া (১১,১) এর চেয়ে ভাল নয়।

উত্তর:


1

আমি ধরে নেব যে আপনাকে নেতিবাচক ওজনযুক্ত প্রান্ত দেওয়া হয়নি, কারণ নেতিবাচক ওজন থাকলে এটি কাজ করতে পারে না।

অ্যালগরিদম

আপনার প্রতিটি প্রান্তের জন্য, তাদের থেকে লেবেল করুনএন1n

প্রান্ত সংখ্যার ওজন ক যাক iaii

প্রান্ত সংখ্যা বি ওজন করা যাক ibii

এই টেবিলটি আঁকুন

   |a_1 a_2 a_3 a_4 .. a_n
---+-------------------------
b_1|.........................
b_2|.........................
 . |.........................
 . |.........................
b_n|...................a_n * b_n

সারণী উপাদানগুলির প্রত্যেকের সাথে সারি এবং কলামের পণ্য।

প্রতিটি প্রান্তের জন্য, প্রাসঙ্গিক সারণী সারি এবং কলামটি যোগ করুন (এবং ছেদটি উপাদানটিকে দুটি বার সংক্ষিপ্ত করার পরে মুছে ফেলার কথা মনে রাখবেন)।

প্রান্তটি সর্বাধিক যোগফলটি সন্ধান করুন, গ্রাফটি সংযোগ বিচ্ছিন্ন না করা হলে এই প্রান্তটি মুছুন। প্রান্তটি অন্যথায় প্রয়োজনীয় হিসাবে চিহ্নিত করুন। যদি একটি প্রান্ত মোছা হয়ে গেছে, তবে এর সারি এবং কলামগুলি 0 দিয়ে পূরণ করুন।

শুদ্ধি

ফলাফল অবশ্যই একটি গাছ।

ফলাফলটি স্পষ্টতই ছড়িয়ে যাচ্ছে যেহেতু কোনও শীর্ষ বিচ্ছিন্ন হয় না।

ফলাফল কি সর্বনিম্ন? যদি অন্য প্রান্ত থাকে তবে যার মুছে ফেলা হলে অ্যালগোরিদমের শেষে একটি ছোট বিস্তৃত গাছ তৈরি হবে, তবে সেই প্রান্তটি প্রথমে মুছে ফেলা হত। (যদি কেউ আমাকে আরও কিছুটা কঠোর / এবং / বা পাল্টা উদাহরণ তৈরি করতে সহায়তা করতে পারে তবে তা দুর্দান্ত হবে)

রানটাইম

স্পষ্টতই বহুবচন ।|V|

সম্পাদন করা

(2,11),(11,2),(4,6) হয় না একটি পাল্টা উদাহরণ।

a1=2,a2=11,a3=4

b1=11,b2=2,b3=6

তারপর

   | 2     11     4
---+--------------------
11 | 22    121    44
 2 | 4     22     8
 6 | 12    66     24

(4,6)=44+8+24+66+12=154(2,11)=22+4+12+121+44=203(11,2)=121+22+66+4+8=221

(11,2) সরানো হয়।

সঙ্গে শেষ(2,11),(4,6)=617=102

অন্যান্য বিস্তৃত গাছ হ'ল

(11,2),(4,6)=1512=180

(2,11),(11,2)=1313=169


1
আমার কাছে মনে হয়, এটি একটি বরং লোভী অভিজাত। আমি আপনার ন্যূনতমতার "প্রমাণ" দ্বারা বিশ্বাসী নই।
Nejc

1
@ সাইদআমিরি কীভাবে এটির পাল্টা উদাহরণ? আমি সম্পাদিত বিভাগে কাজ পোস্ট করেছি, অ্যালগরিদম সঠিক ফলাফল দেয়।
হার্প ডেরপিংটন

1
আপনি যা করেছেন তা সন্ধান করছে যে প্রতিটি in তে কতটা অবদান রাখে , এবং আপনি সবচেয়ে বেশি প্রভাবিতগুলি বেছে । এটি ভাল, তবে এটি যা প্রয়োজন তা নয়। এটি একটি জটিল প্রশ্ন। আপনি যদি নিজের উত্তরটি উন্নত করতে চান তবে আপনাকে একটি প্রমাণ নিয়ে আসা দরকার। নাহলে কোনও লাভ নেই। e E a ii(ai,bi)eEai.eEbi
এজেড

যদিও আপনার প্রচেষ্টার জন্য ডাউন ভোট পাওয়া খুব অন্যায়।
এজেড

@ আজেদ প্রুফটি প্রাইম / কুশ / রিভার্স ডিলিটের মতোই। আমাদের এখনই প্রমাণ করতে হবে যে কাটা সম্পত্তি এখনও আছে still
হার্প ডেরপিংটন

1

এটি http://www.cnblogs.com/autsky-jadek/p/3959446.html থেকে সমাধান ।

আমরা প্রতিটি বিস্তৃত গাছকে বিমানের বিন্দু হিসাবে দেখতে পারি , যেখানে এর ওজনের যোগফল , y এর ওজনের যোগফল । লক্ষ্যটি হল হ্রাস করা ।x e T A ee T B e x yxyxeTAeeTBexy

  1. ওজন এবং ওজন অনুযায়ী ন্যূনতম বিস্তৃত গাছটি সন্ধান করুন । সুতরাং আমাদের xy সমতল দুটি পয়েন্ট রয়েছে । প্লেনের বিস্তৃত সমস্ত গাছের পয়েন্টগুলিতে এর সর্বনিম্ন , সর্বনিম্ন ।বি , বি x বি ওয়াইABA,BAxBy

  2. এখন আমরা একটি বিন্দু এটি তাগ ত্রিভুজ মধ্যে লাইন সর্বাধিক দূরত্ব আছে , আমরা করতে পারেন যাতে করে জন্য মান ত্রিভুজ মধ্যে সব পয়েন্ট জন্য মিনিমাইজ ।হে একজন বি একটি বি x Y সি একটি বি সিCOABABxyCABC

কারণ ।2SABC=|AB×AC|=(BxAx,ByAy)×(CxAx,CyAy)=(BxAx)Cy+(AyBy)CxAy(BxAx)+Ax(ByAy)

  1. লক্ষ্য করুন যে a একটি ধ্রুবক, তাই এখন আমরা সর্বাধিকীকরণের লক্ষ্য । সুতরাং আমরা একটি নতুন গ্রাফ তৈরি করব , যখন ওজন Now এখন আমরা তে সর্বাধিক বিস্তৃত গাছ চালাচ্ছি পয়েন্ট পেতে ।Ay(BxAx)+Ax(ByAy(BxAx)Cy+(AyBy)CxG=(V,E)w(e)=Be(BxAx)+Cx(AyBy)GC

  2. এবং মধ্যে আর কোনও বিস্তৃত গাছ না পাওয়া পর্যন্ত পুনরাবৃত্তভাবে উপরের অ্যালগরিদমটি চালান ।বি সি , সি OBC,OACBC,ACO

  3. এখন আমরা সম্ভাব্য বিস্তৃত গাছগুলির একটি সেট পেয়েছি। সর্বনিম্ন গাছ পাওয়ার জন্য প্রতিটি গাছের জন্য মান গণনা করুন ।xy

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