"দ্বিগুণ" গাণিতিক অগ্রগতিগুলি সনাক্ত করা 3SUM-হার্ড?


20

এটি একটি সাক্ষাত্কার প্রশ্ন দ্বারা অনুপ্রাণিত ।

আমাদের এর পূর্ণসংখ্যার অ্যারে দেওয়া হয় এবং এটি নির্ধারণ করতে হয় যে আমি < জে < কে এইরকম পৃথক আছে কিনাa1,,ani<j<k

  • akaj=ajai
  • kj=ji

অর্থাত, সিকোয়েন্স এবং { আমি , , } গাণিতিক অগ্রগতি উভয় হয়।{ai,aj,ak}{i,j,k}

এর জন্য একটি সহজ অ্যালগরিদম রয়েছে তবে একটি উপ-চতুষ্কোণ অ্যালগরিদম খুঁজে পাওয়া অধরা মনে হয়।O(n2)

এই সমস্যাটা কি জ্ঞাত? আমরা কি এর 3SUM- কঠোরতা প্রমাণ করতে পারি? (বা হতে পারে একটি উপ-চতুর্ভুজ আলগোরিদিম সরবরাহ?)

আপনি যদি চান তবে আপনি অনুমান করতে পারেন < একটি এন এবং এটি একটি r + 1 - কিছু পরিচিত ধ্রুবক কে > 2 এর জন্য একটি আরকে । (সাক্ষাত্কারে সমস্যা, কে = 9 )।0<a1<a2<...<anar+1arKK>2K=9

উত্তর:


12

এটি একটি উন্মুক্ত সমস্যা।

মিহাই পাত্রেস্কুর স্টক ২০১০ পত্রিকার " ডায়নামিক সমস্যার জন্য বহুভুজ নিম্ন স্তরের দিকে " পত্রিকার ফলাফলটি গ্রহণ করে সম্ভবত 3SUM- কঠোরতার কিছু দুর্বল রূপ প্রমাণিত হতে পারে । প্রথমে আমাকে ঘনিষ্ঠভাবে সম্পর্কিত সমস্যার ক্রম সংজ্ঞায়িত করা যাক। প্রতিটি সমস্যার ইনপুটটি পৃথক পূর্ণসংখ্যার একটি সাজানো অ্যারে A[1..n]

  • 3 সুম: মতো পৃথক সূচকগুলি কি [ আই ] + [ জে ] = [ কে ] রয়েছে ?i,j,kA[i]+A[j]=A[k]

  • Convolution3SUM: সেখানে সূচকের করছেন যেমন যে একজন [ আমি ] + + একটি [ ] = একটি [ আমি + + ] ?i<jA[i]+A[j]=A[i+j]

  • গড়: মতো আলাদা সূচকগুলি কি [ আই ] + [ জে ] = [ কে ] রয়েছে ?i,j,kA[i]+A[j]=2A[k]

  • ConvolutionAverage: সেখানে সূচকের করছেন যেমন যে একজন [ আমি ] + + একটি [ ] = 2 একটি [ ( আমি + + ) / 2 ] ? (আপনি এই সমস্যাটিই জিজ্ঞাসা করছেন is)i<jA[i]+A[j]=2A[(i+j)/2]

আমার পিএইচডি থিসিসে, আমি প্রমাণ করেছি যে এই চারটি সমস্যার জন্য গণনার একটি সিদ্ধান্ত-গাছের মডেলটিতে সময় প্রয়োজন যা কেবল "ইস α [ i ] + β [ জে ] + form ফর্মের অনুসন্ধানগুলিকে অনুমতি দেয় problems একটি [ কে ] + δ ধনাত্মক, নেতিবাচক, বা শূন্য? ", যেখানে α , β , γ , real আসল সংখ্যা (যা ইনপুটটির উপর নির্ভর করে না)। বিশেষত, এই মডেলটির যে কোনও 3SUM অ্যালগরিদমকে অবশ্যই প্রশ্নটি জিজ্ঞাসা করতে হবে "Is A [ iΩ(n2)αA[i]+βA[j]+γA[k]+δα,β,γ,δ বড়, ছোট, বা এর সমান একটি [ ] "অন্তত? Ω ( 2 ) বার নিম্ন আবদ্ধ গুনতি একটি সাধারণ মডেল subquadratic আলগোরিদিম বাতিল না -। প্রকৃতপক্ষে, এটাবিভিন্ন পূর্ণসংখ্যার র‌্যাম মডেলগুলিতেকিছু লগ ফ্যাক্টর শেভ করাসম্ভবBut তবে কোনও সাধারণ মডেল কী ধরণের আরও উল্লেখযোগ্যভাবে সহায়তা করবে তা কেউ জানে না।A[i]+A[j]A[k]Ω(n2)

একটি সতর্কতা অবলম্বন হ্যাশ হ্রাস ব্যবহার করে, Pǎtraşcu প্রমাণিত যে যদি 3SUM প্রয়োজন প্রত্যাশিত সময়, কোন ফাংশন জন্য , তারপর Convolution3SUM প্রয়োজন Ω ( 2 / 2 ( এন ( এন ) ) ) প্রত্যাশিত সময়। সুতরাং, এটা বলা যুক্তিসঙ্গত যে কনভলিউশন 3 এসএমএম "দুর্বলভাবে 3SUM-হার্ড"। উদাহরণস্বরূপ, যদি Convolution3SUM মধ্যে সমাধান করা যেতে পারে হে ( 1.8 ) সময়, তারপর 3SUM মধ্যে সমাধান করা যেতে পারে হে (Ω(n2/f(n))fΩ(n2/f2(nf(n)))O(n1.8) সময়।O(n1.9)

আমি বিস্তারিত মাধ্যমে স্থল নি, তবে আমি বাজি ধরতে পারি চাই একটি সমান্তরাল যুক্তি যে বোঝা যে যদি গড় প্রয়োজন প্রত্যাশিত সময়, কোন ফাংশন জন্য , তারপর ConvolutionAverage প্রয়োজন Ω ( 2 / 2 ( এন ( এন ) ) ) প্রত্যাশিত সময়। অন্য কথায়, কনভলিউশনএভারেজ হ'ল দুর্বলভাবে গড়-শক্ত "।Ω(n2/f(n))fΩ(n2/f2(nf(n)))

Ω(n2)Ω(n2)


KO(nlogn)

B[0..Kn]B[i]=1A[1]+iABO(KnlogKn)=O(nlogn)jA2A[1]+jA[i]+A[j]O(n)O(n)

তবে আমি কনভলিউশন 3 এসএম বা কনভোলিউশনএভারেজের জন্য একই জাতীয় কৌশলটি জানি না!

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