ভারী গ্রাফে শূন্যকে কি প্রান্তের ওজন হিসাবে অনুমোদিত?


60

আমি এমন একটি স্ক্রিপ্ট লেখার চেষ্টা করছি যা এলোমেলো গ্রাফ উত্পন্ন করে এবং একটি ভারী গ্রাফের একটি প্রান্তের 0 মান থাকতে পারে কিনা তা আমার জানতে হবে।

আসলে এটি বোঝা যায় যে 0 টি প্রান্তের ওজন হিসাবে ব্যবহার করা যেতে পারে তবে আমি গত কয়েকদিন ধরে গ্রাফ নিয়ে কাজ করছি এবং এর কোনও উদাহরণ আমি কখনও দেখিনি।

এখানে চিত্র বর্ণনা লিখুন


28
যদি নেতিবাচক মানগুলি "অনুমোদিত" হয় তবে শূন্য হয় না কেন? :)
ডেরেক 朕 會 功夫

5
একটি দ্রুত উদাহরণ হিসাবে, যদি ইতিবাচক ওজনগুলি কোনও নোড থেকে অন্য নোডে ভ্রমণের সময় নেট জ্বালানী গ্রহণের প্রতিনিধিত্ব করে, তবে নেতিবাচক ওজনগুলি নেট পুনরায় জ্বালানীর প্রতিনিধিত্ব করতে পারে। একটি শূন্য-ওজনযুক্ত প্রান্তটি যেখানে জ্বালানী ব্যয় করা হয়েছিল তা পুনরায় জ্বালানীর মাধ্যমে ক্ষতিপূরণ দেওয়া হয়।
জেডাব্লু

1
@ ডেভিডরিচার্বি আমি বিশ্বাস করি যে আসল প্রশ্নটি এখানে যেমন, "ওজন শূন্য প্রান্তের উপস্থিতিতে এক্স অ্যালগরিদম সঠিক"। নইলে প্রসঙ্গটি কী? উত্তরটি হ্যাঁ বা না হতে পারে, তথ্যের উপর নির্ভর করে। "একটি অ্যারে জিরো থাকতে পারে" এর মতো একটি প্রশ্ন ঠিক তত অর্থপূর্ণ।
জুহো

1
@ জুহো: ওহ সব ঠিক আছে। এটি কোনও সংখ্যা নেতিবাচক হতে পারে কিনা তা জিজ্ঞাসার মতো। আপনার কাছে এটি স্পষ্ট বলে মনে হয় যে এটি প্রসঙ্গে নির্ভর করে তবে নেতিবাচক সংখ্যাগুলি না আসা পর্যন্ত এটি নিশ্চিতভাবেই মানুষের কাছে স্পষ্ট ছিল না। শূন্য এমনকি সুস্পষ্ট ছিল না।
মেহরদাদ

1
আপনি যা করতে চান তার উপর নির্ভর করে আপনার ওজনগুলি আসল সংখ্যাও নাও হতে পারে। উদাহরণস্বরূপ, যদি আপনার গ্রাফটি এসি সার্কিটের প্রতিনিধিত্ব করে তবে আপনার ওজন ফোরার হতে পারে এবং সেগুলি জটিল সংখ্যা।
ব্যবহারকারী 2357112

উত্তর:


165

কাদের দ্বারা অনুমোদিত ? কোনও কেন্দ্রীয় গ্রাফ প্রশাসন নেই যা সিদ্ধান্ত নিতে পারে যে আপনি কী করতে পারবেন এবং কী করতে পারবেন না। আপনার পক্ষে উপযোগী যেকোন উপায়ে অবজেক্টগুলি সংজ্ঞায়িত করতে পারবেন, যতক্ষণ আপনি সংজ্ঞাটি কী তা সম্পর্কে পরিষ্কার। যদি শূন্য-ওজনযুক্ত প্রান্তগুলি আপনার পক্ষে কার্যকর হয় তবে সেগুলি ব্যবহার করুন; আপনার পাঠকরা জানেন যে আপনি কী করছেন just

আপনি সাধারণত শূন্য-ওজন প্রান্ত দেখতে না পাওয়ার কারণটি হ'ল বেশিরভাগ প্রসঙ্গে, ওজন শূন্যের একটি প্রান্তটি একটি প্রান্তের অনুপস্থিতির ঠিক সমান। উদাহরণস্বরূপ, যদি আপনার গ্রাফটি দেশগুলির প্রতিনিধিত্ব করে এবং তাদের মধ্যে যে পরিমাণ বাণিজ্য ঘটে, তার অর্থ শূন্য-ওজনের প্রান্তটি কোনও বাণিজ্য নয়, যা মোটেও কোন প্রান্ত না থাকার সমান। যদি আপনার গ্রাফটি দূরত্বগুলি উপস্থাপন করে তবে একটি শূন্য-ওজনের প্রান্ত একে অপরের থেকে শূন্যের দূরত্বে দুটি জায়গার সাথে মিলবে, যার অর্থ হবে তারা আসলে একই জায়গা হবে, সুতরাং উভয়কেই একই পর্বতমালা দ্বারা প্রতিনিধিত্ব করা উচিত। তবে অন্যান্য প্রসঙ্গে, শূন্য-ওজনের প্রান্তগুলি বোঝায়। উদাহরণস্বরূপ, যদি আপনার গ্রাফটি কোনও রাস্তা নেটওয়ার্ক এবং প্রান্তের ওজনগুলি ট্র্যাফিকের পরিমাণকে উপস্থাপন করে তবে কোনও রাস্তা যে কেউ ব্যবহার করে না (শূন্য-ওজনের প্রান্ত) এবং কোনও রাস্তা মোটেই নেই (কোনও প্রান্ত নয়) there's


1
এটি লক্ষণীয় যে অনেকগুলি গ্রাফ অ্যালগরিদমগুলি স্পষ্টভাবে নির্দিষ্ট করে যদি তারা নেতিবাচক ওজন সহ গ্রাফগুলিতে কাজ করে বা না করে। আমি মনে করি এটি প্রাসঙ্গিকতার উপর নির্ভর করে এটি স্পষ্ট করে যে এমনকি নেতিবাচক ওজনও অনুমোদিত।
মাকিং হাঁস

6
@ মুভিংডাক আমি মনে করি প্রশ্নের মূল বক্তব্যটি হ'ল, যদিও অ্যালগরিদমগুলি প্রায়শই বলে যে তারা নেতিবাচক ওজনের জন্য কাজ করে কি না, শূন্য ওজনের কথা খুব কমই উল্লেখ করা হয়। নেতিবাচক ওজন শূন্যের তুলনায় অনেক কম অস্বাভাবিক তাই এই নির্দিষ্ট প্রসঙ্গে, আমি নিশ্চিত নই যে তাদের উল্লেখ করা দরকার।
ডেভিড রিচারবি

13

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


গ্রাফের কোন নির্দিষ্ট ধরণের কি শূন্য নিষিদ্ধ? এবং নেতিবাচক বা ধনাত্মক মান অনুমতি দেয়?
ট্যাক্সেলুল

9
"অ-শূন্য প্রান্তের ওজনযুক্ত গ্রাফ"।
টম ভ্যান ডার জ্যান্ডেন

10
টেক্সেলুল গাণিতিক বস্তু পাথরে সেট করা নেই। নির্দিষ্ট নামগুলির সাথে গাণিতিক অবজেক্টের একটি নির্দিষ্ট তালিকা নেই যা কেবলমাত্র আপনার ব্যবহারের অনুমতিপ্রাপ্ত।
ডেভিড রিচার্বি

আপনি যে অ্যালগরিদম ব্যবহার করেন তার উপর নির্ভর করে। বেলম্যান-ফোর্ড জিরো গ্রহণ করে, যখন ডিজকস্ট্রায় তারা বিভ্রান্ত হয়
ম্যানুয়েল আজার

5

অন্যান্য উত্তরগুলি নোট হিসাবে, আপনি শূন্য-ওজন প্রান্তযুক্ত ওজনযুক্ত গ্রাফগুলি বিবেচনা করতে পুরোপুরি মুক্ত (বা বিবেচনা থেকে বাদ দিন)।

এটি বলেছিল যে, আমার অভিজ্ঞতায়, ভারী গ্রাফের বেশিরভাগ প্রয়োগগুলিতে সাধারণ কনভেনশন হ'ল শূন্য-ওজন প্রান্ত এবং একটি প্রান্তের অনুপস্থিতির মধ্যে কোনও পার্থক্য না করা। এর একটি কারণ হ'ল, সাধারণত, ওজনযুক্ত গ্রাফগুলি মাল্টিগ্রাফগুলির সাধারণীকরণ হিসাবে প্রদর্শিত হয় , যার ফলে সাধারণ গ্রাফগুলির সাধারণীকরণ হয়।

বিশেষত, একটি মাল্টিগ্রাফ একটি গ্রাফ যা ( সাধারণ গ্রাফের বিপরীতে ) একই জোড় নোডের মধ্যে একাধিক প্রান্তকে মঞ্জুরি দেয়। একটি সাধারণ গ্রাফে, কোনও জোড় নোড সর্বদা 0 বা 1 টি দ্বারা সংযুক্ত থাকে, তবে একটি মাল্টিগ্রাফে নোডের একটি জোড়া 0, 1, 2, 3 বা আরও বেশি দ্বারা সংযুক্ত থাকতে পারে (তবে সর্বদা একটি অ-নেতিবাচক পূর্ণসংখ্যার সংখ্যার হয় ) প্রান্ত।

একটি জোড়া নোডের মধ্যে ভগ্নাংশের সংখ্যার প্রান্তকে অনুমতি দেওয়ার জন্য একটি মাল্টিগ্রাফকে সাধারণীকরণ করার পরে স্বাভাবিকভাবেই একটি ওজনযুক্ত গ্রাফগুলি বিবেচনা করতে পারে এবং অনেকগুলি অ্যালগরিদমগুলি যেগুলি স্বেচ্ছাসেবী মাল্টিগ্রাফগুলিতে কাজ করে সেগুলিও এ জাতীয় ওজনিত গ্রাফগুলিতে কাজ করতে পারে। কিন্তু এই ধরনের আলগোরিদিম, একটি প্রান্ত "ওজন" সত্যিই তার উল্লেখ করে সংখ্যাধিক্য । সুতরাং, এই ব্যাখ্যাটি প্রদত্ত, "নো প্রান্ত" এবং "0 প্রান্ত" এর মধ্যে একটি জোড় নোডের মধ্যে কোনও অর্থপূর্ণ পার্থক্য থাকতে পারে না: উভয়ই একই জিনিসটির অর্থ বোঝায়।

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


6
ওজনযুক্ত গ্রাফগুলি কীভাবে "সাধারণত" খুব বেশি দেখায় তা আপনার ক্ষেত্রের উপর নির্ভর করে। আমি যখন সংক্ষিপ্ততম পাথগুলি অনুসন্ধানের জন্য কোনও রাস্তা নেটওয়ার্ককে গ্রাফ হিসাবে মডেল করি তখন ওজনগুলি দূরত্বকে উপস্থাপন করে, আমি ছেদগুলির মধ্যে একাধিক রাস্তা দিয়ে শুরু করি না এবং তারপরে ভগ্নাংশের রাস্তা প্রবর্তন করি।
অ্যাড্রিয়ানএন

3
@ অ্যাড্রিয়ানএন যদিও গ্রাফের মতো প্রান্তের অনুপস্থিতি একটি অসীম সম্পর্কিত মানের সাথে মিলিত হয় শূন্যের সাথে নয়।
কোডসইনচাউস

0

কেমব্রিজ যুক্তরাজ্যের রোড সিস্টেমের গ্রাফের কথা চিন্তা করুন, নোটগুলি সাইকেল চালক এবং গাড়ি চালকদের মধ্যে ভাগ করা হয়েছে, তাই বেশিরভাগ প্রান্ত রয়েছে। এটি করার ফলে ডেটা বজায় রাখার ব্যয় হ্রাস পায়।

এখন যদি আমরা প্রান্তের ওজনটিকে সেকেন্ডে ভ্রমণের সময় হিসাবে সংজ্ঞায়িত করি তবে পরিষ্কারভাবে প্রতিটি প্রান্তে দুটি ওজন থাকবে, একটি বাইকের জন্য গাড়ি এন্টারের জন্য। কিছু ওজন অসীম হবে কারণ চক্রের পথে গাড়িগুলির অনুমতি নেই।

এখন দুটি রোড জংশন বিবেচনা করুন যা একে অপরের একেবারে খুব কাছাকাছি এগুলি কেবল কয়েকটি পোস্ট দ্বারা চালিত হয় যা গাড়ি চালককে থামিয়ে দেয়। (উদাহরণস্বরূপ একটি ক্রস রোড, যেখানে গাড়ি ড্রাইভগুলি কেবল বাম দিকে ঘুরতে পারে তবে সাইক্লিস্টরা যে কোনও দিকে যেতে পারে)) তারপরে আমরা গাড়ি চালকদের কাছ থেকে অসীম ওজন এবং সাইক্লিস্টদের 0 টি ওজন সহ কিছু প্রান্ত পাই।

(স্পষ্টতই গ্রাফটি সর্বোত্তম রাউট আউট করার আগে সাইক্লিস্টদের রাউটিংয়ের জন্য একটি সহজ গ্রাফ তৈরি করতে প্রাক প্রক্রিয়া করা যেতে পারে))


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

@ ডেভিডরিচার্বি, কেবল ধরে নিন যে 1 সেকেন্ডেরও কম সময় রেকর্ড করা হয়নি।
ইয়ান রিংরোজ

0

দেখে মনে হচ্ছে আপনি গ্রাফের দুটি স্বতন্ত্র পৃথক দিক চেষ্টা করার জন্য ওজন ব্যবহার করছেন। প্রথমটি হ'ল গ্রাফটির আসলে উপস্থাপনযোগ্য (টানা) প্রান্ত রয়েছে এবং দ্বিতীয়টি এটির আসল ওজন।

যেমনটি আপনি লক্ষ্য করেছেন, আপনি একটি বিভ্রান্তিকর পরিস্থিতিতে পড়ুন যদি আপনি একটি প্রান্ত উপস্থিত থাকে এমন একটি সূচক হিসাবে 'অ-শূন্য' ব্যবহার করেন তবে একই সময়ে এখন একটি পরিস্থিতি পাওয়া গেছে while যেখানে শূন্য ওজনকে বৈধ হিসাবে শ্রেণিবদ্ধ করা হয়।

মূলত আপনার প্রান্তের উপস্থিতি উপস্থাপনের জন্য অন্য একটি উপায়ের প্রয়োজন হবে (ধরে নিলে আপনার এটির আসলে প্রয়োজন আছে, এবং কেবল একটি এন ^ 2 অ্যারের ওজন তৈরি করতে পারবেন না, তবে আপনি লুপ সম্পর্কে কী করবেন তা সিদ্ধান্ত নেওয়ার ফাঁদে পড়ে যান) পিছনে প্রান্ত ...)


আমি নিশ্চিত না যে এটি সত্যই প্রশ্নের উত্তর দিয়েছে। গ্রাফগুলিতে শূন্য-ওজন প্রান্ত থাকতে পারে কিনা তা নিয়ে প্রশ্ন; আপনার উত্তরটি বেশিরভাগ ক্ষেত্রে শূন্য-ওজন প্রান্ত সহ গ্রাফের জন্য কোনও ডেটা স্ট্রাকচার প্রয়োগ করতে পারে সে সম্পর্কে।
ডেভিড রিচার্বি

পুনঃটুইট এটি (আমার উত্তর) প্রশ্নটি কেন এবং কীভাবে তৈরি হয়েছিল (বা আসতে পারে) সত্তা সম্পর্কে আরও ছিল - একটি এক্সওয়াইপ্রোলেম ইস্যু। প্রথমদিকে কেন এটি একটি ইস্যু ছিল তা প্রায়শই যুক্তিযুক্ত করতে সক্ষম হওয়ায় সমাধানটি কীভাবে সঠিক উত্তর এবং কেবল কিছু 'ফড' নয় তা দেখতে ব্যাপকভাবে সহায়তা করতে পারে
ফিলিপ ওকলে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.