O (n লগ এন) এ পয়েন্টের সংক্ষিপ্ততম জোড়ের দূরত্বের সন্ধান করুন?


11

নিম্নলিখিত অনুশীলনগুলি আমি পর্যবেক্ষণ করা শিক্ষার্থীদের হাতে তুলে দেওয়া হয়েছে:

বিমানে পয়েন্ট দেওয়া , একটি অ্যালগরিদম তৈরি করুন যা পয়েন্টগুলির একটি জোড়া খুঁজে পায় যা সমস্ত জোড় পয়েন্টের মধ্যে দূরত্ব সর্বনিম্ন। অ্যালগরিদমটি সময় চলতে হবে o ( n 2 )no(n2)

একটি (অপেক্ষাকৃত) সহজ বিভাজন এবং বিজয়ী অ্যালগরিদম রয়েছে যা কার্যকে সময়মতো সমাধান করে Θ(nlogn)

প্রশ্ন 1 : এমন কোনও অ্যালগরিদম রয়েছে যা প্রদত্ত সমস্যাটিকে হ'ল সবচেয়ে খারাপ সময়ে o(nlogn) ?

আমাকে কী সন্দেহ করেছিল যে এটি সম্ভব হতে পারে এমন একটি ফলাফল যা আমি মনে করি কিছু আলোচনায় দেখেছি (রেফারেন্স প্রশংসিত)। এটা যে একটি চেয়ে বেশী না ধ্রুব সংখ্যা লাইন বরাবর কিছু বিবৃত পয়েন্ট কিছু বিন্দুর চারিদিকে সমতলে ব্যবস্থা করা যেতে পারে পি ব্যাসার্ধ একটি বৃত্তের ভিতরে আর সঙ্গে, জড়িত পয়েন্ট কোন দুই মধ্যে ন্যূনতম দূরত্ব । আমার মনে হয় সি = 7 , পয়েন্টগুলি কেন্দ্রের পি (সমেত ক্ষেত্রে) এর সাথে একটি সমতুল ষড়ভুজ গঠন করে ।cNprRrc=7p

সেক্ষেত্রে, নিম্নলিখিত অ্যালগরিদমের তাদের পদক্ষেপে সমস্যাটি সমাধান করা উচিত ।n

fun mindist [] | p::[] = INFINITY
|   mindist p1::p1::[] = dist(P[0], P[1])
|   mindist p::r = let m = mindist(r) in
                     min(m, nextNeighbour(p, r, m))
                   end

নোট কারণ পয়েন্ট মাত্র একটি ধ্রুবক সংখ্যা রৈখিক সময় (বলে দাবী করেন) যে rfarer কোন দূরে চেয়ে হতে পারে mথেকে p(বিবৃতিতে উপরে অভিমানী); নতুন ন্যূনতম সন্ধানের জন্য কেবল এই পয়েন্টগুলি তদন্ত করতে হবে। অবশ্যই একটি ধরা আছে; আপনি কীভাবে বাস্তবায়ন করবেন nextNeighbour(সম্ভবত লিনিয়ার সময়ে প্রিপ্রোসেসিং দিয়ে)?

RpRmR

mmin{dist(p1,p2)p1,p2R}

এবং

Rp,m:={ppRdist(p,p)m}

ধরুন সীমাবদ্ধ। (মোড়কিত) সময় থেকে ন্যূনতম দূরত্ব সহ সম্ভব ? (আপনি অনুমান হতে পারে তদন্ত পয়েন্ট যোগ করে নির্মাণ করা একের পর এক।)Rp,mpRp,mpO(1)Rp


2
আমি কীওয়ার্ড হিসাবে "নিকটতম জোড়া" দিয়ে অনুসন্ধান করার প্রস্তাব দেব।
ইয়োশিও ওকামোটো 20'12

এটি এখনই সমস্ত স্ট্যান্ডার্ড স্টাফ, এখানে প্রথম দুটি অধ্যায় দেখুন: goo.gl/pLiEO
হার-পেলেড

পুনশ্চ. আপনি যদি প্রত্যাশিত সময় চান, তবে আপনি ডেলাউন ট্রায়াঙ্গুলেশনও গণনা করতে পারেন, যেখানে সর্বনিম্ন দূরত্ব রয়েছে।
ডোমোটরপ

প্রশ্ন 1 এর পরে আপনি লিখেছেন "পি এবং অন্য কোনও বিন্দুর মধ্যে ন্যূনতম দূরত্বের সাথে r ব্যাসার্ধের একটি বৃত্তের ভিতরে কিছু বিন্দু পি এর আশেপাশে স্থির সংখ্যার চেয়ে বেশি বিন্দু বিন্যস্ত করা যায় না।" এটি অবশ্যই সত্য নয়: আপনি ব্যাসার্ধের ব্যাসার্ধের r এর বৃত্তে যে কোনও সংখ্যা নিতে পারেন। আপনার বক্তব্যটি সত্য যদি r কোনও দুটি পয়েন্টের মধ্যে ন্যূনতম দূরত্ব হয়, সেক্ষেত্রে প্রমাণটি বেশ সহজ।
ডোমোটরপ

প্রথম প্রশ্নটি পাঠ্যপুস্তকের স্টাফ, যেমন ইতিমধ্যে ইঙ্গিত করা হয়েছে: অবশ্যই গবেষণা স্তর নয়। আমি দ্বিতীয় প্রশ্ন বুঝতে না: কোন , আপনি হয় জন্য জিজ্ঞাসা করা হয় তা বিদ্যমান নেই বা নিকটস্থ প্রতিবেশী মধ্যে । সুতরাং প্রশ্ন 1 থেকে এটি কীভাবে আলাদা? আপনি কী পরিমাণে উদ্বিগ্ন হন (উদাহরণস্বরূপ, এটি যদি কোনও ডেটা স্ট্রাকচার প্রশ্ন থাকে তবে আপডেটগুলি এবং কোয়েরিগুলি কী)? mppR
সাশো নিকোলভ 23'12

উত্তর:


12

মানক মডেলগুলিতে সময়ের চেয়ে কম সমস্যার সমাধান করা অসম্ভব , উদাহরণস্বরূপ বীজগণিত সিদ্ধান্ত গাছ ব্যবহার করে। এটি ইয়াও এবং বেন-অর কাজ থেকে প্রকাশিত হয়েছে যে দেখায় যে এই মডেলটিতে ইনপুট সংখ্যার একটি সেট সব আলাদা কিনা বা না তা সিদ্ধান্ত নেওয়া সম্ভব নয় (দেখুন http://people.bath.ac.uk/masnnv / টিচিং / এএলজি 11_8.pdf )। আপনার সমস্যার ক্ষেত্রে, কল্পনা করুন যে এগুলি সমস্তই আসল লাইনে রয়েছে। যদি দুটি পয়েন্ট একই হয়, তবে আপনার আউটপুটটি দূরত্ব শূন্যের সাথে দুটি পয়েন্ট হতে পারে, অন্যথায় না হলে আপনার সমস্যার সমাধানটিও ডিসটিন্ট নম্বর সমস্যা সমাধান করবে। আপনি আপনার সব পয়েন্ট ভিন্ন যে ঠাউর চান, তাহলে শুধু যোগ করারcnlognniϵxiDISTINCT সংখ্যা সমস্যাগুলির ইনপুটগুলি এই ক্ষেত্রে যদি আপনার আউটপুট সর্বাধিক তবে সংখ্যাগুলি সমস্ত আলাদা নয়(যদিও এই ক্ষেত্রে আপনাকে একটি প্রতিশ্রুতি সংস্করণ ব্যবহার করতে হবে যেখানে কোনও দুটি স্বতন্ত্র সংখ্যার পার্থক্য কমপক্ষে তবে আমি মনে করি যে একই প্রমাণটি আপনাকে জন্যও দরকার this কেস।)nϵ2nϵΩ(nlogn)


সত্যিই, ধন্যবাদ। যে প্রশ্ন 2 (নেতিবাচক) এরও উত্তর দেয়।
রাফেল

আপনি যে সমস্যার কথা উল্লেখ করেছেন তা আপাতদৃষ্টিতে এলিমেন্ট ডিস্টিনটনেস সমস্যা হিসাবেও পরিচিত ।
রাফেল

@ স্যারিল হার-প্লেডের রেফারেন্স ( goo.gl/pLiEO ) নিকটতম জুটির সন্ধানের জন্য একটি লিনিয়ার-টাইম অ্যালগরিদম পেশ করে । এই দস্তাবেজটি সরাসরি এই তর্কটিকে সম্বোধন করে এবং ব্যাখ্যা করে যে এটি প্রযোজ্য নয় কারণ অ্যালগরিদম আরও শক্তিশালী গণনা মডেল ব্যবহার করে।
কেভিন ক্লিন

1
হ্যাঁ, তবে বিশেষত সবচেয়ে খারাপ সময় চলার জন্য প্রশ্নটি জিজ্ঞাসা করেছিল। তবে আমি সম্মত হই যে আমার সমস্ত পর্যবেক্ষণগুলি সারিলের থিসিসে ইতিমধ্যে উপস্থিত রয়েছে।
ডোমোটরপ


0

আমি প্রশ্ন 2 যতটা বুঝতে পেরেছি, রবিনের অ্যালগোরিদম সেটির জন্যও এক ধরণের উত্তর সরবরাহ করে। প্রতিটি সময়ে পদক্ষেপে ডেটা স্ট্রাকচার হ'ল কোষের প্রস্থের সাথে একটি গ্রিড যা এখন পর্যন্ত দেখা পয়েন্টগুলির জোড়ার মধ্যে সবচেয়ে ছোট দূরত্বের চেয়ে কম, by দ্বারা বিভক্ত (যাতে কোনও কোষে একটি বিন্দুর বেশি না থাকে)। প্রশ্ন 2 ক্যোয়ারী উত্তর দেওয়ার জন্য, আপনি শুধুমাত্র মানচিত্রের প্রয়োজন এটি প্রায় কোষের একটি ধ্রুবক নম্বরে গ্রিড এবং চেহারা একটি কক্ষে। অ্যালগরিদমের বিশ্লেষণ করে, যদি ইনপুট পয়েন্ট সেটটি এলোমেলোভাবে ক্রমে পরীক্ষা করা হয়, গ্রিডের তুলনামূলকভাবে আপডেটের চেয়ে প্রত্যাশায় নতুন পয়েন্টের জন্য ।2pO(1)


বিটিডাব্লু আমি লিপটনের বর্ণনা অনুসারে অ্যালগরিদমের সংস্করণটিকে উল্লেখ করছি না, তবে এটি প্রথম মন্তব্যে বর্ণিত হয়েছে (এবং ক্লিনবার্গ এবং টার্ডোস বই)।
সাশো নিকোলভ

কেবল প্রত্যাশায়, ডমোটরপস উত্তর দেখুন।
রাফেল

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

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

@SashoNikolov আমি খুঁজছিলাম খারাপ-কেস সময় , তেমনি খারাপ-কেস 2. প্রশ্নে এই সঙ্গে খাসি অ্যালগরিদম নির্ণায়ক কি কিছুই করার আছে। আমি আশা করি না আপনি যদি প্রত্যাশিত এবং মোড়িত সময়ের মিশ্রণ করেন তবে কী হয়। ( 1 )o(nlogn) O(1)
রাফেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.