0-1 প্রোগ্রামিংয়ের জন্য সুনির্দিষ্ট এক্সফোনেনশিয়াল-সময়ের অ্যালগোরিদম


10

নীচের সমস্যার জন্য কি অ্যালগরিদম জানা আছে যা নিষ্পাপ অ্যালগরিদমকে পরাজিত করে?

ইনপুট: একটি সিস্টেম Axb এর অসাম্য রৈখিক।m

আউটপুট: যদি একটি বিদ্যমান থাকে তবে এ একটি সম্ভাব্য সমাধান one।x{0,1}n

ধরুন যে এবং পূর্ণসংখ্যার প্রবেশ রয়েছে। আমি সবচেয়ে খারাপ ক্ষেত্রে সীমাতে আগ্রহী।Ab

উত্তর:


14

যদি সুপারলাইনার হয় তবে এই জাতীয় একটি অ্যালগরিদম স্ট্রং এক্সফোনেন্সিাল টাইম হাইপোথিসিসকে অস্বীকার করবে, যেহেতু কনজেক্টিভ নরমাল ফর্মুলায় সূত্রগুলি 0-1 প্রোগ্রামিংয়ের একটি বিশেষ কেস এবং স্পারশিফিকেশন লেমমা আমাদের লিনিয়ার অনেকগুলি ধারাতে -এসএটি সিএনএফ-স্যাট হ্রাস করতে দেয় ।কেmk

যাইহোক, কারণে একটি আলগোরিদিম হয় Impagliazzo, Paturi, এবং নিজেকে যে অসাম্য ধরনের একটি সিস্টেম সমাধান করতে পারে যদি পুতুল এর নম্বর, অর্থাৎ অশূন্য কোফিসিয়েন্টস সংখ্যা রৈখিক হয়। বিশেষ করে, যদি তারের সংখ্যা সময়, অ্যালগরিদম রানে , যেখানে।সি এন 2 ( 1 - গুলি ) এন এস = 1Acn2(1s)ns=1cO(c2)


1

যদি যথেষ্ট ছোট হয় তবে আপনি নির্দোষ অ্যালগরিদমের চেয়ে 2 এন সময়ের চেয়ে ভাল করতে পারেন । এখানে "যথেষ্ট পরিমাণে ছোট" এর অর্থ হল মি / এন / এলজি এন এর মতো ছোট । চলমান সময়টি এখনও তাত্পর্যপূর্ণ হবে - উদাহরণস্বরূপ, এটি 2 n / 2 সময় হতে পারে - তবে এটি নিষ্পাপ অ্যালগরিদমের চেয়ে দ্রুত হবে।m2nmn/lgn2n/2

ঘটনাচক্রে, দেখে মনে হচ্ছে এটি এমন কিছু ক্ষেত্রে ম্যাট্রিক্স এর একটি অতি-রৈখিক সংখ্যক এন্ট্রি রয়েছে এমন ক্ষেত্রে চেয়ে দ্রুত সময়ের মধ্যে আমাদের সমস্যার সমাধান করতে দেয় । আমি জানি না যে এখানে সরবরাহ করা অন্যান্য উত্তরগুলির সাথে এটি কীভাবে বর্গক্ষেত্র হয়। ফলস্বরূপ, আপনার আমার উত্তরটি যত্ন সহকারে পরীক্ষা করা উচিত: এটি ইঙ্গিত করতে পারে যে আমি কোথাও একটি গুরুতর ভুল করেছি।2nA


মৌলিক পদ্ধতির: লেখার , যেখানে এক্স 0 প্রথম ঝুলিতে এন / 2 উপাদান এক্স এবং এক্স 1 ঝুলিতে গত এন / 2 উপাদান; এবং একইভাবে একটি = ( একটি 0 , একটি 1 ) , যেখানে একজন 0 ত্যাগ করেছে এন / 2 এর কলাম একটি এবং একটি 1 অধিকার এনx=(x0,x1)x0n/2xx1n/2A=(A0,A1)A0n/2AA1 কলাম। এখন একটি এক্স বি ফর্মটিতে আবার লেখা যেতে পারেn/2Axb

A0x0+A1x1b,

বা সমতুল্য,

A0x0bA1x1.

A 0 x 0 এর জন্য সমস্ত সম্ভাবনা গণনা করুন এবং এসকে সম্ভাব্য মানগুলির সেটটি বোঝাতে দিন , অর্থাৎ,2n/2A0x0S

S={A0x0:x0{0,1}n/2}.

একইভাবে, - 1 x 1 এর জন্য সমস্ত 2 এন / 2 সম্ভাবনার সেট গণনা করুন ,T2n/2bA1x1

T={bA1x1:x1{0,1}n/2}.

এখন সমস্যা হয়ে যায়

প্রদত্ত সেটের আকারের 2 এন / 2 , সেখানে বিদ্যমান গুলি এস এবং T টি যেমন যে গুলি টি ?S,TZm2n/2sStTst

(এখানে , pointwise নেওয়া হয় অর্থাত, আমাদের প্রয়োজন যে গুলি আমিt আমি সবার জন্য আমি ।)sitii

দ্বিতীয় সমস্যাটি সিএস.স্ট্যাকএক্সচেঞ্জে আলোচনা করা হয়েছে এবং এটির জন্য স্পষ্টতই একটি অ্যালগরিদম রয়েছে যা সময় । যদি মি যথেষ্ট পরিমাণে ছোট হয় (বলুন, এন / এলজি এন এর চেয়ে ছোট ), তবে এটি অনুসরণ করে যে মোট চলমান সময়টি পছন্দসই হিসাবে 2 এন এর কম হবে ।O(2n/2(n/2)m1)mn/lgn2n


এই ফলাফলটিকে আরও প্রশংসনীয় করে তুলতে সহায়তার জন্য, এখানে কিছু খুব অশোধিত স্বজ্ঞাততা দেওয়া হয়েছে। যদি আমরা চূড়ান্ত কেসটি গ্রহণ করি যেখানে , অবশ্যই এটি দ্রুত সমাধান করা যেতে পারে। (বাস্তবে এমন কোনো বিশেষ মামলায় অনেক বেশী সাদাসিধে অ্যালগরিদম যেখানে মি = 1 : দিন এক্স আমি = 1 যদি একটি 1 , আমি0 , অন্যথায় x আমি = 0 এখন কেউ যদি সম্ভবপর সমাধান বিদ্যমান, তাহলে এই এক্স । এক হতে হবে)m=1m=1xi=1A1,i0xi=0x


1
আমার উত্তর থেকে অ্যালগরিদম একই পদ্ধতি ব্যবহার করে আপনার উত্তরে বর্ণিত ভেক্টর সমস্যা হ্রাস করে, অর্থাত্ ভেরিয়েবলগুলি বিভক্ত করুন এবং তাদের সমস্ত কার্য তালিকাবদ্ধ করুন।
স্টিফান স্নাইডার

2
সাধারণ পূর্ণসংখ্যা প্রোগ্রামিং সমস্যার জন্য অ্যালগরিদম রয়েছে যার চলমান সময়টিতে মাত্রার উপর নির্ভরতা, এবং সমস্ত কিছুর উপর বহুপদী নির্ভরতা রয়েছে। Dl.acm.org/citation.cfm?id=380857 দেখুন । 2O(m)
সাশো নিকোলভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.