কীভাবে কোনও একটি সংখ্যার ওডিই সলভার বাস্তবায়ন পরীক্ষা করে?


26

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

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

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

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

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

    অন্যদিকে, এই পদ্ধতিটি কেবলমাত্র অ্যালগরিদমটি পরীক্ষা করে , যা আমার দ্বারা ঠিক আছে - অন্য কেউ যদি প্রমাণ করেছেন যে ৪ র্থ অর্ডারে রৌজে-কত্তা কাজ করে, তবে আমি এর জন্য হতাশার প্রয়োজন বোধ করি না। তবে, আমি উদ্বিগ্ন যে পরীক্ষার কেসগুলি তৈরি করা খুব জটিল হবে কারণ আমি পরীক্ষার ডেটা উত্পন্ন করার কোনও ভাল পদ্ধতি জানি না (সম্ভবত হাতে হাতে, যা অনেক কাজ হয়ে যাবে ...)।

উপরের দুটি পদ্ধতিই আমার বর্তমান জ্ঞানের সাথে আমার মারাত্মক সীমাবদ্ধতা রয়েছে - আমি প্রথমটির জন্য পরীক্ষার সমস্যার একটি ভাল সেট জানি না এবং দ্বিতীয়টির জন্য পরীক্ষার ডেটা উত্পন্ন করার একটি ভাল পদ্ধতি আমি জানি না।

সংখ্যাযুক্ত ওডিই সমাধানকারীদের যাচাই করার অন্যান্য উপায় আছে? বাস্তবায়ন সম্পর্কে অন্যান্য মানদণ্ড যা যাচাই করা উচিত? সেখানে আউট ODE solvers পরীক্ষার উপর কোন ভাল (বিনামূল্যে) সম্পদ 1 ?

সম্পাদনা:
যেহেতু এই প্রশ্নটি খুব বিস্তৃত তাই আমি আরও কিছুটা পরিষ্কার করতে চাই। আমি যে টেস্ট স্যুটটি তৈরি করতে চাই তা দুটি প্রধান উদ্দেশ্য পূরণ করবে:

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

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


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


2
@ ব্যবহারকারী 75064: একেবারে! আমি জানতাম না যে সাইটটিও বিদ্যমান ছিল =) কোনও মোডস, আমাকে সেখানে স্থানান্তর করতে নির্দ্বিধায় মনে হয়।
টমাস আসচান

ম্যাথ স্ট্যাক এক্সচেঞ্জে এই উত্তরের অন্যান্য পরীক্ষার সেটগুলির লিঙ্ক রয়েছে ।
জেফ অক্সবেরি

@ জিফঅক্সবেরি: আমি এর আগে বেশ কয়েকটি খুঁজে পেয়েছি। তাদের বেশিরভাগই ফরটারনে প্রয়োগ করা হয়েছে এবং ধরে নেওয়া হয়েছে যে পাঠক একই ভাষায় সমাধানকারীদের পরীক্ষা করতে চান, যা আরও একটি ত্রুটির উত্স যুক্ত করে ... তবে, একটি দম্পতি (ডিটেস্ট স্যুটে নিবন্ধগুলি) সত্যিই দরকারী প্রমাণিত হয়েছে। অনেক ধন্যবাদ!
টমাস আসচান

উত্তর:


12

এটি একটি বিস্তৃত প্রশ্ন এবং আমি আপনাকে কিছু চিন্তাভাবনা করতে যাচ্ছি (কিছু ইতিমধ্যে আপনার পোস্টে অন্তর্ভুক্ত রয়েছে, তবে তারা এখানে সম্পূর্ণতার জন্য পুনরাবৃত্তি করেছে)।

সমস্যার ক্ষেত্র

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

সমস্যার প্রস্তাবনা

  • আপনার সমস্যার উত্স, সমস্যাগুলি কীভাবে পরীক্ষা করা হয়েছিল তার সুযোগ, রুটিনগুলি চালানোর ফলাফল এবং মেট্রিকগুলি নির্ধারণ করে একটি পরীক্ষা স্পেসিফিকেশন লিখতে হবে।
  • তারা অবশ্যই যে সমস্যাগুলি ব্যবহার করছে সেগুলির জন্য আমি ইতিমধ্যে ইতিমধ্যে বাইরে অন্যান্য লাইব্রেরিগুলিতে সন্ধান করব (সম্ভবত টেস্ট ফাইলগুলি)।
  • আমি কলেজের লাইব্রেরিতে গিয়ে ওডিই-তে বইগুলি পড়তে যেতাম এবং সমস্ত ধরণের সমস্যাগুলি বের করতাম, যাদের কাছে পরিচিত বদ্ধ ফর্ম বা কেবল সংখ্যা সমাধান ছিল।
  • কেস 1: সংখ্যার ফলাফলের তুলনায় নির্ভুল তুলনা করার জন্য আমরা বদ্ধ ফর্ম সমাধান সমস্যার যতগুলি বৈচিত্র্য পেতে চাই।
  • কেস ২: আমি প্রতিটি সংখ্যার বিশ্লেষণ বইতে যাব যা আমি কাজ করা উদাহরণগুলি খুঁজে পেতে এবং ক্যাপচার করতে এবং সেগুলি নকল করতে পারি। আমি অতিরিক্তভাবে সমস্যার সেটগুলি ক্যাপচার করব, বিশেষত কয়েকটি প্যাথলজি রয়েছে যা বেশিরভাগ বইতে রয়েছে (এটি বা এই ধরণের সংবেদনশীলতা)।
  • কেস 3: আমি পদার্থবিজ্ঞান, বাস্তুশাস্ত্র, জীববিজ্ঞান, অর্থনীতি, ইত্যাদি এর মতো প্রয়োগিত গণিতের বিভিন্ন শাখায় যাব। আল এবং সেই ডোমেনগুলির প্রতিটি থেকে সমস্যাগুলি ক্যাপচার করে যাচাই করতে আপনার সমস্যার জন্য আপনার স্পেসিফিকেশন ভাষা যেমন উদাহরণ দেয়।
  • কেস ৪: আমি এমন কাগজপত্র / জার্নালগুলি নিয়ে গবেষণা করব যেখানে সর্বাধিক দরকারী উদাহরণ রয়েছে যেখানে নির্দিষ্ট লেখককে কিছু প্যাথলজি বা অদ্ভুততা বা কঠোরতার জন্য অ্যাকাউন্টে নির্দিষ্ট পদ্ধতির পরিবর্তন করতে হয়েছিল।
  • কেস 5: অতিরিক্ত উদাহরণগুলির জন্য ওয়েবে অনুসন্ধান করুন। জন্য শক্ত , রেফারেন্স এখানে দেখতে এবং তাদের সব পড়া পরীক্ষা সমস্যার আউট সন্ধানী করতে। অনুধাবন করার জন্য এখানে কয়েকটি ম্যাটল্যাব উদাহরণ রয়েছে।

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

অন্য কথায়, এটি তুচ্ছ কাজ নয়। আপনার জ্ঞাত-উত্তর-পরীক্ষার কেসগুলি দরকার যা আপনাকে সর্বদা আপডেটের বৈধতা পরীক্ষা করতে দেয় এবং জিনিসগুলি ভঙ্গ করে না। এটি হ'ল নিম্ন থেকে উচ্চতর, একটি সহজ থেকে শক্ত, সম্ভাব্য থেকে অসম্ভবের সমস্যার পুনরাবৃত্তিমূলক এবং বিস্তৃত সেট ... ... আপনার সমস্যাগুলির একটি সংকলনও দরকার যা আপনার সমাধানকারীরা এর সীমাবদ্ধতাগুলি বোঝার জন্য পরিচালনা করতে পারে না।


2

আমি আমার ওডিই সমাধানকারীদের বিরুদ্ধে চালিত একটি বিচক্ষণতা পরীক্ষাটি হ'ল এটি সিস্টেমের ম্যাট্রিক্সের ঘনিষ্ঠতাকে সঠিকভাবে গণনা করার মাধ্যমে ছোট লিনিয়ার সিস্টেমে এটি পরীক্ষা করা। অর্থাত্ প্রদত্ত

dudt=Au

মধ্যে ত্রুটি পরীক্ষা করুন

exp(tA)u0u^(t)

যেখানে আপনার গণিত সমাধান। এইভাবে আপনাকে কোনও আসল বিশ্লেষণাত্মক সমাধান জানতে হবে না (ধরে নেওয়া 'এক্সপাম' এর কিছু সমতুল্য রয়েছে) তবে আপনি এখনও তার ধারণাটি পেতে পারেন যে আপনার সমাধানকারী যা হওয়া উচিত তা করছেন কিনা।u^(t)

কেবলমাত্র আপনার সময়-স্টেপারগুলির মধ্যে একটির সাথে সূচককে গণনা করবেন না (অর্থাত্ সন্দেহজনক পদ্ধতি সংখ্যা 6 :) http://www.cs.cornell.edu/cv/researchpdf/19ways+.pdf )


কেবলমাত্র একটি নোট: ডি ই ইন্টিগ্রেটারগুলিকে "সন্দেহজনক" বলে মনে করা হয়েছিল যে তারা স্কেলিং + স্কোয়ারিংয়ের তুলনায় কিছুটা অক্ষম ছিল, ভুলের কারণে নয়।
জেএম

1

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

http://prod.sandia.gov/techlib/access-control.cgi/2000/001444.pdf

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