স্থির-পয়েন্ট এবং স্বেচ্ছাসেবী নির্ভুল গণনার প্রাসঙ্গিকতা


10

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

কোনও নির্দিষ্ট পয়েন্ট ইগেনভ্যালু সলভারটি ব্যবহার করতে কোনও বড় সমস্যা আছে কি? তারা কত ধীর / দ্রুত, ভুল / নির্ভুল হবে?

সম্পর্কিত: এই এবং এই


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

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

5
আমি মনে করি এটির একটি উদ্দেশ্যগত প্রযুক্তিগত উত্তর রয়েছে: আপনি যদি প্রায় কোনও বৈজ্ঞানিক গণনা চালান (বলে, একটি রৈখিক সমাধান), সঠিক সঞ্চয়স্থানের জন্য প্রয়োজনীয় বিটের সংখ্যা সময়মতো তাত্পর্যপূর্ণভাবে বৃদ্ধি পায়। সুতরাং, দরকারী কাজের জন্য নিখুঁততার জন্য দৃ support় সমর্থন প্রয়োজন।
জেফ্রি ইরভিং

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

@ জিফ্রেআইরিভিং ত্রিভুজাকার ম্যাট্রিক্সে শূন্য সম্পর্কে কী? এগুলি অক্ষম ত্রুটিযুক্ত প্রবণ ভাসমান পয়েন্ট ব্যতীত অন্য কিছু হিসাবে সংরক্ষণ করা যায় না ?
মিলিণ্ড আর

উত্তর:


5

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

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

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

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


4

সঠিক গাণিতিক / নির্দিষ্ট পয়েন্ট পাটিগণিত কেন খুব কম ব্যবহৃত হয় তার উদাহরণ হিসাবে, এটি বিবেচনা করুন:

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

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


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

@ মিলিন্দআর: আপনি কী লক্ষ্য করছেন তা আমি নিশ্চিত নই। আপনার কাছে হাতুড়ি রয়েছে বলে মনে হয় এবং হতাশ হয়ে পড়েছেন যে কারও কাছে পেরেক নেই বা ভাবেন যে হাতুড়িটি একটি দরকারী সরঞ্জাম। তবে এটি এমন নয় যে আমরা আপনাকে পছন্দ করি না - আমরা দীর্ঘকাল ধরে এই বিষয়গুলি নিয়ে চিন্তা করেছি এবং কেবলমাত্র সিদ্ধান্ত নিয়েছি যে আমাদের কাছে থাকা স্ক্রু ড্রাইভারটি সঠিক সরঞ্জাম। আমি এটির জন্য হতাশার কিছুই খুঁজে পাই না (যদি না আপনি হাতুড়ি না ফেলে) এটি কেবল একটি ব্যবহারিক পদ্ধতির কারণ - যখন আমরা কেবল আনুমানিকতা করি তখন কেন সঠিক গাণিতিক ব্যবহার করবেন?
ওল্ফগ্যাং ব্যাঙ্গার্থ

এটি হতাশার কারণ একটি পুরোপুরি স্বাভাবিক সমস্যাটি এত খারাপভাবে কন্ডিশনার হতে পারে যে এটি কার্যকরভাবে অদৃশ্য। পাশাপাশি কারণ স্বেচ্ছাসেবী নির্ভুলতার আদর্শটি এতটাই আশাব্যঞ্জক বলে মনে হয়েছিল যেহেতু ভাসমান পয়েন্টের সঠিক মূল্যটিকে আউটপুট করার জন্য স্টোরিং থেকে সঠিকভাবে তুলনা করা যায় না।
মিলিণ্ড আর

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

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

3

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

আইগেন হ'ল সি ++ গ্রন্থাগার যা ম্যাট্রিকেস সমাধানের জন্য বিভিন্ন অ্যালগরিদম রয়েছে যার প্রত্যেকটিতে বিভিন্ন বৈশিষ্ট্য রয়েছে। এই পৃষ্ঠায় একটি টেবিল রয়েছে যা ম্যাট্রিক্স সমাধানের জন্য ব্যবহৃত বিভিন্ন অ্যালগরিদমের জন্য গতি বনাম যথাযথ বাণিজ্য-অফগুলি নিয়ে আলোচনা করে। আমি সন্দেহ করি আইজেন গ্রন্থাগারটি আপনি যা করতে পারেন তা করতে পারে। :-)


ধন্যবাদ .. খুব তথ্যপূর্ণ, এবং দুর্দান্ত লিঙ্ক। তবে স্থির পয়েন্টের সাথে সীমিত পরিসীমাটির সীমিত সীমিত ব্যবহারের ফলে আরও সঠিক ফলাফলের ফলাফল হয় না? যেহেতু উপস্থাপনা নিজেই ঠিক শুরু হয়, ভাসমান বিন্দু থেকে ভিন্ন?
মিলিন্ড আর

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

আমি কেবল অস্পষ্টভাবে আপনাকে বুঝতে পারি ... আমি এই সমস্যাটি কোথায় "সংজ্ঞায়িত" করতে পারি তা দেখতে পাচ্ছি না, যুক্তিটি প্রয়োজনীয়।
মিলিণ্ড আর

বেশ কয়েক বছর পরে, আমি আপনাকে আসলে বুঝতে পারি :-)
মিলিন্ড আর

2

উচ্চ-নির্ভুলতা পাটিগণিত যেখানে গণিতে কার্যকর হয়েছে তার কয়েকটি চমৎকার উদাহরণের জন্য, জোনাথন বোরউইন এবং ডেভিড বেলির পরীক্ষা- নিরীক্ষা বইটি দেখুন a এর রয়েছে এই পরিণাম , যা আমি না পড়া আছে।

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