গাণিতিক সফ্টওয়্যার জন্য সাক্ষী


11

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

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

সুতরাং সংক্ষেপে আমার প্রশ্নটি নিম্নলিখিত is

আপনি যে উত্তরটি চেয়েছিলেন তার সাথে গাণিতিক সফ্টওয়্যারটির পক্ষে একটি সংক্ষিপ্ত চেকযোগ্য প্রমাণ সরবরাহ করা কমপক্ষে তত্ত্বের ক্ষেত্রেও কি সম্ভব?

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


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

আমি প্রশ্নে দুটি উদাহরণ দিয়েছি তবে লিঙ্কের রঙগুলি দেখতে সহজেই সহজ হতে পারে। "অঙ্কগুলি" বা "অনুকূলিতকরণ" এ ক্লিক করুন।

1
Dl.acm.org/citation.cfm?id=200880 এ ম্যানুয়েল ব্লুম এবং সম্পথ কান্নান কী করেছেন তা বাছাই করুন ?
আন্দ্রেজ বাউর 21

আপনি সার্টিফাইং অ্যালগরিদমগুলি একবার দেখে নিতে পারেন ।
প্রতীক দেওঘরে

হ্যাঁ অনেকগুলি প্রতীকী সফ্টওয়্যার সিস্টেমগুলিকে "ব্ল্যাক বক্স" হিসাবে বিবেচনা করা হয় এবং এটি ব্যবসায়ের গোপনীয়তা রক্ষার কর্পোরেট কৌশলও। (1) ওপেন সোর্স বিকল্পের চেষ্টা করুন (২) সফটওয়্যার ইঞ্জিনিয়ারিংকে "ইউনিট টেস্টিং" এর "সেরা অনুশীলন" বিবেচনা করুন। সংক্ষেপে ধারণাটি হবে ফলাফলগুলির "স্যানিটি চেক" তৈরি করা, যেমন সুপরিচিত নির্ধারিত পরীক্ষাগুলির জন্য জ্ঞাত মান, অন্যান্য হেরফের, বিপরীত ইত্যাদি প্রতিস্থাপনের দ্বারা সূত্র এবং পরীক্ষা উভয়ই এমনভাবে ব্যর্থ হতে পারে এমন সম্ভাবনা কম is একটি "মিথ্যা পজিটিভ"।
vzn

উত্তর:


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

    • কুর্ট মেহলহর্ন ১৯৯৯ সালে গণ্য জ্যামিতি অ্যালগোরিদমে একই ধরণের সমস্যার বর্ণনা দেয় (যেমন স্থানাঙ্কের মধ্যে ছোটখাটো ত্রুটি কিছু অ্যালগরিদমের ফলাফলগুলিতে বড় ত্রুটি পেতে পারে), লাইডা লাইব্রেরিতে একইভাবে সমাধান করা হয়েছিল , জোর দিয়ে প্রতিটি অ্যালগরিদম একটি "শংসাপত্র" উত্পন্ন করে উত্তর ছাড়াও এর উত্তর।

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

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

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

    • nn
    • দুটি এবং তিন মাত্রার উত্তল হলের জন্য শংসাপত্র, যদি পয়েন্টগুলি এলোমেলো ক্রমে দেওয়া হয় তবে [FOCS 2009] (অন্যান্য নির্লজ্জ প্লাগ) গণনা করতে তুলনা হিসাবে এনকোড করতে যত বিট লাগে ।

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

আশা করি এটা সাহায্য করবে...


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

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

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

এটি একটি আকর্ষণীয় প্রশ্ন এবং সম্ভবত এখানে কেউ নিশ্চিতরূপে জানেন I তবে আমি যেসব ভুল উত্তর বলছি তার মধ্যে অনেকগুলি সংখ্যার গণনার জন্য নয় তাই এটি কমপক্ষে প্রথম দিকটি বোঝায় যে সমস্যাগুলি আপনার বর্ণনার চেয়ে বেশি। আমি কম্পিউটিং সীমা / অসীম অঙ্কগুলি ইত্যাদির জটিলতা জানি না তবে আমি ধরেই নিয়েছি যে সাধারণভাবে তারা সবচেয়ে খারাপ ক্ষেত্রে অক্ষম এবং তাই হিউরিস্টিকস যা কখনও কখনও ভুল উত্তর দেয় তা প্রয়োজন / দরকারী। mathematica.stackexchange.com/questions/tagged/bugs বিষয় আছে যা ভুল হয়ে যেতে পারে একটি অনুভূতি পেতে Uninformative নয়।

তাত্ত্বিক সিএস-এর স্ব-পরীক্ষার ধারণা রয়েছে, যা লিনিয়ার বীজগণিতের অনেক সমস্যার ক্ষেত্রে প্রযোজ্য। প্রাথমিক ধারণাগুলির মধ্যে একটি হ'ল অনেক সমস্যার জন্য সমাধানটি সহজে গণনা করা যায় না তার চেয়ে বেশি পরীক্ষা করা যায় (সম্ভবত কিছুটা অতিরিক্ত তথ্য দিয়ে)। যেমন https://doi.org/10.1016/0022-0000(93)90044-W দেখুন ।
নিল ইয়ং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.