আমরা কত দ্রুত একটি সেট পরিবারের অন্তর্ভুক্তি পোস্ট সেট করতে পারি?


20

একটি সেট পরিবার প্রদত্ত F একটি মহাবিশ্বের সাব-সেট এর U । যাক S1,S2F এবং আমরা উত্তর করতে চান S1S2

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

আমি সম্পূর্ণ পোসেট তৈরি করতে চাই বা শেষ পর্যন্ত একটি |F|2 সারণী সত্য মিথ্যা বলার জন্য স্টোরগুলি ঠিক কী সেটগুলি প্রত্যেকের সাবসেট।

চলুন m=SF|S|, u=|U|এবং n=|F|, ধরুন u,nm

আমরা তৈরি করতে পারেন n×u সংবরণ ম্যাট্রিক্স (দ্বিপাক্ষিক গ্রাফ) এ O(un) সময় এবং তারপর সব টেবিল তৈরি করতে পারেন n2 মধ্যে তুলনা O(nm) প্রতিটি সেট করে সময় SF সব দিয়ে, লুপ অন্য সব সেট উপাদান এবং সেট হিসাবে না একটি উপসেট চিহ্নিত S যদি তারা উপাদান নেই S । মোট O(nm) সময়

আমরা কি দ্রুত কিছু করতে পারি? বিশেষত, O((n+u)2) সময় কি সম্ভব?

আমি কিছু সম্পর্কিত নিবন্ধ পেয়েছি:

সাবসেট আংশিক অর্ডার (1995) গণনার জন্য একটি সাধারণ সাব-কোয়াড্র্যাটিক অ্যালগরিদম যা একটি O(m2/log(m)) অ্যালগরিদম দেয়।

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

নিবন্ধে মধ্যে O(nm) এবং O(nα) লেখক কিভাবে গ্রাফ করা ম্যাট্রিক্স গুণ ব্যবহার করে একটি প্রান্তবিন্দু বন্ধ আশপাশ মুছে ফেলার পর সংযুক্ত উপাদান খুঁজে প্রদর্শন করুন। এটি রানটাইম সহ সমস্ত উপাদান যা সিঙ্গেলন রয়েছে তা আবিষ্কার করে সেট অন্তর্ভুক্তি পোজ গণনা করতে ব্যবহার করা যেতে পারে O((n+u)2.79)

এছাড়াও এই ফোরাম আলোচনা সম্পর্কিত: সেট অন্তর্ভুক্তি জন্য চেক দ্রুততম উপায় কি? যা নীচের সীমানাকে বোঝায় ( n 2 - ϵ )O(n2ϵ)


একটি পরামর্শ: আপনি সেট করে প্রশ্নটি সহজ করতে পারবেন ? বা আপনার আবেদনে উভয় পরামিতি গুরুত্বপূর্ণ? u=n
কলিন ম্যাককুইলান

আমার আবেদন আমি আছে যেখানে < < উপায়ে এসিম্পটোটিকভাবে ছোট করা হয়েছে। u<<n<<2u<<
মার্টিন ভ্যাটশেল

উত্তর:


2

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

|S|=s±O(1)s=o(u)1sপি1

q=[s/2]p=[(uq)(sq)]
p1

এখানে বন্যভাবে অবৈধ অংশ রয়েছে। এলোমেলোভাবে একটি চয়ন করুন সাব-সেট নির্বাচন প্রতিস্থাপন, আকার প্রতিটি , এবং একটি ফাংশন নির্ধারণ দ্বারা iff কিছু । সঙ্গে স্থায়ী ও এলোমেলোভাবে তারতম্য, আমরা যেহেতু একঘেয়ে, তাই বোঝায়pA1,,ApUqf:2U{0,1}f(S)=1AiSiSAi,f

Pr(f(S)=0)=Pr(i.AiS)=Pr(A1S)p=(1(sq)/(uq))p=eΘ(1)
f(S)STf(S)f(T) । যদি কিছু fix ঠিক করুন । সম্ভাব্যতা যে ডিটেক্ট করে হল TStTSfTS
Pr(f(S)=0<1=f(T))=Pr(f(S)=0)Pr(f(T)=1|f(S)=0)=eΘ(1)Pr(i.AiT,AiTS0|f(S)=0)=eΘ(1)Pr(i.tAiT|f(S)=0)eΘ(1)Pr(i.tAiT)eΘ(1)pPr(tA1T)eΘ(1)p(sq1)/(uq)eΘ(1)pqsq(sq)/(uq)=eΘ(1)
এই পদক্ষেপগুলির কয়েকটি বেশ পরিশ্রুত, তবে আজ রাতে তাদের উন্নতি করার আমার কাছে সময় নেই। যাইহোক, যদি তারা সবাই ধরে থাকে তবে কমপক্ষে এলোমেলোভাবে স্বাক্ষর ফাংশন উত্পন্ন করা অসম্ভব নয় যেগুলি ননসবাসেটগুলি থেকে সাবসেটগুলি পৃথক করার পক্ষে যুক্তিযুক্ত সম্ভাবনা রয়েছে। এই জাতীয় ফাংশনগুলির লোগারিথমিক সংখ্যার পরে সমস্ত জোড়কে সঠিকভাবে আলাদা করা যায়। যদি একটি স্বাক্ষর ফাংশন উৎপাদিত এবং কম্পিউটিং কমে যেতে পারে সময়, ফলে একটি সামগ্রিক হবে অ্যালগরিদম।ff(S)O~(n+u)O~(n2+u2)

উপরের গণনাগুলি সঠিক হলেও, কীভাবে কাঙ্ক্ষিত বৈশিষ্ট্যগুলি সহ একঘেয়ে স্বাক্ষর ফাংশনগুলি জেনারেট করা যায় তা আমার কোনও ধারণা নেই। এটিও সম্ভবত এই কৌশলটি বিভিন্ন সেট আকারগুলিতে প্রসারিত না করে।

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