ডিগ্রি বিতরণ থেকে গ্রাফগুলি পুনর্গঠন করা


12

একটি ডিগ্রি বিতরণ দেওয়া, আমরা কত দ্রুত প্রদত্ত ডিগ্রি বিতরণ অনুসরণ করে একটি গ্রাফ তৈরি করতে পারি? একটি লিঙ্ক বা অ্যালগরিদম স্কেচ ভাল হবে। অ্যালগরিদমকে "না" প্রতিবেদন করা উচিত যদি কোনও গ্রাফ তৈরি করা যায় না এবং যদি একাধিক গ্রাফ তৈরি করা যায় তবে কোনও উদাহরণ।


স্বাগত! "ডিগ্রি বিতরণ" কীভাবে দেওয়া হয়? স্টোকাস্টিক বিতরণ হিসাবে, ডিগ্রিগুলির তালিকা হিসাবে, ...?
রাফেল

1
এখানে অনুশীলন 2.6 দেখুন । প্রদত্ত ডিগ্রি-সিকোয়েন্স থেকে গ্রাফ তৈরির জন্য একটি অ্যালগরিদম দেওয়া হয়েছে।
উদ্বিগ্ন

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

এবং যদি আপনি প্রকৃতপক্ষে কোনও প্রদত্ত ডিগ্রি বিতরণ সহ একটি গ্রাফ তৈরি করতে চান, তবে এই কাগজে কৌশলটি মনে হচ্ছে। আমার আগের মন্তব্যে বর্ণিত অ্যালগরিদমটি দেখে মনে হচ্ছে, উ ইয়িনের উত্তরে আসলে হাভেল-হাকিমি অ্যালগরিদম।
উদ্বিগ্ন

উত্তর:


9

যদি আপনি বোঝাতে চান যে কীভাবে এই জাতীয় সরল গ্রাফ তৈরি করা যায় (কোনও স্ব লুপ নেই এবং কোনও সমান্তরাল প্রান্ত নেই), তবে হাভেল-হাকিমি উপপাদ্যটি আপনি সন্ধান করছেন। আপনি নিজে এটি গুগল করতে পারেন এবং উইকিপিডিয়া পৃষ্ঠা ডিগ্রি (গ্রাফ তত্ত্ব ) ও সহায়ক helpful


ধন্যবাদ। হ্যাঁ উইকি পাতা এই ক্ষেত্রে সহায়ক is
সিংহসুমিত

11

ডিগ্রী বন্টন ডিগ্রী একটি তালিকা হিসাবে দেওয়া হয়, তাহলে আপনি কি করতে পারেন নিম্নলিখিত দেওয়া মাত্রার নোড 1 , , ডি এন :এন1,,এন

সম্পূর্ণ গ্রাফ তৈরি করুন উপর এন -vertices। কে এন এন এর প্রতিটি ভার্টেক্স v i এর জন্য এটিকে ডি i কপিগুলিতে ভাগ করুন। এখানে মানে বিভক্ত, যে প্রান্তবিন্দু করার ধার সম্বলিত কপি একটি সংখ্যা তৈরি করুন বনাম আমি একটি প্রান্ত আছে, কিন্তু অন্যান্য কপি করার কোন প্রান্ত বনাম আমি । যদি d i = 0 হয় তবে কেবল শীর্ষবিন্দু সরান। নতুন গ্রাফে, 1 j d i এর জন্য এই শীর্ষটি v i j কল করুন ।কেএনএনবনামআমিকেএনআমিবনামআমিবনামআমিআমি=0বনামআমি1আমি

আপনার কাজ শেষ হয়ে গেলে, আপনার তে খুব ঘন গ্রাফ রয়েছে + ডি এন শীর্ষ ; এই গ্রাফ এইচ কল । সর্বাধিক মিলের জন্য আপনার প্রিয় অ্যালগরিদমটি চয়ন করুন (যেহেতু গ্রাফটি এত ঘন, আপনার সম্ভবত দ্রুত ম্যাট্রিক্স-গুণিত ভিত্তিক অ্যালগরিদম ব্যবহার করা উচিত) এবং এটি এইচতে চালানো উচিত । এটি মিলবে এম । যদি মিলটি নিখুঁত হয় না (যেমন যদি এটি প্রতিটি শৃঙ্গগুলি আবরণ করে না) তবে আপনার ডিগ্রি বিতরণ অসম্ভব ছিল; সুতরাং ফিরে নাএন=1+ ++ +এনএইচএইচএম

আপনি যদি একটি নিখুঁত ম্যাচিং যদি , তারপর সব প্রান্ত অপসারণ এম থেকে এইচ , এবং তারপর প্রতি 1 আমি এন একত্রীকরণ আমি অনেক ছেদচিহ্ন v আমি 1 , , বনাম আমি আমি এক চূড়া মধ্যে U আমি । দুটি শীর্ষকে একত্রিত করার অর্থ এগুলি একটিতে সংযুক্ত করা, যেমন ফলস্বরূপ শীর্ষবিন্দুতে প্রতিটি ভার্টেক্সের প্রান্ত থাকে কমপক্ষে মূলটির একটিতে একটি প্রান্ত ছিল। ফলাফল গ্রাফ জি কল করুন ; এটির কাঙ্ক্ষিত ডিগ্রি বিতরণ রয়েছে।এমএমএইচ1আমিএনআমিবনামআমি1,,বনামআমিআমিতোমার দর্শন লগ করাআমিজি

ফলস্বরূপ রানটাইম হ'ল যেখানে ω দ্রুততম ম্যাট্রিক্স-গুণিত অ্যালগরিদমের জন্য ধ্রুবক (যা লেখার সময় প্রায় 2.373 )। ফলে গ্রাফে ছেদচিহ্ন, ডিগ্রী বন্টন ঘন হচ্ছে সবচেয়ে খারাপ ক্ষেত্রে সংখ্যা নিরিখে, আমরা হে ( 2 ω )হে(এনω)ω2,373হে(এন2ω)


আপনার (বেশ পরিষ্কার) ব্যাখ্যা থেকে ম্যাট্রিক্সের গুণটি সমীকরণে কেন প্রবেশ করেছে তা মোটেও পরিষ্কার নয়।
রাফেল

2
@Raphael ম্যাট্রিক্স গুণ হল সর্বাধিক ম্যাচিং সমাধানের উপায়ে এবং এটি ঘন গ্রাফ এই পদ্ধতি অত্যন্ত জনপ্রীয়, সেরা সংস্করণ থেকে আবিস্কার, ফীড আবিষ্কার এর ম্যাচিং এলগরিদম রান যাএই সমস্যাটির জন্য(এন2.5) দেয়, যেহেতুএইচটিবেশ ঘন। সুতরাং আপনার যদি একটি ভাল দ্রুত ম্যাট্রিক্স গুণণে অ্যাক্সেস থাকে (বা মতলব-এর মতো ম্যাট্রিক্স-ভিত্তিক ভাষা নিয়ে কাজ করা) আমি মিচায় মুচা এবং সাঙ্কোভস্কির ম্যাট্রিক্স পদ্ধতির ব্যবহার করব। হে(|ভী|||)হে(এন2.5)এইচ
আর্টেম কাজনাটচিভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.