একটি ডিগ্রাফকে একটি বিপরীতমুখী উপায়ে একটি অনির্দেশিত গ্রাফে রূপান্তর করা


10

আমি একটি ডিগ্রাফ (নির্দেশিত গ্রাফ) কে একটি বিপরীতমুখী উপায়ে একটি অনির্দেশিত গ্রাফে রূপান্তর করতে একটি অ্যালগরিদমের সন্ধান করছি, অর্থাৎ আমাদের যদি অনির্দেশিত গ্রাফ দেওয়া হয় তবে ডিগ্রাফটি পুনর্গঠনযোগ্য হওয়া উচিত। আমি বুঝতে পেরেছি যে এই অনির্দেশিত গ্রাফটি আরও বেশি শিখরেখার ব্যয় করে আসবে তবে আমি আপত্তি করি না।

কেউ কীভাবে এটি করতে জানেন বা কোনও রেফারেন্সের পরামর্শ দিতে পারে? আগাম ধন্যবাদ.


আপডেট: নীচে অ্যাড্রিয়ানএন এর উত্তর সম্পর্কিত। এটি একটি ভাল সূচনা পয়েন্ট হতে পারে তবে আমার মনে হয় না এটি এটি বর্তমান রূপে কাজ করে। আমি মনে করি এটি কেন হয় না এর একটি চিত্র এখানে: এখানে চিত্র বর্ণনা লিখুন


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


1
আমি মনে করি এই প্রশ্নটি খুব বিস্তৃত। আপনার বাধা কি?
অ্যাড্রিয়ানএন

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

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

2
দয়া করে নিগমবদ্ধ প্রশ্ন আপনার আপডেট। যে কোনও সময়, এসই পোস্টগুলি ইতিহাসের বিষয়ে অবাক না করে শীর্ষে থেকে নীচে পাঠযোগ্য হতে হবে; এটি আলাদাভাবে সংরক্ষণাগারভুক্ত।
রাফেল

উত্তর:


6

প্রত্যেকেরই নির্দেশ প্রান্ত , অ্যাড নতুন ছেদচিহ্ন এবং প্রতিস্থাপন ধার সম্বলিত , , , , , ।e=(x,y)v1e,,v5eexv1ev1ev2ev1ev3ev3ev4ev4ev5ev3ey

ডিকোড করার জন্য, প্রতি (ডিগ্রি -1 মেরু) যে প্রতিবেশীর ডিগ্রি 2 রয়েছে অবশ্যই জন্য হতে হবে  ; তার প্রতিবেশী  এবং অন্যান্য প্রতিবেশী  হয়  ।  এর একটি অনন্য প্রতিবেশী রয়েছে যার উভয়ই ডিগ্রি 3 রয়েছে এবং এটি একটি পাতার সাথে সংলগ্ন: প্রতিবেশী  এবং এর পাতাটি  (যদি এর দুটি পাতার প্রতিবেশী থাকে তবে একটিতে নির্বিচারে বেছে নিন )। অন্যান্য প্রতিবেশী হয়  এবং অন্যান্য প্রতিবেশী হয়  । নির্দেশিত প্রান্তটি পুনরুদ্ধার করুনv5ee=(x,y)v4ev4ev3ev3ev1ev2ev1ev2ev1exv3ey(x,y) এবং ।v1e,,v5e


7

ডেভিড রিচারির উত্তর (যা গ্রহণ করা হয়েছিল) ভাল is

আমি একটি সাধারণ উদাহরণ ডিগ্রাফের উপর তার নির্দেশাবলী অনুসরণ করেছি এবং আশা করি এটি কারওর পক্ষে সহায়তা করে।

ডিগ্রাফ a <-> খ, সি -> এ, বি -> সি

(আমি ডেভিডের উত্তরের মন্তব্য হিসাবে এটি পোস্ট করতাম তবে আমার সুনামের পয়েন্টগুলি দরকার নেই।)


1
গ্রাফিকাল উপস্থাপনাটি মূল উত্তরের তুলনায় একটি বিশাল উন্নতি। একটি মন্তব্য না হয়ে উত্তর হিসাবে পোস্ট করার জন্য আপনাকে ধন্যবাদ।
অরেঞ্জশার্বেট

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

2

নির্দেশিত গ্রাফ কে একটি পুনর্নির্দেশিত গ্রাফ তে রূপান্তর করতে নিম্নলিখিতটি করুন:DG

  1. এর নোড সংখ্যাD
  2. হিসাবে একই ভার্টেক্স সেটটিতে দুটি ডাইরেক্টরেক্ট গ্রাফ , করুনGGD
  3. প্রত্যেক প্রান্ত জন্য , মধ্যে প্রান্ত যোগ যদি অন্য প্রান্ত যোগuvDGu<vG
  4. G হ'ল এবং এর বিভাজন ইউনিয়নGG

অসন্তুষ্ট ইউনিয়ন করার সময় একে অবশ্যই বিপরীতমুখী করার জন্য যত্ন নেওয়া উচিত।

উদাহরণ


এটি একটি ভাল প্রচেষ্টা এবং এটি উত্তরের জন্য আমার মনে থাকা লাইনগুলি বরাবর রয়েছে তবে এটি কার্যকর হয় না কারণ বিপরীতটি অনন্য নয়। উদাহরণস্বরূপ, O <-> OOO গ্রাফটি OO OO OO OO গ্রাফে রূপান্তরিত হবে তবে এর পরেও এটি নির্দেশিত গ্রাফ O-> O O-> OOO থেকে আসতে পারে, সুতরাং প্রক্রিয়াটি প্রত্যাবর্তনযোগ্য নয়।
হিটেরোটিক

আমি এটি পরিষ্কার করার জন্য একটি ছবি যুক্ত করেছি।
অ্যাড্রিয়ানএন

-1

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


আমি ধরে নিয়েছি আপনার গ্রাফটি দিয়ে ডিগ্রাফ কোড করা । যে কাজ, কারণ এটি দ্বিমুখী প্রান্ত সঙ্গে মানিয়ে নিতে পারে এবং যদি না সমস্ত প্রান্ত reversing ফল , তারপর এবং isomorphic এনকোডিং আছে কিন্তু অগত্যা নিজেদের isomorphic নয়। G=(V,E)(V×{0,1},{(u,0,v,1)(u,v)E})GGGG
ডেভিড রিচার্বি

-1

এখানে একটি ছুরিকাঘাত:

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

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

আমি মনে করি যে জটিল অংশটি মাইনসুইপার বাজানোর মতো :-) যেখানে প্রতিটি স্কোয়ারের (ভার্টেক্স) জন্য বোমাগুলি (আগত প্রান্তগুলি) সংলগ্ন বোমার সংখ্যা দেওয়া হয়েছে তা নির্ধারণ করুন।


"নির্দেশিত ভার্টেক্স" কী? যে কোনও ক্ষেত্রে, এটি অনন্যভাবে ডিকোডেবল নয়। ধরা যাক যে একটি ভার্টেক্স সাথে আরও কিছু ডিগ্রি উল্লম্বের একগুচ্ছের সাথে ডিগ্রি 1-এর শীর্ষাংশ সংযুক্ত রয়েছে। আপনি কীভাবে বলবেন যে তাদের মধ্যে কতগুলি ডিগ্রি 1 এর উল্লম্ব থেকে আগত প্রান্তগুলি উপস্থাপন করে এবং কতগুলি -এর ডিগ্রিটি কোডিং করছে ? যাই হোক না কেন, মাইনসুইপারকে সমাধান করা এনপি-হার্ড, সমাধানটি সর্বদা অনন্য নয় এবং স্কোয়ারগুলি একটি দুর্দান্ত গ্রিডে অগত্যাভাবে সাজানো না হলে এটি সমাধান করা যায় তা স্পষ্ট নয়। xx
ডেভিড রিচার্বি

"নির্দেশিত ভার্টেক্স" দ্বারা, আমার অর্থ নির্দেশিত গ্রাফের একটি ভার্টেক্স (সমান অ-নির্দেশিত গ্রাফের বিপরীতে)। আপনি "ডিগ্রী এনকোডিং" প্রান্তগুলি থেকে "আসল" প্রান্তগুলি পার্থক্য করতে পারেন কারণ কেবল "ডিগ্রি এনকোডিং" শীর্ষে একটি একক প্রান্ত থাকে। আমার বর্ণনায় "1 +" এর কারণ ছিল। আমি মাইনস ওয়েপারস্কের "কৌশলযুক্ত অংশ" সম্পর্কে আপনার শব্দটি গ্রহণ করব আমি জানি না যে এটি মাইনসুইপারের ঠিক সমান, তবে আমি বিশ্বাস করতে পারি যে আমি সম্ভবত বালতিটিকে রাস্তায় ফেলে দিয়েছি :-)
হারুন

এছাড়াও, আমি আপনার সমাধানটি প্রথম পড়ার সময় বেশ বুঝতে পারি নি, তবে এখন এটি কীভাবে কাজ করে তা আমি দেখতে পাচ্ছি। চতুর!
হারুন

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

আমি মনে করি এটি এখন "মাইনসুইপার-মুট", তবে আমার ধারণা ছিল নির্দেশিত প্রান্তটি এবং এটিকে এবং । সুতরাং দুটি কিনারা থাকবে, 1 নয়। যে কোনও ভার্টেক্সের কেবল 1 প্রান্ত রয়েছে তা হল ডিগ্রি কোডিং। এর দুটি ডিগ্রি-কোডিং উল্লম্ব রয়েছে, যা 1 ডিগ্রি নির্দেশ করে। সাধারণভাবে উদাহরণস্বরূপ, ডিকোডিং সহজ কারণ আমরা জানি যে মাত্র দুটি অনুভূমিক রয়েছে, এবং তাদের যথাক্রমে 0 এবং 1 ডিগ্রি রয়েছে, এইভাবে(x,y)(x0,x),(x,y),(y,y0)(y,y1)xy(x,y)
হারুন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.