এমন কোনও সমস্যা আছে যার সর্বাধিক পরিচিত অ্যালগরিদম সময়


18

ডিনোমিনেটরে লগ সহ আমি আগে কখনও অ্যালগরিদম দেখিনি, এবং আমি ভাবছি যে এই ফর্মটির সাথে আসলে কোনও কার্যকর অ্যালগরিদম আছে কিনা?

আমি প্রচুর জিনিস বুঝতে পেরেছি যা রান সময়তে লগ ফ্যাক্টরকে বহুগুণে ডেকে আনতে পারে, উদাহরণস্বরূপ বাছাই করা বা গাছ ভিত্তিক অ্যালগরিদম, তবে লগ ফ্যাক্টর দ্বারা বিভাজন ঘটানোর কারণ কী হতে পারে?


24
মার্জোর্ট, । f(n)=nlog2n
জেফি

12
@ Jɛ ff E snarky Mcsnarkster
সুরেশ ভেঙ্কট

5
মূল্যের সাজান - এটি আসলে । যা চলছে তা এলোমেলো অ্যাক্সেসের কারণে আপনি একটি লগ ফ্যাক্টর সংরক্ষণ করতে সক্ষম হলেন ....O(nlogn/logn)
সারিল হ্যার-পেলেড

আমি অবাক হই যে যদি ডিটিটাইম হায়ারার্কি উপপাদ্যটি এই জাতীয় অ্যালগরিদমের অস্তিত্বের পক্ষে যুক্তি হিসাবে ব্যবহার করা যেতে পারে, তবে প্রদত্ত যে র‌্যাম মডেলটিতে কেউ অনুরূপ স্থান-ব্যয় সাশ্রয় কৌশল করতে পারে।
চিজিসপ

উত্তর:


41

"আপনি লগ দ্বারা বিভক্ত করার কারণ কি হতে পারে" এর স্বাভাবিক উত্তর? দুটি জিনিসের সংমিশ্রণ:

  1. গণনার এমন একটি মডেল যা শব্দ-আকারের পূর্ণসংখ্যার উপর ধ্রুবক সময় গণিত ক্রিয়াকলাপের অনুমতি দেওয়া হয় তবে আপনি শব্দটি কত দীর্ঘ সম্পর্কে রক্ষণশীল হতে চান, সুতরাং আপনি প্রতি শব্দ O(logn) বিটগুলি ধরে নেন (কারণ এর চেয়ে কম কিছু) এবং আপনি এমনকি সমস্ত স্মৃতিকে সম্বোধন করতে পারেননি, এবং কারণ আলগরিদমগুলি যে টেবিল লুকআপ ব্যবহার করে শব্দগুলি দীর্ঘ হলে টেবিলগুলি সেট আপ করতে খুব বেশি সময় লাগবে), এবং
  2. একটি অ্যালগরিদম যা শব্দগুলিতে বিট প্যাক করে ডেটা সংকুচিত করে এবং তারপরে শব্দের উপর পরিচালনা করে।

আমি মনে করি অনেক উদাহরণ আছে, কিন্তু ধ্রুপদী উদাহরণ চার রাশিয়ানরা অ্যালগরিদম দীর্ঘতম সাধারণ subsequences ইত্যাদি এটা আসলে হচ্ছে শেষ পর্যন্ত জন্য , কারণ এটি বিট-বোঁচকা ধারণা ব্যবহার কিন্তু তারপর একটি দ্বিতীয় সংরক্ষণ অন্য ধারণাটি ব্যবহার করে লগ ফ্যাক্টর: একক টেবিলের অনুসন্ধানের মাধ্যমে ( লগ 2 এন ) বিটের ক্রিয়াকলাপগুলি প্রতিস্থাপন ।O(n2/log2n)O(log2n)


35

রুবিক কিউব একটি খুব প্রাকৃতিক (এবং আমার কাছে অপ্রত্যাশিত) উদাহরণ is একটি n×n×n ঘনকটি সমাধানের জন্য Θ(n2/logn) পদক্ষেপের প্রয়োজন। (দ্রষ্টব্য যে এটি থিটা স্বরলিপি, সুতরাং এটি একটি শক্ত উপরের এবং নিম্ন সীমা)।

এটি এই কাগজে দেখানো হয়েছে [1]।

এটি উল্লেখযোগ্য যে রবিকের ঘনক্ষেত্রের নির্দিষ্ট দৃষ্টান্তগুলি সমাধান করার জটিলতা উন্মুক্ত, তবে এনপি-হার্ড বলে অনুমান করা হয়েছে ( উদাহরণস্বরূপ এখানে আলোচনা করা হয়েছে ) এনপি হার্ড [২]] Θ(n2/logn) অ্যালগরিদম একটি সমাধান গ্যারান্টী বা নিশ্চয়তা দিচ্ছে, এবং এটি গ্যারান্টী বা নিশ্চয়তা দিচ্ছে যে সমস্ত সমাধান এসিম্পটোটিকভাবে অনুকূল হয়, কিন্তু এটি সন্তোষজনক ভাবে নির্দিষ্ট স্থানেই সমাধান নাও হতে পারে। আপনার কার্যকর ব্যবহারের সংজ্ঞাটি এখানে প্রয়োগ হতে পারে বা নাও লাগতে পারে, কারণ রুবিকের কিউবগুলি সাধারণত এই অ্যালগরিদম দিয়ে সমাধান করা হয় না ( কোসিম্বার অ্যালগোরিদম সাধারণত ছোট কিউবগুলির জন্য ব্যবহৃত হয় কারণ এটি অনুশীলনে দ্রুত এবং সর্বোত্তম সমাধান দেয়)।

[1] এরিক ডি ডামাইন, মার্টিন এল। ডামাইন, সারা আইজেনস্ট্যাট, আনা লুবিউ, এবং অ্যান্ড্রু উইনস্লো। রুবিকের কিউবস সমাধানের জন্য অ্যালগরিদম। অ্যালগরিদমে 19 তম বার্ষিক ইউরোপীয় সিম্পোজিয়ামের কার্যক্রম (ইএসএ 2011), সেপ্টেম্বর 5-9, 2011, পৃষ্ঠা 689-700

[২] এরিক ডি ডেইমাইন, সারা আইসেনস্ট্যাট এবং মিখাইল রুডয়। রুবিকের কিউবটি সর্বোত্তমভাবে সমাধান করা এনপি-সম্পূর্ণ। কম্পিউটার সায়েন্সের তাত্ত্বিক দিকগুলিতে (স্ট্যাকস 2018) উপর 35 তম আন্তর্জাতিক সিম্পোজিয়ামের কার্যক্রম, ফেব্রুয়ারি 28 – মার্চ 3, 2018, পৃষ্ঠা 24: 1-24: 13।


16

বিট প্যাকিংয়ের কৌশল ছাড়াই ডিনোমিনেটরে দেখানো উদাহরণ হ'ল দুটি বহুভুজ শৃঙ্খলের মধ্যে বিযুক্ত ফ্র্যাচেট দূরত্ব নির্ধারণ করার জন্য আগরওয়াল, বেন অভ্রাহাম, কাপলান এবং শারির একটি সাম্প্রতিক কাগজ যা হে ( এন 2 লগ লগ এন / লগ এন ) । যদিও আমি অ্যালগরিদমের বিবরণটির সাথে পরিচিত নই, একটি সাধারণ কৌশলটি হ'ল ইনপুটটি তুলনামূলকভাবে ছোট ছোট টুকরো টুকরো করে ভাগ করে নেওয়া উচিত এবং পরে উত্তরগুলি চতুরতার সাথে একত্রিত করা (অবশ্যই এটি বিভাজন এবং বিজয়ের মতো মনে হচ্ছে, তবে আপনি লগ পাবেন না কিছু চালাক কৌশল সহlognO(n2loglogn/logn)


5
এটি ডেভিডের উত্তরে বর্ণিত "ফোর রাশিয়ান" কৌশলটির আরও জটিল উদাহরণ।
জেফি

13

আপনি যা চেয়েছিলেন ঠিক তা নয়, তবে "বন্যের" একটি পরিস্থিতি যেখানে ডিনোমিনেটরে একটি লগ ফ্যাক্টর উপস্থিত হয় স্টিফেন কুক, পিয়ের ম্যাককেঞ্জি, ডাস্টিন ওয়েহর, মার্ক ব্র্যাভারম্যান এবং " বৃক্ষ মূল্যায়নের জন্য নুড়ি ও ব্রাঞ্চিং প্রোগ্রামস " পত্রিকাটি and রাহুল সান্থানম।

গাছ মূল্যায়ন সমস্যা (TEP) হল: একটি প্রদত্ত মধ্যে -ary গাছ মান সটীক { 1 , ... , } পাতায় এবং ফাংশন উপর { 1 , ... , } { 1 , ... , } অভ্যন্তরীণ নোড উপর , গাছ মূল্যায়ন। এখানে প্রতিটি অভ্যন্তরীণ নোড তার বাচ্চার মূল্যবোধের সাথে এর বর্ধিত ফাংশনের মান পায়। এটি একটি সহজ সমস্যা এবং মূল বিষয়টি দেখানো হচ্ছে যে এটি লোগারিথমিক স্পেসে সমাধান করা যায় না (যখন গাছের উচ্চতা ইনপুটটির অংশ হয়)। সেই লক্ষ্যে, আমরা টিইপি সমাধানের ব্রাঞ্চিং প্রোগ্রামগুলির আকারে আগ্রহী।d{1,,k}{1,,k}d{1,,k}

অনুচ্ছেদ 5-এ, আঁট সীমা উভয় TEP জন্য এবং সংশ্লিষ্ট সমস্যা BEP, যা আউটপুট ধসে হয়, উচ্চতা 3 গাছ জন্য উপস্থাপন করা হয় কিছু অবাধ উপায়। TEP জন্য আবদ্ধ হয় Θ ( 2 - 1 ) যখন BEP জন্য আবদ্ধ হয় Θ ( 2 - 1 / লগ ) , অর্থাত্ আপনার একটি সংরক্ষণ পেতে লগ {0,1}Θ(k2d1)Θ(k2d1/logk)logk


12

যদিও রানটাইম সম্পর্কে নয়, আমি ভেবেছিলাম এটা Hopcroft, পৌল এবং বীর ধ্রুপদী ফলাফলের কহতব্য: [1], এটা এখনও যেহেতু " লগ ফ্যাক্টরটি আপনাকে বাঁচাতে কী কারণ হতে পারে" এর স্পিরিট ।টিআমিএম[টি]এসপিএকজনসি[টি/লগটি]

এটি সমস্যার অনেকগুলি উদাহরণ দেয় যার মহাশূন্য জটিলতার উপরের সর্বাধিক পরিচিত upper (আপনার দৃষ্টিভঙ্গির উপর নির্ভর করে আমি ভাবব যে হয় এই উদাহরণটিকে অত্যন্ত আকর্ষণীয় করে তুলেছে - কী আশ্চর্য উপপাদ! - বা খুব উদ্বেগজনক - এটি সম্ভবত "আসলে কার্যকর" নয়)।

[1] হপকক্রফ্ট, পল এবং ভ্যালিয়েন্ট। সময় বনাম স্থান । জে এসিএম 24 (2): 332-337, 1977।



8

কম্পিউটিং সম্পাদনা করুন (Levenshtein ওরফে) দূরত্ব দৈর্ঘ্যের দুটি স্ট্রিং মধ্যে জন্য শ্রেষ্ঠ পরিচিত অ্যালগরিদম লাগে হে ( ( এন / লগ ইন করুন এন ) 2 ) সময়:এনহে((এন/লগএন)2)

উইলিয়াম জে মাসেক, মাইক পেটারসন: একটি দ্রুত অ্যালগরিদম কম্পিউটিং স্ট্রিং সম্পাদনা করুন দূরত্ব। জে.কম্পট। Syst। সী। 20 (1): 18-31 (1980)।


4
আবার, এটি ফোর রাশিয়ান অ্যালগরিদমের একটি প্রকরণ, আমার ধারণা।
ডেভিড এপস্টিন

7

সঠিক গ্রেগ এবং পল বীর (বিআইটি ঠাট কোন সংযোগ) দ্বারা বিবেচিত একটি সমস্যার জন্য আবদ্ধ হিসাবে প্রদর্শিত হবে:Θ(n/logn)

গ্রেগরি ভ্যালিয়েন্ট, এবং পল ভ্যালিয়েন্ট, লিনিয়ার অনুমানের শক্তি, ২০১১. কম্পিউটার সায়েন্সের ফাউন্ডেশন সম্পর্কিত ৫২ তম বার্ষিক আইইইই সিম্পোজিয়ামে, এফওসিএস ২০১১।


7

এখানে লগ ফ্যাক্টর থাকার একটি আঁট বাঁধার আরও একটি উদাহরণ। (এটি বুলিয়ান ফাংশন কমপ্লেক্সিটি থেকে থিয়েরেম 6.17: স্ট্যাসিস জুকনার অগ্রণীতা এবং সীমান্তসমূহ))

উপাদান স্বতন্ত্রতা সমস্যার সূত্রের আকার (সম্পূর্ণ বাইনারি ভিত্তিতে বা ডি মরগান ভিত্তিতে) হ'ল , যেখানে এন ইনপুটটিতে বিটের সংখ্যা।Θ(এন2/লগএন)এন

কারণ লগ ফ্যাক্টর হর প্রদর্শিত যে প্রতিনিধিত্বমূলক হয় 1 এবং মধ্যবর্তী পূর্ণসংখ্যার বহু ( মি ) প্রয়োজন এন : = হে ( মি লগ মি ) মোট বিট, যেহেতু প্রতিটি পূর্ণসংখ্যা প্রয়োজন হে ( লগ মি ) বিট। সুতরাং একটি ঊর্ধ্ব যে পরিপ্রেক্ষিতে প্রাকৃতিক সৌন্দর্য আবদ্ধ মি , মত Θ ( মি 2 লগ মি ) রূপান্তরিত হবে Θ ( এন 2 / লগ ইন করুন এন ) যখন পরিপ্রেক্ষিতে প্রকাশমিবহু(মি)এন: =হে(মিলগমি)হে(লগমি)মিΘ(মি2লগমি)Θ(এন2/লগএন)এনএন


2

প্রাইমগুলির তালিকা ইতিমধ্যে দেওয়া হলে পরীক্ষার বিভাগ দ্বারা এন এর প্রধান উপাদানগুলি সন্ধান করা। সেখানেθ(এনলগ(এন)) এন এর চেয়ে কম প্রাইমস তাই যদি এই প্রাইমগুলি আপনাকে দেওয়া হয়, তবে তাদের প্রত্যেকের দ্বারা এন এর ট্রায়াল বিভাজন লাগে θ(এনলগ(এন)) সময় (অনুমান করা বিভাগ একটি ধ্রুবক সময় অপারেশন)


3
আসলে মোটামুটিভাবে দেখার জন্য এটি যথেষ্ট 2এন/লগএন নীচে primes এন। তবে সেখানে আরও ভাল অ্যালগরিদম আছে।
Yuval Filmus

-2

জিজির উত্তর এবং "বাক্সের বাইরে চিন্তাভাবনা" এর সাথে কিছুটা মিল, এটি সম্পর্কিত / প্রাসঙ্গিক / এপ্রোপস / মৌলিক নেতিবাচক ফলাফলের মতো বলে মনে হচ্ছে । সর্বজনীন টিএম এর সাথে তির্যক ভিত্তিতে, সেখানে একটি রয়েছেহে((এন)) ডিটিটাইম ভাষা যা চলতে পারে না হে((এন)লগ(এন))DTIME, এর কারণে সময় অনুক্রমের উপপাদ্য । সুতরাং এটি বিদ্যমান লিনিয়ার ডিটিটাইম অ্যালগরিদমের ক্ষেত্রে প্রযোজ্য,(এন)=এন, যে অসম্ভব চালিয়ে যায় হে(এনলগএন) DTIME।


2
on a TM, DTIME(n/logn) is trivial as it doesn't allow the machine to read the whole input. also, the DTIME notation makes the big-oh notation unnecessary.
সাশো নিকোলভ

?? there is still theory for sublinear time algorithms...
vzn

3
sublinear algorithms make sense in oracle & random access models. DTIME is standardly defined w.r.t. multitape TM, and that's the definition used in the hierarchy theorem for DTIME.
Sasho Nikolov

1
না, @ সাশোনিকোলভ, ডিটিআমিএম(এন/লগএন)হয় না তুচ্ছ। তুলনা "প্রথম হয়এন/এলজিএন ইনপুটটির বিটগুলি সমস্ত শূন্য? "সাথে" প্রথমটি করুন এন/এলজিএন ইনপুটটির বিটগুলি একটি সন্তোষজনক বুলিয়ান সূত্রটি এনকোড করেছে? "
জেফি

5
@JɛffE: You cannot test “Are the first n/lgn bits of the input all zeros?” in হে(এন/লগএন) একটি টিএম সময় সময়, আপনি কি জানেন না এন পুরো ইনপুটটি পড়া না করেই সময় লাগে এন। এটি একটি স্ট্যান্ডার্ড সত্য যে যদি(এন)<এনতাহলে ডিটিআমিএম((এন)) প্রথম থেকেই নির্ধারণ করা যায় এমন ভাষাগুলির সদস্যতা রয়েছে একটি ধ্রুবক জন্য ইনপুট বিট (এবং তাই ধ্রুবক সময়ে গণনাযোগ্য)।
এমিল জেবেক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.