একটি ছোট অচেনা বহুভুজ দ্বারা বিভক্ত হয়ে গেলে একটি বৃহত স্থির বহুবর্ষের বাকী অংশটি সন্ধান করুন


9

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

"প্রাথমিক পর্যায়ে" শেষে, আমাদের একটি ছোট অজানা বহুবর্ষীয় q (x) দেওয়া হবে (এর থেকে, ডিগ্রি 5 বা তারও কম)।

"প্রাথমিক পর্যায়ে" আমাদের কিছু জটিল গণনা করার অনুমতি দেওয়া আছে কি পি (এক্স) মোড কিউ (এক্স) গণনা করার একটি দ্রুত উপায় আছে? একটি সুস্পষ্ট উপায় হল q (x) এর সমস্ত সম্ভাব্য মানের জন্য পি (এক্স) মোড কিউ (এক্স) গণনা করা। এই কাজ করতে একটি ভাল উপায় আছে কি?

উত্তর:


3

অন্তর্নিহিত ক্ষেত্রের খুব ছোট ক্রম থাকলে নিম্নলিখিত অ্যালগরিদমগুলি ভাল কাজ করে s

ধরুন আমরা জানি q নির্ধারিত, একটি নির্দিষ্ট ডিগ্রির d। তারপরে, মোডq, আমরা জানি xsd=xঝুলিতে। অতএব এটি প্রাক-গণনা পক্ষে যথেষ্ট ।p(x)modxsdx

সাধারণভাবে, বহুপদী এর একটি পণ্যতে পচন হতে পারে । এই ক্ষেত্রে, একটি অনুরূপ যুক্তি কম্পিউটিং ক্ষেত্রে প্রযোজ্য মডিউল প্রতিটি আলাদাভাবে, এবং তারপর ফলাফল একসঙ্গে এগুলোকে। সুতরাং আমাদের সত্যিকারের প্রতিটি জন্য গণনা করা দরকার ।q(x)q=q1qrpq1,,qrp(x)modxsdxdd


2

আমি মনে করি এটি করার একটি দুর্দান্ত দ্রুত উপায় আছে। এখনো অজানা বহুপদী এর কোফিসিয়েন্টস যাক হতে , তাই যেখানে কিছু ছোট সংখ্যা। এখন আসুন গণনা শুরু করি যেখানে , যেখানে বড় এবং পরিচিত known এই আমরা যেমন equalities, ব্যবহার ডিগ্রী কমিয়ে না । অবশেষে আমরা যা পাই তা হ'ল একটি ডিগ্রি বহুপদী, যার এর বহুবচন (যেহেতুqbiq=i=0dbixidp(modq)p=i=0DaixiDaiaDxD=aDbdi=1d1bdixDi<d1biaiপরিচিত). এই বহুবচনগুলি আমরা পেয়ে গেলে দ্রুত গণনা করতে পারি ।q


-1

নীচে এই পোস্ট সম্পর্কে দুর্দান্ত মন্তব্য দেখুন। :)


প্রাক-প্রক্রিয়াকরণ; ইনপুট: p(x)

  1. হিসাবে ফ্যাক্টর ।p(x)p(x)=i=01000(xiri)

  2. যেমন একটি টেবিল এই দোকান স্বতন্ত্র শিকড় এবং তাদের নিজ নিজ multiplicities ।Trjmj

অনলাইন পর্ব; ইনপুট: q(x)

  1. ফ্যাক্টর হিসাবেq(x)q(x)=i=05(xiri)

  2. এটি একটি তালিকা হিসাবে সংরক্ষণ করুন L স্বতন্ত্র শিকড় rj এবং তাদের নিজ নিজ সংখ্যাবৃদ্ধি mj

  3. যদিও L খালি নয়, এর থেকে পরবর্তী মূল / গুণকে সরিয়ে দিন L এবং যে কোনও শর্তাদি T

  4. বন্ধ পড়া p(x)modq(x)পরিবর্তিত টেবিল এবং আউটপুট থেকে।T


অন্যান্য বক্তব্য:

  • স্পষ্টতই আপনি টেবিল বাছাই করতে চান এবং বাইনারি অনুসন্ধান (বা একটি গাছ) দিয়ে এটি অ্যাক্সেস করতে চান ।T
  • (এলইটি ডিগ্রী হতে ।) আপনি আউটপুট চান সহগ উপস্থাপনা করা, আপনি শুধু শেষ পেতে এ FFTs একটি গুচ্ছ কি করতে পারেন সময়।dp(x)p(x)modq(x)O~(d)
  • আপনি কীভাবে এটি আনুষ্ঠানিক করবেন তার উপর নির্ভর করে আপনি সম্ভবত আগে (গতিশীল প্রোগ্রামিং শৈলী) শর্তাদি পুনঃবিবেচনা করতেন এমন বিভিন্ন উপায়ে প্রচুর প্রাক-গণনা করতে পারেন , যাতে বেশিরভাগ (বা সমস্ত) গুণগুলি কেবল চেহারা অবলম্বন করে। প্রভাবশালী ব্যয়টি হ'ল লুক-আপের সংখ্যা বা মোটামুটি । যদি , এটি কেবল হাতে গোনা কয়েকটি কংক্রিট, পাটিগণিত ক্রিয়াকলাপ।TO(logd)d=1000

2
আপনি কোন ক্ষেত্রের মধ্যে পি ফ্যাক্টর করছেন? মূল ক্ষেত্রের ক্ষেত্রে এই উপস্থাপনাটি আপনি কতটা বড় আশা করবেন? এবং আপনি যখন পরিবর্তিত টেবিল এবং আউটপুট থেকে পড়তে বলেন, আপনার অর্থ কী?
ডেভিড এপস্টিন

2
এটি কেবল তখনই কাজ করবে যদি আপনি এমন কোনও ক্ষেত্রের উপর অপারেটিং করছেন যেখানে এবং উভয়ই বিভক্ত হয়। তবে এটি উপর নির্ভরশীল বলে মনে হচ্ছে ; বিশেষত, আপনি একা জন্য শিকড়গুলি প্রতিরোধ করতে পারবেন না । তদুপরি, এত বড় ক্ষেত্রের জন্য এর মূলগুলি গণনা করতে সময় লাগবে (কমপক্ষে); এটি নিষ্পাপ অ্যালগরিদমের চেয়ে ভাল আর কিছু নয়। pqqpq|p|
ডেভিড হ্যারিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.