অন্য কোন অ্যালগরিদম যার সর্বাধিকতম চলমান সময়টি তাত্পর্যপূর্ণ হয় ইতোমধ্যে এটি সিম্প্লেক্স অ্যালগরিদম ব্যতীত অনুশীলনে খুব ভালভাবে কাজ করে?


9

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

সিম্প্লেক্স অ্যালগরিদম ব্যতীত এই পরিস্থিতিটির জন্য কি (ডিটারমিনিস্টিক) উদাহরণ রয়েছে?


1
আপনি কোনও সম্পর্কিত প্রশ্নে আগ্রহী হতে পারেন: cstheory.stackexchange.com/questions/305/…
রাদু গ্রেগোর

উত্তর:


13

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


13

ক্লাস্টারিং জন্য -means অ্যালগরিদম provably এমনকি সমতলে সূচকীয়, কিন্তু এটি বাস্তবে খুব ভাল কাজ করে।k


13

হিন্ডি-মিলনার ধরণের অনুমিতি এক্সপটাইম-সম্পূর্ণ, তবে প্রোগ্রামগুলিতে লোকেরা সাধারণত লিখেন এটি রৈখিকের খুব কাছে।


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

2
না, এটি একটি প্রয়োজনীয় শর্ত নয়। আপনি লেট-বাইন্ডিংয়ের একটি সিকোয়েন্স দিতে পারেন (কোনও বাসা ছাড়াই!) যেমন এটি অনুক্রমের প্রতিটি অতিরিক্ত প্রবেশের সাথে অনুমিত টাইপের আকারকে বর্গাকার করে। উদাহরণস্বরূপ cstheory.stackexchange.com/questions/2428/… দেখুন ।
নীল কৃষ্ণস্বামী

উদাহরণস্বরূপ SML মধ্যে, এবং আমি জিনিসগুলি OCaml পথ সঙ্গে আরো পরিচিত নই, কিন্তু যদি বাইন্ডিং যে ক্রম ছিল s "এর দিন", তারপরে আমি মনে করি তারা হবে নেস্টেড হবে না। এটি কেবলমাত্র বৈশ্বিক ফাংশনগুলির সংজ্ঞা দেয় যেগুলি সেগুলি নয় তবে এখানে একটি অন্তর্নিহিত বাসা বাঁধছে: প্রদত্ত সংজ্ঞাটির উপরে থাকা সমস্ত সংজ্ঞা আছে এবং নীচেরগুলির কোনওটিরই অ্যাক্সেস রয়েছে।
amnn

1
@ এমএনএন: উল্লেখ করা বাসা বাঁধাই ছিল বাসা বাঁধতে - যেমন, এর let z = (let y = e in e') in e''চেয়ে বিপরীতে let y = e in let z = e' in e''
নীল কৃষ্ণস্বামী

9

ব্রেন্ডন ম্যাককে এর nauty (কোন AUTomorphisms, তাই না?) প্রোগ্রাম সমাধান গ্রাফ (একযোগে গ্রাফ Isomorphism এবং গ্রাফ Automorphism সমস্যা সমাধানে) প্রামাণ্য লেবেল সমস্যা ও রয়েছে সূচকীয় খারাপ-কেস কর্মক্ষমতা (আইনজীবীরা Miyazaki, 1996)। তবে এটি বেশিরভাগ গ্রাফের জন্য খুব দ্রুত কাজ করে, বিশেষত যারা কয়েকটি অটোমোরফিজম সহ।

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


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

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

1
এই প্রান্তিক-আক্রমণকারীকে সিমপ্লেক্স অ্যালগরিদমের অ্যান্টি-সাইক্লিং নিয়মের সাথে তুলনা করা যেতে পারে।
ডেরিক স্টোলি

4

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


1

মিশ্র ন্যাশ ভারসাম্য খুঁজে পাওয়ার জন্য একটি অ্যালগরিদম রয়েছে যা এলপিজির জন্য সিম্পলেক্স অ্যালগরিদমের সাথে সমান। (আমি নামটি ভুলে গেছি) এটির নিকৃষ্টতম জটিলতম জটিলতা রয়েছে তবে আমার একটি অস্পষ্ট স্মৃতি রয়েছে যা প্রায়শই এটি অনুশীলনে ভাল আচরণ করে।


আপনি কি লেমকে-হাওসন অ্যালগরিদম বলতে চান?
রাহুল সাভানী

1

বিন প্যাকিং (অনেকগুলি রূপ) একটি সমস্যা যার জটিলতা এনপি-হার্ড হিসাবে পরিচিত:

http://en.wikipedia.org/wiki/Bin_packing_problem

যাইহোক, "বাস্তব" সংস্করণে প্রয়োগ করার সময় অনেকগুলি হিউরিস্টিক্স খুব ভাল করে। প্রথম-ফিটের মতো 1 টি-মাত্রিক বিন এর মধ্যে কিছু হিউরিস্টিক প্যাকিংয়ের জন্য; প্রথম ফিট হ্রাস; শ্রেষ্ঠ মিল; সেরা-ফিট হ্রাস ছাত্রদের দেখানোর বিষয় হিসাবে খুব আবেদনময়ী। শিক্ষার্থীরা প্রায়শই নিজের জন্য কিছু প্রাথমিক তাত্পর্য আবিষ্কার করতে পারে।


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

0

অধ্যবসায়ী অ্যালগরিদম (যেহেতু এডেলস ব্রুনার-লেটচার-জোমোরোডিয়ান থেকে উত্সাহিত হয়েছে, যেহেতু প্রচুর পরিমাণে তারতম্য রয়েছে) সবচেয়ে খারাপ ক্ষেত্রে ঘনক্ষেত্র, তবে পরীক্ষার মাধ্যমে সাধারণত রৈখিক সময়ে চালানো হয় বলে মনে হয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.