ক্রিয়াকলাপ গণনা করা হচ্ছে যার উপাদানগুলি ঠিক তাদের সূচক ± এম নয়


13

আমাকে সম্প্রতি একটি অ্যালগরিদমিক সাক্ষাত্কারে এই সমস্যাটি জিজ্ঞাসা করা হয়েছিল এবং এটি সমাধান করতে ব্যর্থ হয়েছিল।

দুটি মান N এবং M দেওয়া, আপনাকে দৈর্ঘ্যের N এর অনুমানের সংখ্যাটি গণনা করতে হবে (1 থেকে N পর্যন্ত সংখ্যা ব্যবহার করে) যেমন অনুমানের যে কোনও সংখ্যার এবং পরমাণায় এর অবস্থানের মধ্যে পরম পার্থক্য এম এর সমান হয় না

উদাহরণ - যদি এন = 3 এবং এম = 1 হয় তবে 1 2 3 এবং 3 2 1 টি বৈধ অনুমতি আছে তবে 1 3 2 অবৈধ কারণ 3 নম্বর পজিশনে রয়েছে এবং তাদের পার্থক্য = এম।

আমি এনএক্সএম ডায়নামিক প্রোগ্রামিং চেষ্টা করেছিলাম তবে পুনরাবৃত্তি গণনা করে না এমন পুনরাবৃত্তি তৈরি করতে ব্যর্থ হয়েছি।


আপনি সম্ভবত অন্তর্ভুক্তি-বর্জন ব্যবহার করে একটি সূত্র পেতে পারেন। কেস হয় classically হিসাবে পরিচিত হয় derangements হয়M=0
যুবাল ফিল্মাস

1
এটি দ্বিপক্ষীয় গ্রাফগুলিতে নিখুঁত মিলগুলি গণনা করার একটি বিশেষ উদাহরণ, যা কমপ্লিট problem অবশ্যই, এই বিশেষ ক্ষেত্রে আরও সহজ হতে পারে। #P
যুবাল ফিল্মাস

আমি ইতিমধ্যে অন্তর্ভুক্তি-বাদ দেওয়ার চেষ্টা করেছি তবে কোনও অগ্রগতি হয়নি made
জেনা

আপনি ডিজেনমেন্টগুলি গণনা করার পদ্ধতিগুলি মানিয়ে নেওয়ার চেষ্টা করতে পারেন । এটি আপনাকে কোথাও নিয়ে যাবে কিনা জানি না। আপনি ব্রুট ফোর্স দ্বারা এন (এন = 1,2,3,4,5,6,7,8) এর ছোট মানগুলির জন্য সংখ্যায়ন এবং তারপরে যথাযথ ক্রমটি অনুসন্ধান করার জন্য এম = 1 (বলুন) ঠিক করার চেষ্টাও করতে পারেন মধ্যে OEIS আশা আপনি কিছু দরকারী এটি যে।
DW

আপনি যে পুনরাবৃত্তি সেট আপ করেছেন? "গণনা পুনরাবৃত্তি" বলতে কী বোঝ?
রাফায়েল

উত্তর:


2

এই প্রশ্নটি দেওয়া হলে আমি প্রথমে জিজ্ঞাসা করব

আপনি কি বহু বহু সময়ের আলগোরিদিম চান?

এবং তারপরে আমি আশা করব উত্তরটি 'না'। আমি সন্দেহ করি যে নিম্নলিখিত সমস্যাগুলির জন্য এই সমস্যাটি এনপি-হার্ড:

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

জন্য , এই যেমন আমরা এখন থাকতে পারে, ফলে সহজ নয়, 2 কিছু সংখ্যার জন্য অবৈধ অবস্থান। এগুলির মধ্যে কোন পদটি সাব-প্রবলেমে রয়ে গেছে তা এখন সাব-প্রবলেমের সমাধানের সাথে প্রাসঙ্গিক। কেবল 'অবৈধ' পজিশনের সংখ্যা বিবেচনা করেই যথেষ্ট নয়, কারণ যে অবৈধ পজিশনের সংখ্যার 'চেইন' রয়েছে সেই সাবপ্রব্লেমের সাবপ্রব্লেমগুলির কাঠামো নির্ধারণ করার জন্য প্রয়োজনীয়। সুতরাং, এই পদ্ধতির মূলত নিম্নলিখিত সাবপ্রব্লেম বাড়ে:M>02

একটি সেট , একটি সেট বি এন উভয় আকারের সর্বাধিক এন এবং একটি প্রাকৃতিক নম্বর এম দেওয়া হয়েছে , দ্বিদলীয় গ্রাফের ( , বি , ) , যেখানে ( , ) ইতে নিখুঁত মিলগুলির সংখ্যা গণনা করুন যদি এবং শুধুমাত্র যদি | a - b | এমANBNNM(A,B,E)(a,b)E|ab|M

এই সমস্যাটি কঠিন দেখাচ্ছে। এই সমস্যাটির একমাত্র পন্থাটি আমি দেখছি অন্তর্ভুক্তি / বর্জন, যা বহু-কালীন অ্যালগোরিদমকে নেতৃত্ব দেয় না।

আমরা এমন পদ্ধতির বিষয়ে বিবেচনা করতে পারি যা সংখ্যার পুনরাবৃত্ত স্থানের উপর নির্ভর করে না তবে আপনি কীভাবে এটি করবেন তা আমার কোনও ধারণা নেই। (বিশেষত একটি সাক্ষাত্কারের সময়!)

অবশ্যই, এই সমস্ত নিছক জল্পনা এবং এটি এখনও সম্ভব যে একটি চতুর কৌশলটি একটি বহুপদী সময় সমাধান দিতে পারে, তবে আমি আশা করি যে আমি দৃ conv় যুক্তি দিয়েছি যে এই কৌশলটি অবশ্যই খুব চালাক হতে হবে।

সম্ভবত এই সমস্যাটিকে # 2-স্যাট (সংখ্যার 'চেইন' অবৈধ অবস্থানে ভাগ করে নেওয়ার ক্ষেত্রে একটি তুচ্ছ পছন্দ বলে মনে হচ্ছে যা সত্য-মান নির্বাচনের সাথে মিলে যায়) তবে এনপি-কঠোরতা দেখানো সম্ভব, তবে আমি এখন পর্যন্ত এটি করার কোনও সুস্পষ্ট উপায় দেখিনি।


যদি সাক্ষাত্কার গ্রহণকারী একটি ক্ষতিকারক সময়ের অ্যালগরিদমের সাথে সন্তুষ্ট হয় তবে আমি বিশেষভাবে এই বিশেষ কেসকে বাদ দেওয়ার জন্য কোনও পুনরাবৃত্ত ব্যাকট্রাকিং অ্যালগরিদমকে অভিযোজিত করে সমস্ত সম্ভাব্য সমাধানগুলি উত্পন্ন করতে পারি।


আমি বলেছিলাম যে আমি একটি ক্ষতিকারক-সময়ের অ্যালগরিদম দিতে পারি, তবে একটি বহুবচনীয় সময় সমাধানের জন্য জিজ্ঞাসা করা হয়েছিল যা এন = <= 1000 হয় তখন কার্যকর হয়
জেনা

1
ঠিক আছে, যদি না আপনি পিপেনগুইনের উত্তর হিসাবে পরামর্শটি ভুলভাবে স্মরণ করে / ভুল ব্যাখ্যা করেন না, আমি মনে করি যে এই প্রশ্নটি হয় খুব দাবিদার ইন্টারভিউয়ার, ইন্টারভিউয়াররা যারা নিজেরাই প্রশ্নটিকে ভুল বুঝেছিলেন বা এমনকী একটি প্রশ্ন হিসাবে জিজ্ঞাসা করেছেন যা তারা কারও সমাধানের প্রত্যাশা করে না । এমনকি যদি এই প্রশ্নটি কম্পিউটেশনালি শক্ত না হয় তবে এটি সম্ভবত সাক্ষাত্কারের পক্ষেও কঠিন।
বিচ্ছিন্ন টিকটিকি

দেখা যাচ্ছে যে এম = 1 সম্ভবত করণীয় (এবং তাই সম্ভবত অন্যরা), তাই এখানে আমাদের কিছু মিস হয়েছে। আপনি কি আমাকে এম = 1 কেসটি বুঝতে / মূল্যায়ন করতে সহায়তা করতে পারেন? আমি এর জন্য একটি পৃথক প্রশ্ন করলাম cs.stackexchange.com/questions/74674/…
পিপেনগুইন

2

আপনি কি সুনির্দিষ্ট বিবরণ ভুল বলে মনে করেছেন বা প্রশ্নের ভুল ব্যাখ্যা করেছেন?

আপনার বর্ণনার মধ্যে উপাদান অবস্থানে অবধি সীমিত থাকবে একটি - বো ± এম । তবে যদি তারা কেবল বোঝায় যে পার্থক্যটি সীমাবদ্ধ ছিল: a - b M , তারপরে সমস্যাটি ট্র্যাকটেবল হিসাবে উপস্থিত হয়।abab±M
abM


আমি সেই সহজ সমস্যাটি সমাধান করেছি এবং আমি এমনভাবে সাধারণকরণের চেষ্টা করেছি যাতে আমি আশা করি যে বৃহত্তর সমস্যাটি সমাধানে কিছুটা স্বাধীনতা পেতে পারে। তবে এটি কেবল আমার জন্য স্পষ্ট করে দিয়েছিল যে কেন পুনরাবৃত্তির পদ্ধতির কাজ করার খুব সম্ভাবনা নেই, যা আমি শেষে আলোচনা করি।

বিবেচনা করুন ফাংশন যা লেবেল 1 উপাদানের একটি তালিকা এর একাধিক বিন্যাসন দেয় এন , যেখানে উপাদান একটি অবস্থানে সন্তুষ্ট (প্রথম স্থান 1) একটি - বো এম , আর - একটি পিf(N,M,P)NababMbaP

এটি কল্পনা করতে, এটিকে দুটি সীমাবদ্ধতায় পৃথক করে এবং পি কে এই বিধিনিষেধগুলি পৃথকভাবে স্থানান্তর করতে দেয় ।MP

1 2 3 4 5  M=0, restricted values for each position
. . . . .  (positions in list)
1 2 3 4 5  P=0, restricted values for each position

3 4 5      M=2, restricted values for each position
. . . . .  (positions in list)
  1 2 3 4  P=1, restricted values for each position

PNg(N,M)=f(N,M,P)g(N,P)=f(N,M,P)MN

M=P=0MPfg

f(N,0,0)=g(N,0).

f(N,M,P)=f(N,P,M)

g(N,M)f(N,M,P)

M=0ijN1j

j(N2)j

  1. ig(N2,0)

  2. ijg(N1,0)

g(N,0)=(N1)[g(N2,0)+g(N1,0)]

g(1,0)=0,  g(2,0)=1

এটি হ'ল স্বাভাবিক ডিরেঞ্জমেন্ট পুনরাবৃত্তির সূত্র।

যদিও আমি কল্পনা করতে পারি না যে কেউ কেউ ঘটনাস্থলে এসেছেন, তবে এটির জন্য এটির একটি বন্ধ ফর্ম সমাধান রয়েছে ( বিশদগুলির জন্য ড্রেঞ্জেন্ট উইকি নিবন্ধটি দেখুন)।

g(N,0)=n!e+12

MN

(MN)g(N,M)=N!

0<M<NMM

i

  1. i<Miig(N1,M1)

  2. i>=Miig(N1,M)

(0<M<N)g(N,M)=(M1)g(N1,M1)+(NM+1)g(N1,M)

g

M+PNNMNPM+PNg(N,M+PN)

(M+P)Nf(N,M,P)=g(N,M+PN)

0<M<N0<P<NM+P<Nf0<MP<N

PNMPM

MNMPP

তবে আমাদের এখানেই শেষ করা উচিত। যেহেতু এই পদ্ধতিটি নিয়ে এগিয়ে যাওয়ার কোনও উপায় নেই।


ab±M

f(N,M,P)

2NN{A1,A2,...,AN}{B1,B2,...,BN}(Ai,Bj)ij=M(Bj,Ai)ji=MM0

AB

সুতরাং আমরা এমন একটি ফাংশন চাই যা এই সীমাবদ্ধ গ্রাফটিকে ইনপুট হিসাবে নেয় এবং সীমাবদ্ধতাগুলি পূরণ করে এমন ক্রম সংখ্যার আউটপুট দেয়।

M+PN

0<MP<NNN!

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

আমি মনে করি সম্ভবত, প্রশ্নটির ভুল ব্যাখ্যা ছিল। সম্ভবত সাক্ষাত্কারকারীর দ্বারাও (যারা উত্তরগুলির বিবরণটি নিজেরাই ভুলে যেতে পারেন)।


আপনার সীমাবদ্ধতার গ্রাফটি কেন পরিচালিত? দিকনির্দেশ মানে কি?
বিচ্ছিন্ন টিকটিকি

@ ডিসক্রিটেলাইজার্ড দুটি দিক (a-> খ বনাম বি-> ক) সীমাবদ্ধতা ('+' বা '-' বাধাটির '-' সংস্করণ) থেকে এসেছে between এটি আসলে প্রয়োজন হয় না, কারণ এটি সীমাবদ্ধতার উত্সটি বিবেচনা করে না, যা ঘটছে তা কল্পনা করা আমার পক্ষে সহজ করে তুলেছে।
পিপেনগুইন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.