বিচ্ছিন্ন রৈখিক সিস্টেম solver বাছাই করার সময় আমার কোন নির্দেশিকা অনুসরণ করা উচিত?


49

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

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

উত্তর:


33

পুনরাবৃত্তকারী solvers বাছাই করার সময় গুরুত্বপূর্ণ বিষয়টি হল অপারেটরের বর্ণালী this এই কাগজটি দেখুন । তবে, অনেকগুলি নেতিবাচক ফলাফল রয়েছে, এই কাগজটি দেখুন যেখানে কোনও পুনরাবৃত্ত সমাধানকারী সমস্ত সমস্যার জন্য জয়ী হয় না এবং এই কাগজটিতে তারা প্রমাণ করে যে তারা কোনও বর্ণালীতে জিএমআরইএসের জন্য কোনও রূপান্তর বাঁক পেতে পারে। সুতরাং, কয়েকটি বিচ্ছিন্ন ক্ষেত্রে ব্যতীত পুনরাবৃত্তকারী solvers এর আচরণ সম্পর্কে ভবিষ্যদ্বাণী করা অসম্ভব বলে মনে হয়, সুতরাং, আপনার সর্বোত্তম বিকল্প হ'ল পিইটিএসসি-র মতো একটি সিস্টেম ব্যবহার করে, তাদের সকলের চেষ্টা করা , যার সরাসরি সমাধানকারীও রয়েছে।


2
"আপনি যা কিছু করতে পারেন এটি ছুড়ে দিন" আমার পক্ষে অভ্যস্ত ছিল এমন পরামর্শ pretty :) আপনি যে তৃতীয় কাগজের সাথে লিঙ্ক করেছেন সেটি এমন কিছু যা আমি আগে দেখিনি; তার জন্য ধন্যবাদ!
জেএম

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

5
অ্যারনের অনুমানটি ভাল তবে ভারে নির্ভর করে যেহেতু বিরল প্রত্যক্ষ পদ্ধতিগুলি সাধারণত ধৈর্য্যের বাইরে যাওয়ার আগে মেমরি ছাড়িয়ে যায়।
ম্যাট নিপলি

18

প্রত্যক্ষ এবং পুনরাবৃত্ত পদ্ধতির মধ্যে পছন্দটি লক্ষ্য এবং সমস্যাটির উপর নির্ভর করে।

সরাসরি পদ্ধতির জন্য, আমরা লক্ষ করতে পারি:

  • সহগ ম্যাট্রিক্স গণনার এবং বিক্ষিপ্ত সিস্টেম নিষ্কাশন মেমরির প্রয়োজনীয়তা জন্য মে মাসের কোর্সের উপর রৈখিক সিস্টেম পরিবর্তনের এবং কাজের পূরণ-ইন কারণে প্রচেষ্টা বৃদ্ধি
  • দরকারী ফলাফল দিতে সম্পূর্ণ করতে হবে
  • একাধিক ডান-হাত উপস্থিত থাকলে পরবর্তী পদক্ষেপগুলিতে কারখানাটি পুনরায় ব্যবহার করা যেতে পারে
  • শুধুমাত্র লিনিয়ার সিস্টেমগুলি সমাধান করার জন্য ব্যবহার করা যেতে পারে।
  • খুব কমই ব্যর্থ হয়।

Iterative পদ্ধতি জন্য, আমরা নোট করতে পারেন:

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

প্রত্যক্ষ বা পুনরুক্তি পদ্ধতি কখন ব্যবহার করবেন তার গাইডলাইনগুলি?

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

8
O(n)O(n)O(n2)O(1)

8

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


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

বেশিরভাগ সময় এলোমেলো প্রাথমিক অনুমান যথেষ্ট ভাল। ল্যাঙ্কজোস অ্যালগরিদম ব্যবহার করে ইগেনভ্যালুগুলি বের করার ক্ষেত্রে, একটি এলোমেলোভাবে শুরু / ভেক্টর পুনরায় চালু করা সহায়তা করে। পুনরায় সূচনাগুলি ল্যাঙ্কজোস অ্যালগোরিদমে কখনও কখনও ঘটে।
অনিলজে

3

আপনার প্রশ্নে তথ্যের একটি গুরুত্বপূর্ণ অংশ রয়েছে: ম্যাট্রিক্স কোথা থেকে এসেছে। আপনি যে সমস্যার সমাধান করার চেষ্টা করছেন তার কাঠামোটিতে কোনও সমাধান পদ্ধতির পরামর্শ দেওয়ার দুর্দান্ত সম্ভাবনা রয়েছে।

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

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