কোর অ্যালগরিদম মোতায়েন


307

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

আমি এই জাতীয় উদাহরণগুলি সন্ধান করছি যা নিম্নলিখিত মানদণ্ডগুলি পূরণ করে:

  1. অ্যালগরিদম ব্যবহার করে সফ্টওয়্যার / হার্ডওয়্যার এখনই ব্যাপক ব্যবহারে থাকা উচিত।

  2. উদাহরণ নির্দিষ্ট করা উচিত। একটি নির্দিষ্ট সিস্টেম এবং একটি নির্দিষ্ট অ্যালগরিদম একটি রেফারেন্স দিন দয়া করে।
    উদাহরণস্বরূপ, "অ্যালগরিদম এক্সতে চিত্র প্রক্রিয়াকরণের জন্য কার্যকর" শব্দটি "চিত্র প্রক্রিয়াকরণ" যথেষ্ট নির্দিষ্ট নয়; "গুগল অনুসন্ধান গ্রাফ অ্যালগরিদম ব্যবহার করে" শব্দটিতে "গ্রাফ অ্যালগরিদম" যথেষ্ট নির্দিষ্ট নয়।

  3. অ্যালগরিদম টিপিক্যাল স্নাতক বা পিএইচডি করা উচিত। অ্যালগরিদম বা ডেটা স্ট্রাকচারে ক্লাস। আদর্শভাবে, অ্যালগরিদমটি সাধারণত আলগোরিদিম পাঠ্যপুস্তকে আবৃত থাকে। উদাহরণস্বরূপ, "সুপরিচিত সিস্টেম এক্স কম-পরিচিত অ্যালগরিদম ওয়াই ব্যবহার করে" ভাল নয়।


হালনাগাদ:

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


মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে ।
Bjørn Kjos-Hanssen

উত্তর:


473

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

আমি মনে করি আপনি যে কোনও বৃহত সফ্টওয়্যার বেছে নিতে পারেন এবং এতে প্রয়োগ হওয়া বেসিক এবং উন্নত অ্যালগরিদমগুলি খুঁজে পেতে পারেন। কেস স্টাডি হিসাবে, আমি এটি লিনাক্স কার্নেলের জন্য করেছি এবং ক্রোমিয়ামের কয়েকটি উদাহরণ দেখিয়েছি।

লিনাক্স কার্নেলের বেসিক ডেটা স্ট্রাকচার এবং অ্যালগরিদম

লিংক করছে GitHub উপর সোর্স কোড

  1. লিঙ্কযুক্ত তালিকা , দ্বিগুণ সংযুক্ত তালিকা , লক-ফ্রি লিঙ্ক তালিকা
  2. আপনি পাঠ্যপুস্তকে কী খুঁজে পাচ্ছেন না এমন মন্তব্যগুলির সাথে বি + গাছগুলি

    তুলনামূলকভাবে সরল বি + ট্রি বাস্তবায়ন। বি + ট্রিগুলি কীভাবে কাজ করে তা বোঝার জন্য আমি এটি শিখার অনুশীলন হিসাবে লিখেছি। পরিণত হিসাবে কার্যকর হতে পারে।

    ...

    এমন কৌশল ব্যবহার করা হয়েছিল যা পাঠ্যপুস্তকে সাধারণত পাওয়া যায় না। সর্বনিম্ন মানগুলি বাম দিকে নয়, ডানদিকে। নোডের মধ্যে ব্যবহৃত সমস্ত স্লট বাম দিকে থাকে, সমস্ত অব্যবহৃত স্লটে NUL মান থাকে। বেশিরভাগ অপারেশনগুলি সমস্ত স্লটে একবার লুপ হয়ে যায় এবং প্রথম এনএলএইউতে শেষ হয়।

  3. মুটিেক্স , ড্রাইভার ইত্যাদির জন্য ব্যবহৃত অগ্রাধিকার অনুসারে বাছাই করা তালিকা

  4. ফাইল-বর্ণনাকারী এবং ডিরেক্টরি এন্ট্রি ইত্যাদি ট্র্যাক করার জন্য লাল-কালো গাছগুলি সময় নির্ধারণ, ভার্চুয়াল মেমরি পরিচালনার জন্য ব্যবহৃত হয় ।
  5. অন্তর গাছ
  6. রেডিক্স ট্রি , মেমরি পরিচালনা , এনএফএস সম্পর্কিত লুকআপ এবং নেটওয়ার্ক সম্পর্কিত সম্পর্কিত কার্যকারিতার জন্য ব্যবহৃত হয়।

    মূলগুলি গাছের একটি সাধারণ ব্যবহার হ'ল স্ট্রাক্ট পৃষ্ঠাগুলিতে পয়েন্টার সংরক্ষণ করা;

  7. অগ্রাধিকার হিপ , যা আক্ষরিক, একটি পাঠ্যপুস্তক বাস্তবায়ন যা কন্ট্রোল গ্রুপ সিস্টেমে ব্যবহৃত হয় ।

    সিএলআর, অধ্যায় 7 এর উপর ভিত্তি করে পয়েন্টারযুক্ত সাধারণ সন্নিবেশ-কেবল স্থিতিক আকারের অগ্রাধিকারের হিপ

  8. নুথ এবং একটি কাগজের সাথে একটি উল্লেখ সহ হ্যাশ ফাংশন

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

    http://www.citi.umich.edu/techreports/reports/citi-tr-00-1.pdf

    এই প্রাইমগুলিকে বিট-স্পার্স হিসাবে বেছে নেওয়া হয়েছে, এগুলি হল ক্রিয়াকলাপগুলি মেশিনগুলিতে গুণনের পরিবর্তে শিফট এবং সংযোজনগুলি ব্যবহার করতে পারে যেখানে গুণগুলি ধীরে ধীরে।

  9. কোডের কিছু অংশ যেমন এই ড্রাইভারটি তাদের নিজস্ব হ্যাশ ফাংশন প্রয়োগ করে।

    একটি ঘোরানো হ্যাশ অ্যালগরিদম ব্যবহার করে হ্যাশ ফাংশন

    নুথ, ডি। আর্ট অফ কম্পিউটার প্রোগ্রামিং, খণ্ড 3: বাছাই এবং অনুসন্ধান, অধ্যায় 6.4। অ্যাডিসন ওয়েসলি, 1973

  10. হ্যাশ টেবিল প্রয়োগ করতে ব্যবহৃত inodes , ফাইল সিস্টেম অখণ্ডতা চেক ইত্যাদি
  11. বিট অ্যারেগুলি যা পতাকা, বিঘ্ন ইত্যাদির মোকাবেলায় ব্যবহৃত হয় এবং নুথ ভলিউমে প্রদর্শিত হয়। 4।

  12. সেমফোরস এবং স্পিন লক

  13. বাইনারি অনুসন্ধান জন্য ব্যবহার করা হয় বিঘ্ন হ্যান্ডলিং , রেজিস্টার করো ক্যাশে লুকআপ ইত্যাদি

  14. বি গাছগুলির সাথে বাইনারি অনুসন্ধান search

  15. ডিরেক্টরি কনফিগারেশনে গভীরতার প্রথম অনুসন্ধান এবং বৈকল্পিক ব্যবহৃত হয় ।

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

  16. রানটাইমে লকিংয়ের সঠিকতা যাচাই করতে প্রস্থের প্রথম অনুসন্ধান ব্যবহার করা হয়।

  17. লিঙ্কযুক্ত তালিকাগুলিতে মার্জ করা বাছাই করা আবর্জনা সংগ্রহ , ফাইল সিস্টেম পরিচালনা ইত্যাদির জন্য ব্যবহৃত হয়

  18. ড্রাইভার লাইব্রেরিতে বুদ্বুদ সাজানোর কাজটি আশ্চর্যরকমভাবে কার্যকর করা হয়।

  19. নথ-মরিস-প্র্যাট স্ট্রিং ম্যাচিং ,

    নুথ, মরিস এবং প্র্যাটের কারণে একটি রৈখিক-সময়ের স্ট্রিং-ম্যাচিং অ্যালগরিদমকে কার্যকর করে [1]। তাদের অ্যালগরিদম সম্পূর্ণরূপে ট্রান্সজিশন ফাংশন স্পষ্টভাবে গণনা এড়িয়ে চলে ids এর মিলের সময়টি হ'ল (এন), দৈর্ঘ্য (পাঠ্য) হওয়ার জন্য, কেবলমাত্র একটি সহায়ক ফাংশন পিআই ব্যবহার করে [1..m], দৈর্ঘ্য (প্যাটার্ন) হওয়ার জন্য, সময় ও (এম) এর প্যাটার্ন থেকে প্রাক্পুত হয়। অ্যারে পিআই প্রয়োজন অনুসারে রূপান্তর ফাংশন ডেলটিএকে "ফ্লাইতে" দক্ষতার সাথে গণনা করার অনুমতি দেয়। মোটামুটিভাবে বলতে গেলে, সিগমা-তে যে কোনও রাজ্যের "q" = 0,1, ..., মি এবং কোনও অক্ষরের "ক" জন্য, মান পিআই ["কিউ"] এমন তথ্য রয়েছে যা "ক" এর চেয়ে আলাদা এবং এটি প্রয়োজনীয় গণনা DELTA ("কিউ", "ক") 2। অ্যারে পিআইয়ের যেহেতু কেবলমাত্র এম এন্ট্রি রয়েছে, অন্যদিকে ডেল্টা ও (এম | সিগমা |) এন্ট্রি রয়েছে তাই আমরা | সিগমা | এর একটি উপাদান সংরক্ষণ করি | ডিলটিএর চেয়ে পিআই গণনা করে প্রিপ্রোসেসিং সময়ে।

    [1] কর্পেন, লিজারসন, রিভস্ট, স্টেইন ইন্ট্রোডাকিউশন টু অ্যালগোরিদম, ২ য় সংস্করণ, এমআইটি প্রেস

    [২] সীমাবদ্ধ অটোমেশন তত্ত্বটি দেখুন

  20. বিকল্পটি কখন পছন্দ করবেন তার জন্য রেফারেন্স এবং সুপারিশগুলির সাথে বয়র-মুর প্যাটার্ন মিলছে

    বায়ার-মুরের স্ট্রিং মিলে যাওয়া অ্যালগরিদমকে কার্যকর করে:

    [1] একটি দ্রুত স্ট্রিং অনুসন্ধানকারী অ্যালগরিদম, আরএস বায়ার এবং মুর। অ্যাসোসিয়েশন ফর কম্পিউটিং মেশিনারি, 20 (10), 1977, পৃষ্ঠা 762-772 এর যোগাযোগ। http://www.cs.utexas.edu/users/moore/publications/fstrpos.pdf

    [২] সঠিক স্ট্রিং ম্যাচিং অ্যালগরিদমস, থিয়েরি লেক্রোকের হ্যান্ডবুক, 2004 http://www-igm.univ-MLv.fr/~lecroq/string/string.pdf

    দ্রষ্টব্য: যেহেতু বায়ার-মুর (বিএম) ডান থেকে বামে ম্যাচের জন্য অনুসন্ধানগুলি করে, তবুও এটি সম্ভব যে কোনও মিলটি একাধিক ব্লকের মধ্যে ছড়িয়ে দেওয়া যেতে পারে, সেক্ষেত্রে এই অ্যালগরিদম কোনও কাকতালীয়তা খুঁজে পাবে না।

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

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

ক্রোমিয়াম ওয়েব ব্রাউজারে ডেটা স্ট্রাকচার এবং অ্যালগরিদম

লিঙ্কগুলি গুগল কোডে উত্স কোডে রয়েছে । আমি কেবল কয়েকটি তালিকা করতে যাচ্ছি। আমি আপনার পছন্দসই অ্যালগরিদম বা ডেটা কাঠামো সন্ধানের জন্য অনুসন্ধান বৈশিষ্ট্যটি ব্যবহার করার পরামর্শ দেব।

  1. গাছ ছড়িয়ে দাও

    গাছ একটি বরাদ্দ নীতি (বরাদ্দকারী) দ্বারা প্যারামিটারাইজডও হয়। নীতিটি সি ফ্রি স্টোর বা জোনে তালিকা বরাদ্দ দেওয়ার জন্য ব্যবহৃত হয়; অঞ্চল দেখুন।

  2. ভেরোনাই চিত্রগুলি একটি ডেমোতে ব্যবহৃত হয়।
  3. ব্রেসেনহ্যামের অ্যালগরিদমের উপর ভিত্তি করে ট্যাবিং
এছাড়াও ক্রোমিয়াম কোড অন্তর্ভুক্ত তৃতীয় পক্ষের কোডে এই জাতীয় ডেটা স্ট্রাকচার এবং অ্যালগরিদম রয়েছে।

  1. বাইনারি গাছ
  2. লাল-কালো গাছ

    জুলিয়ান ওয়াকার উপসংহার

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

    ...

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

  3. এভিএল গাছ
  4. রাবিন-কার্প স্ট্রিং মিলটি সংকোচনের জন্য ব্যবহৃত হয়।
  5. একটি অটোমেটনের প্রত্যয়গুলি গণনা করুন
  6. অ্যাপল ইনক দ্বারা কার্যকর ব্লুম ফিল্টার
  7. ব্রেনহ্যামের অ্যালগরিদম

প্রোগ্রামিং ভাষার গ্রন্থাগারসমূহ

আমি তাদের বিবেচনা যোগ্য মনে করি। প্রোগ্রামিং ল্যাঙ্গুয়েজ ডিজাইনাররা ভেবেছিলেন যে এই ডেটা স্ট্রাকচার এবং অ্যালগরিদমগুলি বাস্তবায়নের জন্য কিছু ইঞ্জিনিয়ারদের সময় এবং প্রচেষ্টা মূল্যবান যাতে অন্যদেরও এটির প্রয়োজন না হয়। লাইব্রেরিগুলির অস্তিত্ব হ'ল কারণ হিসাবে আমরা সফ্টওয়্যারটিতে পুনরায় প্রয়োগ করা মৌলিক ডেটা স্ট্রাকচারগুলি খুঁজে পেতে পারি যা সি তে লেখা হয় তবে জাভা অ্যাপ্লিকেশনগুলির জন্য কম।

  1. সি ++ STL তালিকা, স্ট্যাকগুলি, সারিগুলি, মানচিত্র, ভেক্টর, এবং আলগোরিদিম জন্য রয়েছে , বাছাই অনুসন্ধান এবং গাদা ম্যানিপুলেশন
  2. জাভা এপিআই খুব বিস্তৃত এবং আরও অনেক কিছু কভার করে।
  3. বুস্ট সি ++ লাইব্রেরি বুইয়ার মুর এবং Knuth-মরিস-প্র্যাট স্ট্রিং ম্যাচিং আলগোরিদিম মত আলগোরিদিম অন্তর্ভুক্ত করা হয়েছে।

বরাদ্দ এবং নির্ধারিত অ্যালগরিদম

আমি এগুলি আকর্ষণীয় বলে মনে করি কারণ এগুলি হিউরিস্টিকস বলা হলেও, আপনি যে নীতি ব্যবহার করেন তা হ'ল আলগোরিদম এবং ডেটা কাঠামোর ধরণের প্রয়োজন যা প্রয়োজনীয়, সুতরাং স্ট্যাক এবং সারি সম্পর্কে আপনার জানা দরকার।

  1. সর্বনিম্ন সম্প্রতি ব্যবহৃত একাধিক উপায়ে প্রয়োগ করা যেতে পারে। লিনাক্স কার্নেলের মধ্যে একটি তালিকা-ভিত্তিক বাস্তবায়ন
  2. অন্যান্য সম্ভাবনা হ'ল ফার্স্ট ইন ফার্স্ট আউট, কমপক্ষে ঘন ঘন ব্যবহৃত হয়, এবং রাউন্ড রবিন।
  3. ফিফোর একটি বৈকল্পিক ভ্যাক্স / ভিএমএস সিস্টেম ব্যবহার করেছিল।
  4. ক্লক অ্যালগরিদম দ্বারা রিচার্ড কার লিনাক্স পৃষ্ঠার ফ্রেম প্রতিস্থাপন জন্য ব্যবহার করা হয়।
  5. ইন্টেল আই 860 প্রসেসর একটি এলোমেলো প্রতিস্থাপন নীতি ব্যবহার করেছে।
  6. অভিযোজিত প্রতিস্থাপন ক্যাশে কিছু আইবিএম স্টোরেজ কন্ট্রোলার ব্যবহার করা হয় যদিও পোস্টগ্রি ক্ষেত্রে ব্যবহার করা হয়েছিল পেটেন্ট কারণে সংক্ষেপে
  7. বাডি মেমরি অ্যালোকেশন অ্যালগরিদম , যা TAOCP ভোল মধ্যে Knuth দ্বারা আলোচনা করা হয়। 1 লিনাক্স কার্নেল এবং জেমমলোক সমকালীন বরাদ্দকারী ফ্রিবিএসডি এবং ফেসবুকে ব্যবহৃত হয় ।

* নিক্স সিস্টেমে মূল ব্যবহারসমূহ

  1. , grep এবং awk নিয়মমাফিক এক্সপ্রেশন থেকে NFAs এর থম্পসন-McNaughton-ইয়ামাদা নির্মাণ, যা দৃশ্যত বাস্তবায়ন এমনকি beats পার্ল বাস্তবায়ন
  2. tsort টপোলজিকাল সাজান প্রয়োগ করে।
  3. fgrep আহো-করাসিক স্ট্রিং মেলানো অ্যালগরিদম প্রয়োগ করে
  4. জিএনইউ গ্রেপ , লেখক মাইক হার্টেলের মতে বায়ার-মুর আলগোরিদম প্রয়োগ করে
  5. ইউনিক্সে ক্রিপ্ট (1) এনিগমা মেশিনে এনক্রিপশন অ্যালগরিদমের একটি বৈকল্পিক প্রয়োগ করেছিল।
  6. জেমস হান্টের সহ-লিখিত প্রোটোটাইপের উপর ভিত্তি করে ডগ ম্যাকিলরোয় দ্বারা প্রয়োগ করা ইউনিক্স ডিফ লেভেনস্টেইন দূরত্ব গণনা করতে ব্যবহৃত স্ট্যান্ডার্ড ডায়নামিক প্রোগ্রামিং অ্যালগরিদমের চেয়ে আরও ভাল সম্পাদন করে। লিনাক্স সংস্করণ নির্ণয় সবচেয়ে কম সম্পাদন করা দূরত্ব।

ক্রিপ্টোগ্রাফিক অ্যালগোরিদম

এটি একটি দীর্ঘ তালিকা হতে পারে। ক্রিপ্টোগ্রাফিক অ্যালগরিদমগুলি সমস্ত সফ্টওয়্যারগুলিতে প্রয়োগ করা হয় যা সুরক্ষিত যোগাযোগ বা লেনদেন সম্পাদন করতে পারে।

  1. Merkle গাছ , বিশেষ করে টাইগার বৃক্ষ হ্যাশ বৈকল্পিক, যেমন পিয়ার টু পিয়ার অ্যাপ্লিকেশন ব্যবহার করা হয়েছিল জিটিকে Gnutella এবং LimeWire
  2. এমডি 5 সফ্টওয়্যার প্যাকেজগুলির জন্য একটি চেকসাম সরবরাহ করতে ব্যবহৃত হয় এবং * নিক্স সিস্টেমে ( লিনাক্স বাস্তবায়ন ) অখণ্ডতা পরীক্ষার জন্য ব্যবহৃত হয় এবং এটি উইন্ডোজ এবং ওএস এক্সে সমর্থিত is
  3. ওপেনএসএসএল এইএস, ব্লোফিশ, ডিইএস, এসএএএ -1, এসএইএ -2, আরএসএ, ডিইএস ইত্যাদি সহ অনেকগুলি ক্রিপ্টোগ্রাফিক অ্যালগরিদম প্রয়োগ করে

কম্পাইলার

  1. এলএএলআর পার্সিং ইয়্যাক এবং বাইসন দ্বারা প্রয়োগ করা হয়।
  2. ডোমিনেটর অ্যালগরিদমগুলি এসএসএ ফর্মের ভিত্তিতে সর্বাধিক অনুকূলকরণকারী সংকলকগুলিতে ব্যবহৃত হয়।
  3. লেক্স এবং ফ্লেক্স এনএফএগুলিতে নিয়মিত প্রকাশগুলি সংকলন করে।

সংক্ষেপণ এবং চিত্র প্রক্রিয়াজাতকরণ

  1. জিআইএফ চিত্র বিন্যাসের জন্য লেম্পেল-জিভ অ্যালগরিদমগুলি ইমেজ ম্যানিপুলেশন প্রোগ্রামগুলিতে প্রয়োগ করা হয়, * নিক্স ইউটিলিটি থেকে শুরু করে জটিল প্রোগ্রামগুলিতে রূপান্তর
  2. রান লেংথ এনকোডিংটি পিসিএক্স ফাইলগুলি তৈরি করতে ব্যবহৃত হয় (মূল পেইন্টব্রাশ প্রোগ্রাম দ্বারা ব্যবহৃত), সংকুচিত বিএমপি ফাইল এবং টিআইএফএফ ফাইল।
  3. ওয়েভলেট সংক্ষেপণটি JPEG 2000 এর ভিত্তি, সুতরাং JPEG 2000 ফাইল তৈরি করা সমস্ত ডিজিটাল ক্যামেরা এই অ্যালগরিদম বাস্তবায়ন করবে।
  4. রিড-সলোমন ত্রুটি সংশোধনটি লিনাক্স কার্নেল , সিডি ড্রাইভ, বারকোড পাঠকগুলিতে প্রয়োগ করা হয় এবং ভয়েজার থেকে চিত্র সংক্রমণের জন্য সমাবর্তনের সাথে মিলিত হয়েছিল।

দ্বন্দ্ব চালিত ক্লজ লার্নিং

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

স্যাট সলভারগুলির প্রয়োগ অসংখ্য আইবিএম, ইন্টেল এবং আরও অনেক সংস্থার নিজস্ব স্যাট সলভার বাস্তবায়ন রয়েছে। প্যাকেজ ম্যানেজার openSUSE মধ্যে একটি স্যাট সমাধানকারী ব্যবহার করে।


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

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

28
এটি একটি শিক্ষার্থীর জন্য একটি ধন
neo1691

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

4
হ্যাকার সংবাদ এবং আর / প্রোগ্রামিং।
বিজয় ডি

40

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

আমরা কোনও ওয়েবপৃষ্ঠায় শুরু করে একটি "র্যান্ডম সার্ফার" কল্পনা করি এবং বারবার একটি এলোমেলো লিঙ্কে ক্লিক করে তাকে একটি নতুন পৃষ্ঠায় নিয়ে যেতে। প্রশ্নটি হল, "সার্ফার প্রতিটি পৃষ্ঠায় কতটুকু সময় ব্যয় করবে?" সার্ফার একটি পৃষ্ঠায় যত বেশি সময় ব্যয় করবে তত বেশি গুরুত্বপূর্ণ পৃষ্ঠাটি বিবেচনা করা হবে।

এম

এমπ0π0এম


7
আমি মনে করি না এটি সাধারণ আলগোরিদিম উপাদান।
মানু

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

2
আমরা পেজর্যাঙ্ককে স্নাতককে পড়াই।
অ্যারন রথ

6
আমি এটিকে আন্ডারগ্রাজুয়েটগুলিকেও শেখাই (প্রয়োজনীয় অ্যালগরিদম শ্রেণিতে এবং একটি আরও বিশেষায়িত গ্রাফ অ্যালগরিদমে বৈকল্পিক)।
ডেভিড এপস্টিন

2
আমি পেজর্যাঙ্কটি নির্বাচনীতে স্নাতক হিসাবে শিখেছি।
বিজয় ডি

33

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

"যদি কেউ গণিত সংক্রান্ত সমস্যাটি বিশ্বের বেশিরভাগ কম্পিউটার সময় ব্যবহার করে থাকে সে সম্পর্কে পরিসংখ্যান গ্রহণ করে তবে উত্তরটি রৈখিক প্রোগ্রামিং হতে পারে। " (এল। লোভেজ, একটি নতুন) লিনিয়ার প্রোগ্রামিং অ্যালগরিদম-সিমপ্লেক্স পদ্ধতির চেয়ে ভাল বা খারাপ? গণিত ইন্টেলিজেন্স 2 (3) (1979/80) 141-146।)

থিমিতেও সিম্প্লেক্স অ্যালগরিদমের দুর্দান্ত প্রভাব রয়েছে; উদাহরণস্বরূপ, (বহুভুজ) হির্চ কনজেকচার দেখুন

আমি অনুমান করি একটি সাধারণ স্নাতক বা পিএইচডি। অ্যালগরিদম শ্রেণিতে সিম্প্লেক্স অ্যালগরিদম (গাউস এলিমিনেশন পদ্ধতির মতো লিনিয়ার বীজগণিত থেকে মৌলিক অ্যালগরিদম সহ) নিয়ে কাজ করে।

(বাছাইয়ের জন্য কুইকসোর্ট সহ অন্যান্য সফল অ্যালগরিদমগুলি বই থেকে অ্যালগরিদমে তালিকাভুক্ত রয়েছে ))


"অর্থনীতি এবং অপারেশন গবেষণা" যথেষ্ট নির্দিষ্ট নয়। সিপ্লেএক্স হ'ল আমি যে ধরণের উদাহরণ খুঁজছিলাম তা নয়, কারণ এটি কেবলমাত্র অ্যালগরিদমের বাস্তবায়ন; এটি আলাদা হবে যদি, বলি, জিসিসি সংকলক সিমপ্লেক্স পদ্ধতিটি ব্যবহার করে।
মানু

12
আমি মনে করি যখন আমরা অর্থনীতি এবং ওআর সম্পর্কে কথা বলি তখন "লিনিয়ার প্রোগ্রামিং সমস্যাগুলি" যথেষ্ট সুনির্দিষ্ট। এছাড়াও, সিপিএএলএক্স দ্বারা আমি বুঝিয়েছি বাস্তবায়নের পিছনে অ্যালগরিদম।
ভিবি লে

16
"বর্তমানে, বেশিরভাগ বৃহত সংস্থাগুলি পণ্যের মূল্য নির্ধারণ এবং সরবরাহের চেইনগুলি পরিচালনা করতে লিনিয়ার প্রোগ্রামিং ব্যবহার করে Transport শিল্পটি এটি অনুসন্ধান, মিশ্রণ, উত্পাদনের সময়সূচী এবং বিতরণের জন্য ব্যবহার করে iron লোহা এবং ইস্পাত শিল্পটি লোহার আকরিকগুলি
সাশো নিকোলভ

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

10
আমার মাথার উপরে, ২০০ 2007 সাল থেকে ল্যাক্স (বিমানবন্দর) সুরক্ষা কর্মীদের সময় নির্ধারণের জন্য স্ট্যাকেলবার্গ গেমস সমাধানের জন্য সফ্টওয়্যার ব্যবহার করেছে। বড় বড় এলপিকে সমাধান করা পুরো জিনিসটিরই একটি অংশ, উদাহরণস্বরূপ Teamcore.usc.edu/ARMOR-LAX দেখুন । তদ্ব্যতীত, আমি আপনার অপারেশনস গবেষণা বিভাগের কাউকে জিজ্ঞাসা করব: তাদের সাধারণত বাস্তব জীবনে এলপি ব্যবহার সম্পর্কে প্রচুর যুদ্ধের গল্প থাকবে
সাশো নিকোলভ

30

আমি এটি বুঝতে পেরেছি যে, জাতীয় আবাসিক মিলন কর্মসূচি দীর্ঘকাল ধরে স্থিতিশীল বিবাহের সমস্যার জন্য কেবল গেলা-শ্লেলি অ্যালগরিদমের সরাসরি প্রয়োগ ছিল । এরপরে স্পোসাল অ্যাসাইনমেন্ট (যেমন "দ্বি-দেহের সমস্যা") ইত্যাদির কিছু অতিরিক্ত বিবরণ হ্যান্ডেল করার জন্য এটি সামান্য আপডেট করা হয়েছে ...


আমি নিশ্চিত নই যে স্থির বিবাহ সাধারণ আলগোরিদম উপাদান ms
মানু

16
এটি তারদোস এবং ক্লেইনবার্গ অ্যালগোরিদম ডিজাইন বইতে এবং মোতওয়ানির র্যান্ডমাইজড অ্যালগরিদমগুলিতেও রয়েছে এবং উভয় বইই বহুল ব্যবহৃত হয়। অবিচলিত বিবাহটি অ্যালগরিদম কোর্সে সর্বজনীনভাবে শেখানো না যেতে পারে তবে এটি অবশ্যই তাদের বেশিরভাগ ক্ষেত্রেই শেখানো হয়।
সাশো নিকোলভ

10
একটি দ্রুত অনুসন্ধানে জানা গেছে যে এটি বার্কলে সিএস 70 , এমআইটির 6.042 , ইউএমডি'র সিএমএসসি 451 ইত্যাদিতে প্রদর্শিত হয়েছে ...
মুহম

1
মজার বিষয় হল, আপনি যখন বিবাহের কাজগুলি যুক্ত করেন, তখন সমস্যাটি এনপি-সম্পূর্ণ হয়: arxiv.org/abs/1308.4534 । : কিন্তু, বাস্তবে এই একটা সমস্যা খুব বেশী কারণ হতে না মনে en.wikipedia.org/wiki/...
জশুয়া Grochow

2
@ এমানুয়েভিয়োলা যদিও এটি traditionতিহ্যগতভাবে আচ্ছাদন করা যায় না, ক্লিনবার্গ / তার্ডোস বইয়ের অন্তর্ভুক্তি এটি আরও জনপ্রিয় করে তুলেছে, (এবং যদি তা না হয়!)
সুরেশ ভেঙ্কট

24

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


1
এবং আমি হাফম্যান এনকোডিংয়ের আন্ডারগ্রাড হিসাবে একটি বক্তৃতা পেয়েছি, যা একটি প্রকল্পের জন্য প্রয়োজনীয় ছিল।
ব্রায়ান এস

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

21

GNU গ্রেপ একটি নির্দিষ্ট প্যাটার্নের সাথে ম্যাচযুক্ত লাইনগুলির জন্য এক বা একাধিক ইনপুট ফাইলগুলি অনুসন্ধান করার জন্য একটি কমান্ড লাইন সরঞ্জাম। এটি সুপরিচিত যে গ্রেপ খুব দ্রুত! এখানে এর লেখক মাইক হার্টেলের একটি উদ্ধৃতি ( এখান থেকে নেওয়া ):

GNU grep uses the well-known Boyer-Moore algorithm, which looks first for the
final letter of the target string, and uses a lookup table to tell it how far
ahead it can skip in the input whenever it finds a non-matching character.

19

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

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


আমি মনে করি এটি শিক্ষণীয় তবে ব্যাপকভাবে শেখানো হয়নি।
মানু

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

ব্যক্তিগত অভিজ্ঞতা হিসাবে, এলএসএইচ "বড় ডেটা" (100MLn আইটেম) এর উদাহরণে আমাদের জন্য স্কেল করেনি।
লিনক্সয়েড

1
@ এলএনক্সয়েড এটি একটি পৃথক আলোচনা / প্রশ্ন :)। এটি কোথায় কাজ করে তার যথেষ্ট উদাহরণ রয়েছে যা আমি মনে করি এটি এই নির্দিষ্ট প্রশ্নের সাথে প্রাসঙ্গিক।
সুরেশ ভেঙ্কট

18

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

এই ডেটা স্ট্রাকচারের শিল্প ব্যবহারের কয়েকটি উদাহরণ হ'ল:

  • কাঠামোগত ডেটা বিশ্লেষণের জন্য গুগলের সাওজাল সিস্টেম একটি 'সর্বাধিক জনপ্রিয় আইটেম' ফাংশন বাস্তবায়নের জন্য কাউন্ট স্কেচ ব্যবহার করে
  • নেটওয়ার্ক ট্র্যাফিক নিরীক্ষণের জন্য এটিএন্ডটি-র জিগাস্কোপ "স্ট্রিম ডাটাবেস" সিস্টেম কাউন্টমিন স্কেচ প্রয়োগ করে।
  • স্প্রিন্টের কন্টিনিউজ মনিটরিং (সিএমওএন) সিস্টেম কাউন্টমিন প্রয়োগ করে।

এখানে এমন একটি সাইট রয়েছে যা কাউন্টমিনের অ্যাপ্লিকেশনগুলি সম্পর্কে তথ্য সংগ্রহ করে।

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


1
দুর্দান্ত উদাহরণ (যদিও এখন পুরোপুরি কোর অ্যালগো নেই)।
মানু

16

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

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

  • ন্যাশনাল কিডনি রেজিস্ট্রি সিপ্লেএক্স সহ কিছু স্ট্যান্ডার্ড অ্যালগরিদমও ব্যবহার করে। এর ফলে 60 জনকে সংযুক্ত করে ট্রান্সপ্ল্যান্টের একটি বাস্তবে সম্পাদিত শৃঙ্খলা তৈরি হয়েছিল

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


এছাড়াও, এই অ্যালগরিদমগুলির একটি সহজ সংস্করণ বোর্ড গেমগুলির ব্যবসায়ের জন্য ব্যবহৃত হয়: Okasaki.blogspot.co.uk/2008/03/ কি-heck
রাদু গ্রেগোর

15

বিতিরবির অ্যালগরিদম, যা এখনও স্পিচ স্বীকৃতি এবং একাধিক অন্যান্য অ্যাপ্লিকেশনগুলিতে ব্যাপকভাবে ব্যবহৃত হয়: http://en.wikedia.org/wiki/Viterbi_algorithm অ্যালগরিদম নিজেই বেসিক ডায়নামিক প্রোগ্রামিং।

উইকিপিডিয়া থেকে: "ভিটারবি অ্যালগরিদমটি ১৯ 19 no সালে গোলমাল ডিজিটাল যোগাযোগের লিঙ্কগুলিতে কনভোলজিকাল কোডগুলির জন্য একটি ডিকোডিং অ্যালগরিদম হিসাবে প্রস্তাব করেছিলেন অ্যান্ড্রু ভিটার্বি। [1] অ্যালগরিদম সিডিএমএ এবং জিএসএম ডিজিটাল সেলুলার উভয় ক্ষেত্রে ব্যবহৃত কনভোলশনাল কোডগুলি ডিকোড করার ক্ষেত্রে সর্বজনীন প্রয়োগ পেয়েছে, ডায়াল-আপ মডেমস, স্যাটেলাইট, গভীর-স্পেস যোগাযোগ এবং 802.11 ওয়্যারলেস ল্যান.এটি এখন সাধারণত স্পিচ রিকগনিশন, স্পিচ সংশ্লেষণ, কীওয়ার্ড স্পটিং, কম্পিউটেশনাল ভাষাতত্ত্ব এবং বায়োইনফরম্যাটিক্সে ব্যবহৃত হয় উদাহরণস্বরূপ, স্পিচ-টু-টেক্সটে (স্পিচ স্বীকৃতি), শাব্দ সংকেত ঘটনাগুলির পর্যবেক্ষণের অনুক্রম হিসাবে গণ্য করা হয়, এবং পাঠ্যের একটি স্ট্রিং শাব্দ সংকেতের "লুকানো কারণ" হিসাবে বিবেচিত হয়। ভিটারবি অ্যালগরিদম শাব্দ সংকেত প্রদত্ত পাঠ্যের সর্বাধিক সম্ভাব্য স্ট্রিংটি আবিষ্কার করে ""


13
  1. এ * অনেকগুলি ব্যক্তিগত নেভিগেশন ডিভাইসে (ওরফে জিপিএস ইউনিট) ব্যবহৃত হয়
  2. একটি * খুব সুস্পষ্টভাবে সংজ্ঞায়িত করা হয়েছে এবং এটি মোটামুটি সোজাভাবে প্রয়োগ করা হয়েছে।
  3. এ * সম্পূর্ণ তুচ্ছ নয়, তবে এটি পিএইচডি নেয় না take এটা বুঝতে।

একটি * প্রায়শই গেম ডিজাইনে শেখানো হয়। আমি মনে করি না যে আধুনিক 3 ডি গেমগুলি সাধারণত এনপিসি নেভিগেশনের জন্য এ * ব্যবহার করে তবে 2 ডি / আইসোমেট্রিক গেমস পাশাপাশি পুরানো গেমগুলিও অ্যালগরিদমটি ব্যবহার করে।
ব্রায়ান এস

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

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

12

চিপ ডিজাইনের জন্য জেনস ভাইজেনের প্রকল্প বনটুলগুলি দেখুন। http://www.or.uni-bonn.de/~vygen/projects.html আমি এ সম্পর্কে কিছু আলোচনা শুনেছি এবং তাদের কয়েকটি কাগজও দেখেছি। তারা রাঘাভান-থম্পসন স্টাইলটি এলোমেলোভাবে রাউন্ডিংয়ের পাশাপাশি বৃহত্তর স্কেল মাল্টিকোমোডিটি প্রবাহ এলপিগুলিকে সমাধান করার জন্য গুণক ওজন আপডেট পদ্ধতি ব্যবহার করে। তবে যে কোনও বড় প্রকল্পের মতো তাদের কিছু ইঞ্জিনিয়ারিংও করা দরকার তবে পদ্ধতিটি খুব বেশি সুপরিচিত অ্যালগরিদমের উপর ভিত্তি করে।


আমি একবার দেখে নেব তবে এটি সাধারণ অ্যালগরিদম উপাদানগুলির মতো শোনাচ্ছে না।
মানু

8
হুঁ, এলোমেলোভাবে রাউন্ডিং সাধারণত পিএইচডি স্তরের অ্যালগরিদম কোর্সে শেখানো হয়, না?
চন্দ্র চেকুরি

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


10

আমি বরং অবাক হয়েছি যে উপরের সমস্ত অভিনব অ্যালগরিদমগুলির সাথে, কেউ সংকোচনের অ্যালগোরিদমগুলির শ্রদ্ধেয় লেম্পেল-জিভ পরিবারের উল্লেখ করেনি (1977/78 সালে উদ্ভাবিত)।

  1. এগুলি সর্বত্র ব্যবহৃত হয় - প্রক্রিয়াকরণ স্ট্রিম করার জন্য ছবিতে টেক্সট। এটি বেশ সম্ভব যে এলজেডেড * অস্তিত্বের মধ্যে একক সর্বাধিক ব্যবহৃত অ্যালগরিদম পরিবার।
  2. অভিধান সংক্ষেপণ ছিল সংক্ষেপণ তত্ত্বের যথেষ্ট অগ্রগতি এবং শ্যানন-ফানো শৈলীর পদ্ধতির থেকে একেবারে প্রস্থান।
  3. পরিবারের আলগোরিদিমগুলি বরং সহজবোধ্য এবং বোঝা সহজ।

হালনাগাদ

স্পষ্টতই এটি ইতিমধ্যে সংক্ষেপে উল্লেখ করা হয়েছিল।


10

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

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


10

জিউনো অ্যাসেমব্লির গোড়ায় একটি ইউলরিয়ান পাথ সন্ধান করা - সম্পূর্ণ জিনোমগুলির সাথে কাজ করার সময় সাধারণত একটি কাজ সম্পাদিত হয় (বায়োইনফরম্যাটিকস, মেডিসিন, ফরেনসিক, বাস্তুশাস্ত্রে)।

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

UPDATE2 নূন্যতম প্রতিক্রিয়া ভারটেক্স সেট সমস্যাটি অনেকগুলি ওএসে ডেডলক রেজোলিউশনের জন্য ব্যবহৃত হয়।


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

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

আমি নিশ্চিত প্যাকিং যদিও গুরুত্বপূর্ণ।
লিনক্সয়েড

9

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


8

তুলনামূলকভাবে এই নতুন বইটি সুবিধার, বর্ধিত / সংগৃহীত ফর্মটিতে প্রশ্নের সম্পূর্ণ / বিস্তারিত উত্তর হিসাবে বিবেচনা করার মতো এবং এটি একটি অ্যালগরিদম শ্রেণীর পরিপূরক উপাদান হিসাবে ব্যবহৃত হতে পারে। [এর কয়েকটি ইতিমধ্যে উল্লেখ করা হয়েছে; শক্তিশালী ওভারল্যাপটি নিজেই উল্লেখযোগ্য]


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

7

Knuth-মরিস-প্র্যাট স্ট্রিং সার্চ ব্যাপকভাবে ব্যবহার করা হয়, নির্দিষ্ট, এবং undergrad / স্নাতক সি এস উপদেশ দিয়েছেন।


2
আপনি যদি একটি নির্দিষ্ট ব্যবহারের দিকে ইঙ্গিত করতে পারেন তবে ভাল হবে। এমএস ওয়ার্ডের মতো কিছু কেএমপি ব্যবহার করে।
মানু

6

খুব বেসিক অ্যালগরিদম ভাবনা

  1. এলোমেলো নম্বর জেনারেটর সর্বত্র এবং বিশেষত সমস্ত গেমগুলিতে পাওয়া যায়।
  2. ডেটাবেসগুলি বি +, হ্যাশস, অগ্রাধিকারের সারি, নিয়মিত প্রকাশ, ক্রাইপোগ্রাফি, বাছাই করা ইত্যাদিসহ অনেক অ্যালগরিদমের সমন্বয়ে গঠিত ... আমার এক বন্ধু জানিয়েছেন এসজিবিডিগুলি কম্পিউটিং ফুড চেইনের শীর্ষে রয়েছে।
  3. বাছাই সর্বত্র ব্যবহৃত হয়, উদাহরণস্বরূপ এক্সলে। এটি প্রকৃত জীবনে সর্বদা ব্যবহৃত হয়, তবে সাধারণত মানুষ অ্যাড-হক অ্যালগোরিদম ব্যবহার করে
  4. সমতা বিটগুলি চারদিকে ব্যবহৃত হয়
  5. হাফম্যান এনকোডিং সংকোচনে এবং সংক্রমণ সফ্টওয়্যারটিতে রয়েছে
  6. স্ট্যাকস (LIFO) সর্বত্র ব্যবহৃত হয়। প্রোগ্রামিং ভাষার ভিতরে, সিপিইউ ইত্যাদিতে ...

তারা বাস্তব জীবনে উপস্থিত হচ্ছেন তা দেখে আনন্দিত:

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


4
বাছাই কোনও অ্যালগরিদম নয়। এটি একটি কাজ, অর্থাত্, আপনি যা সম্পাদন করতে চান এমন কিছু, যার জন্য আপনাকে অবশ্যই একটি অ্যালগরিদম ডিজাইন করতে (বা, বাস্তবে বেছে নিতে হবে)।
ডেভিড রিচার্বি

এগুলি প্রশ্নের অনুরোধ অনুসারে নির্দিষ্ট উদাহরণ বলে মনে হচ্ছে না।
কাভেহ

যারা জানেন না তাদের জন্য এসজিবিডি == আরডিবিএমএস এফওয়াইআই।
অটোডিডাক্ট

6

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

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


6

এফএফটির একটি উদাহরণ

আমি একবার একটি এফএফটি অ্যালগরিদমকে অন্য একটি সিস্টেমের ভাষায় বন্দরে সহায়তা করেছি।

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

উপরে উল্লিখিত এফএফটি ব্যাপকভাবে ব্যবহৃত হয়, তবে এটি অনুশীলনের মধ্যে আমি আরও বেশি স্পষ্ট ও স্পষ্টত (কেন এবং কীভাবে) দেখেছি one

দুঃখিত আমি এটি একটি উচ্চ স্তরের রাখা ছিল।


5

ব্রেনহ্যামের লাইন অ্যালগরিদম হ'ল একমাত্র সর্বাধিক দরকারী অ্যালগরিদম আমি জুড়ে এসেছি। Ive এটিকে 3 ডি ingালাই ইঞ্জিনের জন্য একটি জটিল বহুভুজ রেন্ডারারের জন্য লাইন অঙ্কন থেকে শুরু করে একটি জটিল স্প্লিনারের কাছে প্রচুর অ্যাপ্লিকেশনের পাশাপাশি জটিল অ্যানিমেশন এবং স্কেলিং ব্যবহারের জন্য ব্যবহার করে Easy


4

কাস্টমাইজেবল রুট প্ল্যানিং (ড্যানিয়েল ডিলিং, অ্যান্ড্রু ভি। গোল্ডবার্গ, টমাস পাজোর, এবং রেনাটো এফ ওয়ার্নেক) http://research.microsoft.com/apps/pubs/default.aspx?id=145688

বিং ম্যাপের ক্ষমতা: http://www.bing.com/blogs/site_blogs/b/maps/archive/2012/01/05/bing-maps-new-routing-engine.aspx


2

উইকিপিডিয়ায় একটি তালিকাতে কমবেশি শ্রেণিবদ্ধ আলগোরিদিম / অ্যাপ্লিকেশনগুলির একটি শালীন সংগ্রহ রয়েছে । মাইক্রোসফ্ট শীর্ষ স্তরের কাগজপত্র সরবরাহ করে তবে কম্পিউটার বিজ্ঞানের ক্ষেত্র বা অ্যাপ্লিকেশন সম্পর্কিত কোনও স্পষ্ট ব্যাখ্যা ছাড়াই। প্রফেসর হুয়াং দ্বারা সংকলিত বিভিন্ন সিএস সম্মেলন থেকেও একটি কালানুক্রমিক তালিকা _http: //jeffhuang.com/best_paper_awards.html_ রয়েছে।

স্পেকট্রাল ক্লাস্টারিং হ'ল মার্জিত ক্লাস্টারিং অ্যালগরিদম, যা চিত্র বিভাজনের জন্য জিয়ানবো শি এবং জিতেন্দ্র মালিক প্রবর্তিত নরমালাইজড কাটস অ্যালগোরিদম হিসাবে পরিচিত । এটি উভয় সম্প্রদায়ের মধ্যে একটি ভাল ছেদ হিসাবে, ডেটা ক্লাস্টারিং অ্যাপ্লিকেশনগুলিতেও বেশ উন্নত হয়েছে।


-2

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

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

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


-3

রোসেটা কোড প্রোগ্রামিং টাস্ক (692) এবং প্রোগ্রামিং ল্যাঙ্গুয়েজ (518) দ্বারা সিমেন্টিক মিডিয়াউইকের সাহায্যে প্রয়োগ করা অ্যালগরিদমগুলির তালিকা দেয় ।


কীভাবে এটি "কোর অ্যালগরিদম ... বাণিজ্যিক, সরকারী, বা বহুল ব্যবহৃত-সফটওয়্যার / হার্ডওয়্যারে মোতায়েন" এর উদাহরণ?
ডেভিড রিচার্বি

এখানে উইকিপিডিয়া / ডিবিপিডিয়া ইউআরআই-তে অন্য উত্তরে তালিকাভুক্ত চমৎকার অ্যালগরিদমগুলির প্রতিটি বাস্তবায়নের ক্রস-রেফারেন্সটি কার্যকর হবে। এই সমস্ত অ্যালগোরিদমের জন্য উইকিপিডিয়া / ডিবিপিডিয়া ইউআরআই নেই; তবে রোসটা কোড পৃষ্ঠা রয়েছে।
ওয়েস টার্নার

bigocheatsheet.com এছাড়াও বিগ-ও জটিলতা এবং উইকিপিডিয়া নিবন্ধগুলির লিঙ্কগুলি বেশ কয়েকটি অ্যালগোরিদমের জন্য তালিকাবদ্ধ করে।
ওয়েস টার্নার

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

তবুও একটি দরকারী, প্রাসঙ্গিক প্রাসঙ্গিক রেফারেন্স।
ওয়েস টার্নার

-5

এই দর্শকের কাছে আগ্রহের সমস্ত বড় / পছন্দসই অ্যালগরিদম সম্ভবত এই সময়ে উল্লেখ করা হয়েছে। তবে সম্পূর্ণতার জন্য আরও কয়েকটি উল্লেখ যোগ্য serve & এটিকে একটি উল্লেখযোগ্য অ্যালগরিদম হিসাবে বিবেচনা করা হয় তার কিছু বিশ্লেষণ এখানে প্রাসঙ্গিক।

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

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

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

কখনও কখনও সবচেয়ে সর্বব্যাপী অ্যালগরিদম এছাড়াও সবচেয়ে অবহেলিত হয়! ইন্টারনেট এবং ডাব্লুডাব্লুডাব্লু অ্যালগোরিদমের জন্য একটি বৃহত পরিবেশ / কাছাকাছি বাস্তুশাস্ত্র। এখনও প্রায় ২ দশক পুরানো (উদ্ভাবিত ~ 1991) এ তুলনামূলকভাবে অল্প বয়সে এটি অল্প সময়ের মধ্যে ব্যাপকভাবে এবং তাত্পর্যপূর্ণভাবে বেড়েছে। ডাব্লুডাব্লুডাব্লু সাইটের বৃদ্ধি সম্ভবত বিখ্যাত ঘাতক মুরস আইনকেও ছাড়িয়ে গেছে।

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

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

এটি পরিশীলিত ত্রুটি সনাক্তকরণ / সংশোধনও ব্যবহার করে । ইন্টারনেট সম্ভবত সবচেয়ে বড়, সবচেয়ে দোষ-সহনশীল সিস্টেম মানুষের দ্বারা নির্মিত, এখনও বাড়ছে।

এরপরে, এমন একটি শক্তিশালী কেস রয়েছে যা ডাব্লুডাব্লুডাব্লু শক্তি সরবরাহকারী অ্যালগরিদমগুলি উন্নত। এইচটিটিপি এবং ওয়েব সার্ভারগুলি অত্যন্ত সুরযুক্ত / অনুকূলিত এবং উন্নত সুরক্ষা / এনক্রিপশন প্রোটোকল (এইচটিটিপিএস) ব্যবহার করে। কোনও ওয়েব পৃষ্ঠার রেন্ডারিং যুক্তি জাভাস্ক্রিপ্ট প্রোগ্রামিং ভাষার পাশাপাশি HTML5 এবং CSS3 এ অত্যন্ত উন্নত হয়েছে ।

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

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

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


এতে অনেক উদ্ধৃতি যুক্ত করা যেতে পারে। এখানে একটি শুরু:
ডিআরপিএ

ইন্টারনেট অপ্টিমাইজেশনের উপর আরেকটি রেফারেন্স , ড্যানি লেউইনের জীবনী, আকামাইয়ের কফাউন্ডার, "ইন্টারনেটের রূপান্তরকারী প্রতিভা"
ভিজেএন

-8

একটি আশ্চর্যজনকভাবে সফল (হার্ডওয়্যার) অ্যালগরিদম হ'ল পাওয়ার অন রিসেট।

বিদ্যুৎ প্রয়োগ করা হয় এমন কোনও সিস্টেমের সাহায্যে কম্পিউটার পরিচিত অবস্থায় থাকে, অন্য কিছুই ঠিক হয় না

পাওয়ার অন রিসেট হ'ল এম্বেড করা বা অন্যথায় বিবেচনা করা যাই হোক না কেন এতে কোনও সিপিইউ থাকা সমস্ত কিছুতেই কেন কাজ করে।

পরের বার আপনি প্রোগ্রামার এবং কম্পিউটার বিজ্ঞানীদের জন্য জলের গর্তে থাকবেন, আপনার চেরি সোডা গ্লাসটি পাওয়ার অন রিসেটে বাড়ান।


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