পোসেটের জন্য বাইনারি অনুসন্ধানের সাধারণীকরণ?


28

ধরা যাক আমার এস এর উপর একটি পোসেট "এস" এবং একঘেয়ে প্রিকিকেট "পি" রয়েছে আমি এস সন্তুষ্ট পি এর এক বা সমস্ত সর্বাধিক উপাদান সন্ধান করতে চাই I

সম্পাদনা : আমি পি এর মূল্যায়নের সংখ্যা হ্রাস করতে আগ্রহী ।

এই সমস্যার জন্য কোন অ্যালগরিদম রয়েছে এবং এস তে তাদের কী কী সম্পত্তি এবং অতিরিক্ত ক্রিয়াকলাপ প্রয়োজন?

গুরুত্বপূর্ণ বিশেষ ক্ষেত্রে যেমন:

  • এস একটি লিনিয়ার অর্ডার - তারপরে নিয়মিত বাইনারি অনুসন্ধান কার্যকর হয় যতক্ষণ না আপনার "সন্ধানের মাঝারি" অপারেশন থাকে
  • এস একটি জালিয়াতি
  • এস একটি উপসেট জালিয়াতি
  • এস একটি মাল্টিসেট জালিয়াতি
  • ...

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


1
'মাল্টিসেট' জাল কি?
সুরেশ ভেঙ্কট

1
এটি সেই ল্যাটিস যার উপাদানগুলি ম্যাপিং করছে এক্স -> এন, মিলটি এলিমেন্টওয়াইজ মিনিট এবং জয়েনটি এলিমেন্টওয়াই সর্বাধিক। এটিকে কোডোমেন হিসাবে এন এর পরিবর্তে যে কোনও জালিতে সাধারণীকরণ করা যেতে পারে।
jkff

উত্তর:


15

আমি এটি খুব বেশি করে ভাবিনি, তাই দয়া করে আমি ভুল হলে আমাকে সংশোধন করুন।

বলুন poset প্রস্থ হয়।w

  1. Poset যা ইউনিয়নের জন্য অসংলগ্ন করা চেইন অন্তত প্রয়োজন মূল্যায়ন শুধু নিম্ন প্রতিটি চেইন বাইনারি সার্চের ক্যোয়ারী জটিলতার উপর আবদ্ধ মান প্রয়োগের দ্বারা।wwlognP

  2. যেহেতু আপনি বিনামূল্যে জন্য তুলনা দিতে, আপনি মধ্যে poset একটা চেন পচানি গনা করতে বিনামূল্যে জন্য চেইন। সন্তুষ্ট করে এমন প্রথম উপাদান সনাক্ত করতে প্রতিটি চেইনে বাইনারি অনুসন্ধান করুন । তারপরে চিহ্নিত উপাদানগুলিতে যান এবং যে কোনও আধিপত্যকে অপসারণ করুন। এর মূল্যায়নের সংখ্যা হ'ল । এটি সমস্ত সর্বাধিক উপাদানকে সনাক্ত করে, কারণ প্রতি চেইনে সর্বাধিক এক সর্বোচ্চ উপাদান থাকতে পারে।wPPO(wlogn)


সংযুক্ত: প্রকৃতপক্ষে আমি সাবলেট 2 ive al ( EDIT : ডোমোটর তার উত্তরে সাধারণ কৌশল বর্ণনা করেছেন) এর জালির জন্য আরও ভাল ( ) করার জন্য একটি সাধারণ রিকার্সিভ অ্যালগরিদম দেখছি । এখানে আমি ধরে নিচ্ছি যে নীচের দিকে একরকম (অর্থাত্ সাবটেক্সগুলি a একটি নিম্ন সেট গঠন), যা আমি মনে করি আপনি কী বোঝাতে চেয়েছেন। সুতরাং, নিম্ন সেটটির সদস্য খুঁজে পেতে এখানে অ্যালগরিদম রয়েছে:O(n)2[n]P{X:P(X)=1}

ক) পরীক্ষা । যদি 0 হয়, তবে থামুন।P()

খ) টেস্ট । P({n})

দ্বি) যদি 0, তারপর recurse উপর (ঠিক আছে, কারণ কোনো ধারণকারী সেট কম সেটে হতে পারে)।2[n1]n

b.ii) যদি 1, তারপর sublattice কম সেট সদস্য বিদ্যমান । এই sublattice isomorphic to তাই আর একবার আমরা পুনরাবৃত্তি করতে পারেন। আরো সঠিকভাবে, আমরা জন্য অ্যালগরিদম চালাতে পারেন কিন্তু অ্যালগরিদম নির্ণয় করা জিজ্ঞেস করল যখন , আমরা মূল্যায়ন যেখানে ।{X:nX}2[n1]2[n1]P(Y)P(X)X=Y{n}

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


বাহ, এত সহজ ধারণা! ধন্যবাদ - আমি এটি সর্বোত্তম মনে হয় কিনা তা নিয়ে কিছু চিন্তা করব :)
jkff

এটি আসলে ডাব্লু লগ এন এর চেয়েও কম, যেহেতু চেইনের দৈর্ঘ্যের যোগফল n। আমার ধারণা সর্বাধিক প্রায় ডাব্লু লগ (এন / ডাব্লু)।
jkff

ঠিক আছে, লিনিয়ার অর্ডারগুলির জন্য এটি বাইনারি অনুসন্ধান দেয়, একটি সাবসেট জালিকাগুলির জন্য এটি সি (এন, এন / 2) লগ (2 ^ n / সি (এন, এন / 2)) ~ এক্সপ্রেস (এন) * এন দেয়। খুব তাড়াতাড়ি নয়, তবে খুব বেশি সাবমোটিমালও দেখায় না, কারণ সেখানে আসলে অনেকগুলি উত্তর থাকতে পারে। তবে একটি সর্বাধিক উপসেট সন্ধান করার জন্য আপনার কেবল কোনও একটি চেইনের উপর বাইনারি অনুসন্ধান করা দরকার - এটি দুর্দান্ত এবং আমি এখন নিজেকে নির্বোধ বলছি এটি ভেবে দেখেনি। আবার ধন্যবাদ!
jkff

2
আমি মনে করি ডিসজেইন্ট চেইনগুলি আপনাকে কমপক্ষে (নির্ধারক অ্যালগরিদমের জন্য) এর নীচে সীমাবদ্ধ করে । এমন শত্রুদের কথা চিন্তা করুন যিনি অনুসন্ধানের শেষ শৃঙ্খলে একক সমাধানকে "আড়াল করে"। Rand এর এলোমেলো নিম্নতর গণ্ডিকে ইয়াওর মিনিমেক্স নীতি অনুসরণ করা উচিত। জটিলতায় সহ একটি একক উপাদান সন্ধান করা আকর্ষণীয় হতে পারে। ww+lognΩ(w)w+logn
সাশো নিকোলভ

1
@ ইয়ানকিংইন একটি জালিস (একের অধিক) বিচ্ছিন্ন শৃঙ্খলার মিলন হতে পারে না, কারণ প্রতিটি দুটি উপাদানের অবশ্যই একতরফা হতে হবে। একটি পোসেটটি বিভাজন করতে পারলে বিচ্ছিন্ন শৃঙ্খলার একটি ইউনিয়ন যাতে বিভিন্ন অংশের উপাদানগুলি অতুলনীয় হয় এবং একই অংশের মধ্যে থাকা উপাদানগুলি একটি সম্পূর্ণ ক্রম স্বীকার করে।
সাশো নিকোলভ

9

যদি একটি গাছ হয়, তাহলে সেখানে একটি বহুপদী টাইম অ্যালগরিদম যে একটি অনুকূল সিদ্ধান্ত গাছ নির্মান করা হয়।P

বাইনারি অনুসন্ধানের সাধারণীকরণ: গাছ এবং বন-জাতীয় আংশিক অর্ডার অনুসন্ধান করা


8

এক সাম্প্রতিক কাগজ Daskalakis এট শো আকারের একটি poset জন্য যে এবং প্রস্থ , ন্যূনতম উপাদান সময় খুঁজে পাওয়া যেতে পারে । মজার বিষয় হ'ল তাদের বিমূর্ততায় তারা বলেnwO(wn)

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


হেই, লগ (n) এর তুলনায় খুব অনুপ্রেরণামূলক নয় :) তবে যাইহোক ধন্যবাদ!
jkff

তবে সেটাই কথা। ডেটা স্ট্রাকচার ছাড়া আপনি সম্পূর্ণরূপে অর্ডার করা সেট এমনকি লগ এন পেতে পারবেন না, কারণ আপনি যা করতে পারেন তা স্ক্যান। এটি একটি বিএসটি সমতুল্য চেষ্টা এবং সন্ধান করা আসলেই একটি দুর্দান্ত প্রশ্ন।
সুরেশ ভেঙ্কট

ঠিক আছে - আমি প্রিপিকেট পি এর মূল্যায়নের সংখ্যার দিক থেকে জটিলতার কথা বলছি, তুলনা প্রাকটিক্ট নয়।
jkff

1
এক অর্থে হ্যাঁ, তবে এটি সম্পূর্ণ উত্তর হওয়া থেকে অনেক দূরে - যেমন এটি 1 ডি বা 2 ডি মামলার জন্য বাইসিকেশন দেয় না :) আপনি শিকড়গুলির সাথে কী করার পরামর্শ দিচ্ছেন?
jkff

1
এখনো নিশ্চিত না. গভীর চিন্তা. তবে এটি একটি দুর্দান্ত প্রশ্ন।
সুরেশ ভেঙ্কট

4

যদি এস ইনপুটটির অংশ হয়, তবে সর্বাধিক উপাদান সন্ধানের সমস্যাটি ইতিমধ্যে `` এনপি-হার্ড '' হয়ে উঠেছে (আমরা যদি জালির কথা চিন্তা করি যেমন এর উপাদানগুলি কিছুটা দীর্ঘ স্ট্রিং থাকে), যেমন আপনি বলতে পারেন যদি সিএনএফ (এক্স) সত্য না হয় এবং সিএনএফ (ওয়াই) কিছু নির্দিষ্ট সিএনএফের জন্য সত্য হয়।x<y

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

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

যেমন। যদি এস একটি স্থির মাত্রিক গ্রিড হয় তবে একটি দ্রুত অ্যালগরিদম রয়েছে: অন্যকে ন্যূনতম রাখার সময় সর্বদা একটি স্থানাঙ্ককে অর্ধেক রাখুন, সুতরাং প্রথম ধাপে যেমন (এন / ২,০, ..., ০) জিজ্ঞাসা করুন।

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


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

1
@ ইয়োশিও ওকামোটো: আমি মনে করি যে অনুচ্ছেদে অনুমানটি হ'ল এস এর তুলনাটি বুলিয়ান সার্কিট হিসাবে দেওয়া হয়েছে। (তবে পোজেটে অনুসন্ধানের সাথে এর কোনও সম্পর্ক নেই এবং তাই আমার কাছে আকর্ষণীয় নয়))
সোসোশি ইতো

@ শুয়োশি: আপনাকে ধন্যবাদ ওটা অনেক কিছু প্রকাশ করে.
যোশিও ওকামোটো

4

উপগ্রহ এর ল্যাটিসের উপরে সমস্ত সর্বাধিক উপাদানগুলি সন্ধান করার সমস্যার জন্য এটি বুলিয়ান ভেরিয়েবলের ইতিবাচক বুলিয়ান ফাংশনের যথাযথ অনুক্রমের পরিমাণ । আপনি যদি কেবলমাত্র এর মূল্যায়নের সংখ্যার বিষয়ে চিন্তা করেন (গণনাগত জটিলতা নয়), আপনি লজিক-ভিত্তিক পদ্ধতিগুলি , অধ্যায় 10, বিভাগ 10.2.4, বা বিভাগের শেষ অনুচ্ছেদে ডেটা মাইনিং এবং জ্ঞান আবিষ্কারের মধ্যে একটি সমীক্ষা পেতে পারেন এই নিবন্ধটির 6.1 , যা আমি এই উত্তরের দ্বারা ইঙ্গিত করেছি (সাবধান, এই নিবন্ধের বাকি অংশগুলি কেবল এর মূল্যায়ন করার জটিলতা নয়, গণনা জটিলতার সাথে সম্পর্কিত )।P2[n]nPP

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