রৈখিক গুণ, সংযোজন এবং তুলনা (সংখ্যায়) আমরা কত কাছে যেতে পারি?


21

থেকে Accoring কিলোওয়াট Regan এর নিবন্ধ "কানেক্ট তারা" তিনি শেষ যে এটি এখনও একটি খোলা সমস্যা যেমন যে উপরন্তু, গুণ, এবং comparision অপারেশন রৈখিক সময় গণনীয় হয় পূর্ণসংখ্যার একটি উপস্থাপনা এটি এ উল্লেখ:

পূর্ণসংখ্যার একটি প্রতিনিধিত্ব আছে কি তাই যোগ, গুণ এবং তুলনা সব লিনিয়ার সময়ে করণীয়? মূলত, একটি লিনিয়ার সময় স্বতন্ত্র অর্ডার রিং আছে?

(1) তুলনা ছাড়াই আমরা লিনিয়ার সময় গুণ এবং সংযোজনের আরও কত কাছে আসতে পারি? এখানে আমি ধরে নিয়েছি যে সমস্যার আকারগুলি পৃথক হতে পারে, যাতে আমাদের একটি ডেটা স্ট্রাকচার / অ্যালগরিদম প্রয়োজন হতে পারে যা পূর্ণসংখ্যার আকার পরিবর্তন করার অনুমতি দেয়।

(২) সম্পূর্ণ সমস্যার জন্য, আমরা ধরে নিতে পারি যে আমরা সংখ্যাগুলি গুণ, সংযোজন এবং সংখ্যার তুলনা করার জন্য একটি সর্বোত্তম স্কিম পাব। রৈখিক সময়ের দিকে আমরা এই তিনটি অপারেশনের (সবচেয়ে খারাপ ক্ষেত্রে) সবচেয়ে ধীরতম কতটা পেতে পারি? এবং এই নোটে, অন্যান্য অপারেশনগুলি কত দ্রুত হবে?

ফর্মাল সমস্যা বিবরণী

এমিল জ্যাবেক যেমন উল্লেখ করেছেন, আমরা তুচ্ছ মামলার রায় বাতিল করতে চাই এবং এই প্রশ্নের জন্য সবচেয়ে খারাপ ক্ষেত্রে আচরণে মনোনিবেশ করতে চাই।

সুতরাং আমরা জিজ্ঞেস করি, অ নেতিবাচক পূর্ণসংখ্যার জন্য এবং Y যেখানে এবং , আমরা একটি ডাটা স্ট্রাকচার / অ্যালগরিদম যে সংযোজন গুণ সম্পাদন করতে পারবেন জানতে পারেন, এবং তুলনা \ মধ্যে এবং মধ্যে সময় এবং স্থান?xy0x<n0y<nxyO(nlog(n))O(log2(n))


1
আমি উল্লেখ করব যে একটি স্কিম তৈরি করা সম্ভব যা এই অপারেশনগুলিকে সময়মত সম্পাদন করে non অ-নেতিবাচক পূর্ণসংখ্যার উপর, যেখানে হ'ল বৃহত্তম সংখ্যার বিটসাইজ (ধরে নিলাম আমরা সময়ের আগে জানি )। আমি যদি আমরা আরও ভাল করতে পারি, এবং বর্তমান সংখ্যার গণনা করার সাথে সমানুপাতিকভাবে এটি করতে পারি তা অবাক করি। এন এনΘ(n)nn
ম্যাট গ্রফ

5
@ টাইসন উইলিয়ামস: হ্যাঁ! বাইনারি!
জেফি

2
এই সমস্ত ক্রিয়াকলাপের জন্য রৈখিক সময় পাওয়ার পরিবর্তে, কোনও পূর্ণসংখ্যার প্রতিনিধিত্ব রয়েছে যাতে এই সমস্ত ক্রিয়াকলাপের সময় ? O(nlogn)
এমিল জেবেক

4
প্রকৃতপক্ষে, একটি তুচ্ছ ইতিবাচক উত্তর রয়েছে: বাইনারিগুলিতে বিট প্যাডিং সহ পূর্ণসংখ্যার প্রতিনিধিত্ব করুন । বাইনারি উপস্থাপনের দৈর্ঘ্যের মধ্যে উপস্থাপনের দৈর্ঘ্য রৈখিক হওয়া উচিত বলে বিবৃতিতে কিছু শর্ত অন্তর্ভুক্ত করা উচিত নয়? n2
এমিল জেবেক

5
@ এমিলজেবেক: আমি ধরে নিয়েছি যে কোনও ফাংশনের জন্য ব্যবহার করার জন্য তিনি কোনও পূর্ণসংখ্যার এর প্রতিনিধিত্ব চান বিট ব্যবহার করতেf ( n ) f ( n ) = Θ ( লগ এন )nf(n)f(n)=Θ(logn)
জেফি

উত্তর:


14

সম্ভবত সেরা উত্তর নয়, তবে সম্ভবত এটি একটি কার্যকর প্রারম্ভিক পয়েন্ট। যদি আমরা একটি অ-নেতিবাচক পূর্ণসংখ্যার প্রতিনিধিত্ব করতে চাই, আমরা এটি 2 থেকে শুরু করে মডিউল সিক্যুয়াল প্রাথমিক সংখ্যাগুলির সেট হিসাবে সংরক্ষণ করতে পারি this এই ফর্মের তুলনাটি সম্ভবত শক্ত, তবে গুণ এবং সংযোজন খুব দ্রুত করা যায়। প্রথম গুণফল মৌলিক হয় আনুমানিক দ্বারা পি এন # = Exp ( ( 1 + + ( 1 ) ) এন লগ ইন করুন এন ) সুতরাং পূর্ণসংখ্যার এন প্রতিনিধিত্ব করতে আপনার প্রথম এন প্রাইমগুলির অবশিষ্টাংশের প্রয়োজন হবে যেখানেn

pn#=exp((1+o(1))nlogn).
Nn । যেহেতু আমরাপ্রথম এন প্রধান অবশিষ্টাংশগুলিমডুলোর মাধ্যমেকোনও এন < পি এন # প্রতিনিধিত্ব করতে পারি, আমরা এন লগ এন লগ ( এন ) নিতে পারি । সংযোজন এবং গুণটি সরাসরি অবশিষ্টাংশের জোড়ার মধ্যে করা যায়। এর মধ্যে এন এর মতো জোড়া রয়েছে যার সর্বাধিক প্রাইম n লগ ( এন ) এর আশেপাশে থাকে। এইভাবে সংযোজন হওয়া উচিতN<exp((1+o(1))nlogn)N<pn#nnlognlog(N)nnlog(n) , যখন সোনহেজ-স্ট্র্যাসেনের মাধ্যমে গুণনটি( এন লগ লগ ( এন ) লগ লগ লগ লগ ( এন ) লগ লগ লগ ( এন ) ) হওয়া উচিত । যেহেতু এন লগ ইন করুন এন α লগ ইন করুন এন , তারপর একটা মোটামুটি পড়তা দেয় এন মধ্যে হে ( লগ ইন করুন এন / লগ ইন করুন লগ ইন এন )O(nloglog(N))O(nloglog(N)loglogloglog(N)logloglog(N))nlognlogNnO(logN/loglogN)। এই যেমন প্রায় উপরন্তু জটিলতা এবং গুণ দিতে হবে এবং হে ( লগ ইন করুন এন লগ লগ লগ এন লগ লগ লগ লগ এন )O(logN)O(logNlogloglogNloglogloglogN)


1
@ ভিজেএন: হ্যাঁ, আমি তুলনা করার জন্য এটি উল্লেখ করতে যাচ্ছিলাম, কিন্তু তারপরে এটি আমার কাছে ঘটেছিল যে মিশ্র র‌্যাডিক্সের উপস্থাপনের মাধ্যমে আরও দ্রুত তুলনার কাজ হতে পারে।
জো ফিটজসিমনস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.