বেঞ্চমার্ক সেটআপ
জুলিয়া সফ্টওয়্যার ডিফারেনটিয়ালএকুয়েশনস.জেএল-এ আমরা ফেইগিন পদ্ধতিগুলি সহ প্রচুর উচ্চতর অর্ডার পদ্ধতি প্রয়োগ করেছি। আপনি আমাদের পদ্ধতির তালিকায় এটি দেখতে পারেন এবং তারপরে এমন আরও অনেকগুলি রয়েছে যা আপনি সরবরাহকৃত টেবিল হিসাবে ব্যবহার করতে পারেন । যেহেতু এই সমস্ত পদ্ধতি একসাথে রাখা হয়েছে, আপনি সহজেই তাদের মধ্যে বেনমার্ক করতে পারেন। আমার কাছে অনলাইনে থাকা বেনমার্কগুলি আপনি এখানে দেখতে পাচ্ছেন এবং দেখতে পাচ্ছেন যে অনেকগুলি ভিন্ন ভিন্ন অ্যালগরিদমকে বেনমার্ক করা খুব সহজ very সুতরাং যদি আপনি বেঞ্চমার্কগুলি চালাতে কয়েক মিনিট সময় নিতে চান তবে এটির জন্য যান। এখানে কী আসে তার একটি সংক্ষিপ্ত বিবরণ এখানে।
প্রথমে এটি লক্ষণীয় গুরুত্বপূর্ণ যে, আপনি যদি প্রতিটি মানদণ্ডের দিকে নজর দেন, আপনি দেখতে পাবেন যে আমাদের DP5
(ডরমনড-প্রিন্স অর্ডার 5) এবং DP8
পদ্ধতিগুলি হায়ার ফোর্টরান কোডগুলি ( dopri5
এবং dop853
) এর চেয়ে দ্রুততর এবং তাই এই বাস্তবায়নগুলি খুব ভালভাবে অনুকূলিত হয়েছে । এগুলি দেখায় যে ডোরম্যান্ড-প্রিন্স পদ্ধতিগুলির অতিরিক্ত ব্যবহারের কারণটি অন্য থ্রেডে উল্লেখ করা হয়েছে কারণ পদ্ধতিগুলি ইতিমধ্যে লিখিত রয়েছে, কারণ এখনও সেগুলি সর্বোত্তম। সুতরাং সর্বাধিক অনুকূলিতকরণ বাস্তবায়নের মধ্যে আসল তুলনা হ'ল টিসিটারাস পদ্ধতিগুলি, ভার্নার পদ্ধতিগুলি এবং ডিফারেন্টিয়ালএকুয়েশনস.জেএল থেকে ফিগিন পদ্ধতিগুলির মধ্যে।
ফলাফলগুলো
সাধারণভাবে, 7 টিরও বেশি আদেশের পদ্ধতিগুলির একটি অতিরিক্ত গুণগত মূল্য থাকে যা সাধারণত অর্ডার দ্বারা ছাড়িয়ে যায় না, নির্বাচিত সহনশীলতাগুলি দেওয়া। এর একটি কারণ হ'ল নিম্ন অর্ডার পদ্ধতির জন্য সহগ পছন্দগুলি আরও অনুকূলিত করা হয়েছে (তাদের ছোট "নীতিগত কাণ্ড ত্রুটি সহগ আছে", আপনি যখন অপ্রত্যাশিতভাবে ছোট না হন তখন এটি আরও গুরুত্বপূর্ণ)। আপনি দেখতে পাচ্ছেন যে এখানে অনেক সমস্যায় ভার্নার দক্ষ 6 এবং 7 পদ্ধতিগুলি খুব ভালভাবে কাজ করে তবে ভার্নার দক্ষ 8 এর মতো পদ্ধতির একটি কম opeাল হতে পারে। এটি হ'ল উচ্চতর অর্ডারটির "লাভ" কম সহনশীলতায় মিশ্রিত হয়, তাই সর্বদা একটি সহনশীলতা থাকে যেখানে উচ্চতর আদেশের পদ্ধতিগুলি আরও কার্যকর হবে।
তবে প্রশ্নটি তখন, কত কম? একটি ভাল-অনুকূলিতকরণের বাস্তবায়নে, এটি দুটি কারণে বেশ কম। প্রথম কারণ হ'ল লোয়ার অর্ডার পদ্ধতিগুলি এফএসএল (শেষ হিসাবে প্রথম প্রথম) নামে কিছু প্রয়োগ করে। এই সম্পত্তিটির অর্থ হ'ল নিম্ন আদেশের পদ্ধতিগুলি পরবর্তী পদক্ষেপের পূর্ববর্তী পদক্ষেপ থেকে কোনও ফাংশন মূল্যায়ন পুনরায় ব্যবহার করে এবং এইভাবে কার্যকরভাবে একটি কম ফাংশন মূল্যায়ন করে। যদি এটি সঠিকভাবে ব্যবহার করা হয়, তবে 5 ম অর্ডার পদ্ধতির মতো কিছু (টেসিটারস বা ডরমনড-প্রিন্স) টেবিলের পরামর্শ অনুযায়ী 6 এর পরিবর্তে 5 টি ফাংশন মূল্যায়ন করছে। এটি ভার্নার 6 পদ্ধতির ক্ষেত্রেও সত্য।
অন্য কারণ বিরক্তি কারণে হয়। খুব উচ্চতর অর্ডার পদ্ধতি ব্যবহার করার একটি কারণ হ'ল কম পদক্ষেপ নেওয়া এবং কেবল অন্তর্বর্তী মানগুলিকে বিভক্ত করা। তবে, মধ্যবর্তী মানগুলি পেতে, পদক্ষেপ গ্রহণের জন্য ইন্টারপোলটিং ফাংশনের জন্য আরও বেশি ফাংশন মূল্যায়ন প্রয়োজন হতে পারে। আপনি যদি ভার্নার পদ্ধতিগুলি দেখুন, একটি অর্ডার 8 ইন্টারপোল্যান্ট পেতে অর্ডার 8 পদ্ধতির জন্য এটি 8 অতিরিক্ত ফাংশন মূল্যায়ন করে evalu অনেক সময় লো অর্ডার পদ্ধতিগুলি একটি "ফ্রি" ইন্টারপোলেন্ট সরবরাহ করে, উদাহরণস্বরূপ সর্বাধিক 5 তম অর্ডার পদ্ধতিতে একটি চতুর্থ অর্ডার ইন্টারপোলেশন থাকে (কোনও অতিরিক্ত ফাংশন মূল্যায়ন নেই)। সুতরাং এর অর্থ হ'ল যদি আপনার মধ্যবর্তী মানগুলি (যদি আপনি উচ্চ অর্ডার পদ্ধতি ব্যবহার করেন তবে আপনাকে ভাল প্লটের জন্য প্রয়োজন হবে) প্রয়োজন হয় তবে কিছু অতিরিক্ত লুকানো ব্যয় রয়েছে। এই আন্তঃবিবাহিত মানগুলি ইভেন্ট হ্যান্ডলিং এবং বিলম্বের ডিফারেনশিয়াল সমীকরণগুলি সমাধান করার জন্য সত্যই গুরুত্বপূর্ণ এবং আপনি কেন দেখেন যে অতিরিক্ত অন্তরঙ্গকরণ ব্যয়ের কারণগুলি রয়েছে।
তাহলে ফেগিন পদ্ধতি সম্পর্কে কী?
সুতরাং আপনি দেখতে পাবেন যে ফেগিন পদ্ধতিগুলি সন্দেহজনকভাবে মাপদণ্ড থেকে অনুপস্থিত। এগুলি ভাল, কনভার্জেনশন টেস্টগুলি স্বেচ্ছাসেবী নির্ভুলতার সংখ্যা ইত্যাদির উপর কাজ করে, তবে প্রকৃতপক্ষে এগুলি ভাল করার জন্য আপনাকে কিছুটা অযৌক্তিকভাবে কম সহনশীলতার জন্য জিজ্ঞাসা করতে হবে। উদাহরণস্বরূপ, আমি অপ্রকাশিত বেঞ্চমার্কগুলিতে পেয়েছি যা Feagin14
ছাপিয়ে যায়Vern9
সহনশীলতাই দিকে (কার্যকর পদ্ধতি Verner 9th অর্ডার) -এর মত 1e-30
। বিশৃঙ্খল গতিশীলতার সাথে অ্যাপ্লিকেশনগুলির জন্য (প্লাইডস বা 3-বডি অ্যাস্ট্রোফিজিক সমস্যার মতো) সংবেদনশীল নির্ভরতার কারণে (বিশৃঙ্খলা সিস্টেমের যৌগিক ত্রুটি দ্রুত) আপনি এই পরিমাণের নির্ভুলতা পেতে পারেন want যাইহোক, বেশিরভাগ লোকেরা সম্ভবত ডাবল-স্পষ্টতা ভাসমান পয়েন্ট সংখ্যাগুলির সাথে গণনা করছেন, এবং আমি এমন একটি মানদণ্ড খুঁজে পাইনি যেখানে তারা সহনশীলতার এই ডোমেইনে পিছনে চলে।
এছাড়াও, ফেগিন পদ্ধতিগুলির সাথে যেতে কোনও ইন্টারপোল্যান্ট নেই। সুতরাং আমি যা করি কেবল তাদের তৃতীয় অর্ডার হার্মাইটের অন্তরঙ্গকরণ রাখি যাতে সেইভাবে একটি উপস্থিত থাকে (এবং এটি আশ্চর্যজনকভাবে ভালভাবে কাজ করে)। যাইহোক, যদি কোনও স্ট্যান্ডার্ড ইন্টারপোলটিং ফাংশন না থাকে তবে আপনি উচ্চতর অর্ডার প্রবর্তন পেতে পুনরাবৃত্তির হার্মাইট পদ্ধতিটি করতে পারেন (মিডপয়েন্টটি পেতে এই অন্তরঙ্গটি ব্যবহার করুন, তারপরে একটি 5 তম অর্ডার ইন্টারপোলেশন ইত্যাদি করুন) তবে এটি অত্যন্ত ব্যয়বহুল এবং ফলাফল অন্তরঙ্গকরণের অগত্যা একটি কম নীতি কাটা ত্রুটি শর্ত নেই (সুতরাং এটি খুব ভাল যখন dt
সত্যই ছোট হয়, যা আমরা চাই ক্ষেত্রে ঠিক তার বিপরীত!)। সুতরাং আপনার যথার্থতার সাথে মেলে যদি আপনার যদি কখনও সত্যিই একটি ভাল দ্রবণের প্রয়োজন হয় তবে আপনার অন্তত এমন কোনও কিছুতে ফিরে যেতে হবে Vern9
।
এক্সট্রোপোলেশন সম্পর্কে নোট
নোট করুন যে এক্সট্রাপোলেশন পদ্ধতিগুলি স্বেচ্ছাসেবী ক্রম রানেজ-কত্তা পদ্ধতি তৈরির জন্য অ্যালগরিদম। তবে, তাদের আদেশের জন্য তারা প্রয়োজনের তুলনায় আরও পদক্ষেপ গ্রহণ করে এবং উচ্চ নীতি কাটা ত্রুটি সহগ রয়েছে, এবং তাই তারা কোনও নির্দিষ্ট আদেশে একটি ভাল-অনুকূলিতকরণ আরকে পদ্ধতির মতো দক্ষ নয়। তবে পূর্ববর্তী বিশ্লেষণটি দেওয়া, এর অর্থ হ'ল অত্যন্ত স্বল্প সহনশীলতার একটি ডোমেন রয়েছে যেখানে এই পদ্ধতিগুলি "পরিচিত" আরকে পদ্ধতিগুলির চেয়ে আরও ভাল করবে। তবে আমি যে প্রতিটি বেঞ্চমার্কে দৌড়েছি, মনে হচ্ছে আমি এতোটা কম পাই নি।
স্থায়িত্ব সম্পর্কে নোট
পছন্দটির স্থিতিশীলতার সমস্যাগুলির সাথে আসলে কোনও সম্পর্ক নেই। প্রকৃতপক্ষে, আপনি ডিফারেনটিয়ালএকোয়াশনস.জেএল টেবিলগুলি (যদি আপনি কেবল plot(tab)
স্থায়িত্ব অঞ্চলের জন্য পারেন তবে) দেখতে পাবেন যে বেশিরভাগ পদ্ধতিতে সন্দেহজনকভাবে একই স্থায়িত্ব অঞ্চল রয়েছে। এটি আসলে একটি পছন্দ। সাধারণত পদ্ধতিগুলি অর্জন করার সময়, লেখক সাধারণত নিম্নলিখিতগুলি করেন:
- সর্বনিম্ন নীতি কাটা ত্রুটি সহগগুলি (এটি পরবর্তী আদেশের শর্তগুলির জন্য সহগ) অনুসন্ধান করুন
- অর্ডার সীমাবদ্ধতার সাপেক্ষে
- এবং স্থিতিশীলতা অঞ্চলটি ডরমনড-প্রিন্স অর্ডার 5 পদ্ধতির নিকটে করুন।
কেন শেষ অবস্থা? ঠিক আছে, কারণ যে পদ্ধতিটি পিআই-নিয়ন্ত্রিত অভিযোজক পদক্ষেপের পছন্দগুলি সম্পন্ন করে তার সাথে সর্বদা স্থিতিশীল থাকে, তাই এটি "ভাল যথেষ্ট" স্থায়িত্ব অঞ্চলের জন্য একটি ভাল বার। সুতরাং এটি কোনও কাকতালীয় ঘটনা নয় যে স্থিতিশীল অঞ্চলগুলি সমস্তরকম হয়।
উপসংহার
পদ্ধতির প্রতিটি পছন্দে ট্রেড অফস রয়েছে। সর্বাধিক অর্ডার আরকে পদ্ধতিগুলি নিম্ন সহনশীলতায় উভয়ই কেবল দক্ষ হয় না কারণ সহগের পছন্দ পছন্দ করা অনুকূল এবং ফাংশন মূল্যায়নের যৌগিক সংখ্যার (এবং আরও দ্রুত গতিতে জড়িত যখন প্রবৃত্তির সাথে জড়িত থাকে) because তবে, যদি সহনশীলতা যথেষ্ট পরিমাণে কম হয় তবে তারা জিতে যায়, তবে যে সহিষ্ণুতা প্রয়োজন তা "স্ট্যান্ডার্ড" অ্যাপ্লিকেশনগুলির (এমনকি সত্যই কেবল বিশৃঙ্খল সিস্টেমের ক্ষেত্রে প্রযোজ্য) নীচে হতে পারে।