পিপ্পেঞ্জার [১৯৯ 1996] এর মতে , লিস্প পদ্ধতির সাথে তুলনা করার সময় যা বিশুদ্ধভাবে কার্যকরী হয় (এবং কঠোর মূল্যায়ন শব্দার্থবিজ্ঞান রয়েছে, অলস নয়) যা তথ্যের পরিবর্তন করতে পারে , ও ( এন ) এ চলমান নাপিত লিস্পের জন্য রচিত একটি অ্যালগরিদম অনুবাদ করা যেতে পারে ও ( এন লগ এন ) সময়ে ( কেবলমাত্র পয়েন্টার ব্যবহার করে এলোমেলো অ্যাক্সেস মেমোরি অনুকরণের বিষয়ে বেন-আমরাম এবং গ্যালিল [1992] এর কাজের উপর ভিত্তি করে) খাঁটি লিস্পে একটি অ্যালগরিদমে to পিপ্পেঞ্জার এছাড়াও প্রতিষ্ঠিত করে যে এমন অ্যালগরিদম রয়েছে যার জন্য আপনি সবচেয়ে ভাল করতে পারেন; খাঁটি সিস্টেমে (( n লগ এন ) থাকা অপরিষ্কার সিস্টেমে ও ( এন ) সমস্যা রয়েছে ।
এই কাগজটি সম্পর্কে কয়েকটি কেভিয়েট তৈরি করা দরকার। সর্বাধিক তাৎপর্য হ'ল এটি হ্যাস্কেলের মতো অলস কার্যকরী ভাষাগুলি সম্বোধন করে না। পাখি, জোন্স এবং ডি মুর [ ১৯৯ 1997] প্রমাণ করেছেন যে পাইপেনজারের দ্বারা নির্মিত সমস্যাটি ও ( এন ) সময়ে একটি অলস কার্যকরী ভাষায় সমাধান করা যেতে পারে তবে তারা প্রতিষ্ঠা করে না (এবং যতদূর আমি জানি, কারও কাছে নেই) বা কোনও অলস কার্যকরী ভাষা মিউটেশনের ভাষা হিসাবে একই অ্যাসিপোটটিক চলমান সময়ে সমস্ত সমস্যার সমাধান করতে পারে না।
পিপ্পেঞ্জার দ্বারা নির্মিত সমস্যাটির প্রয়োজন result ( n লগ এন ) বিশেষত এই ফলাফলটি অর্জনের জন্য নির্মিত এবং এটি ব্যবহারিক, বাস্তব-বিশ্বের সমস্যার প্রতিনিধিত্বকারী নয়। সমস্যার উপর কয়েকটি বিধিনিষেধ রয়েছে যা কিছুটা অপ্রত্যাশিত, তবে কাজের প্রমাণের জন্য এটি প্রয়োজনীয়; বিশেষত, সমস্যার প্রয়োজন ভবিষ্যতের ইনপুট অ্যাক্সেস করতে না পেরে অন-লাইন ফলাফলগুলি গণনা করা এবং ইনপুটটি নির্দিষ্ট আকারের সেটের পরিবর্তে সম্ভাব্য পরমাণুর একটি আনবাউন্ডড সেট থেকে পরমাণুর অনুক্রমের সমন্বয়ে গঠিত। এবং কাগজটি কেবল রৈখিক চলমান সময়ের অপরিষ্কার অ্যালগরিদমের জন্য ফলাফল (নিম্ন সীমাবদ্ধ) প্রতিষ্ঠা করে; যে সমস্যার জন্য অধিক চলমান সময় প্রয়োজন, এটি অতিরিক্ত ও (লগ এন ) সম্ভব) লিনিয়ার সমস্যায় দেখা ফ্যাক্টর বেশি সময় চলার সাথে অ্যালগোরিদমের জন্য প্রয়োজনীয় অতিরিক্ত অপারেশন প্রক্রিয়ায় "শোষিত" হতে সক্ষম হতে পারে। এই স্পষ্টতা এবং উন্মুক্ত প্রশ্নগুলি বেন-আমরাম [1996] দ্বারা সংক্ষিপ্তভাবে অনুসন্ধান করা হয়েছে ।
অনুশীলনে, অনেক অ্যালগরিদমগুলি মিউটেবল ডেটা স্ট্রাকচার সহ কোনও ভাষার মতো একই দক্ষতার সাথে খাঁটি কার্যকরী ভাষায় প্রয়োগ করা যেতে পারে। বিশুদ্ধভাবে কার্যকরী ডেটা স্ট্রাকচারকে দক্ষতার সাথে প্রয়োগের জন্য কৌশলগুলির জন্য একটি ভাল রেফারেন্সের জন্য, ক্রিস ওকাসাকির "খাঁটি ফাংশনাল ডেটা স্ট্রাকচারস" [ওকাসাকি 1998] দেখুন (যা তাঁর থিসিসের [ওকাসাকি 1996] এর একটি প্রসারিত সংস্করণ )।
যে কেউ খাঁটি-কার্যকরী ডেটা স্ট্রাকচারগুলিতে অ্যালগরিদমগুলি প্রয়োগ করতে হবে তাকে ওকাসাকি পড়া উচিত। ভারসাম্যযুক্ত বাইনারি গাছের সাথে মিউটਟੇবেবল মেমোরি অনুকরণ করে আপনি অপারেশন প্রতি সর্বদা সবচেয়ে খারাপভাবে O (লগ এন ) মন্দা পেতে পারেন , তবে অনেক ক্ষেত্রে আপনি এর চেয়ে যথেষ্ট ভাল করতে পারেন এবং ওকাসাকী অনেকগুলি দরকারী কৌশলগুলি বর্ণনা করেছেন, এমওরাইজড কৌশলগুলি থেকে রিয়েল- সময়গুলি যা ক্রমবর্ধমানভাবে কাজ করে। বিশুদ্ধভাবে কার্যকরী ডেটা স্ট্রাকচারগুলির সাথে কাজ করা এবং বিশ্লেষণ করা কিছুটা কঠিন হতে পারে তবে তারা রেফারেন্সিয়াল স্বচ্ছতার মতো অনেক সুবিধা প্রদান করে যা সংকলক অপ্টিমাইজেশান, সমান্তরাল এবং বিতরণকৃত কম্পিউটিংয়ের ক্ষেত্রে এবং সংস্করণকরণ, পূর্বাবস্থা এবং রোলব্যাকের মতো বৈশিষ্ট্যগুলির বাস্তবায়নে সহায়ক।
আরও মনে রাখবেন যে এই সমস্তগুলি শুধুমাত্র অ্যাসিম্পটোটিক চলমান সময়গুলি নিয়ে আলোচনা করে। খাঁটিভাবে কার্যকরী ডেটা স্ট্রাকচার বাস্তবায়নের জন্য অনেক কৌশল তাদের অতিরিক্ত কাজ করার জন্য প্রয়োজনীয় হিসাবরক্ষণের কারণে এবং প্রশ্নে থাকা ভাষাটির প্রয়োগের বিবরণগুলির কারণে ধ্রুবক ফ্যাক্টর ধীরগতির একটি নির্দিষ্ট পরিমাণ দেয়। বিশুদ্ধভাবে কার্যকরী ডেটা স্ট্রাকচারের সুবিধাগুলি এই ধ্রুবক ফ্যাক্টর ধীরগতির চেয়ে বেশি হতে পারে, সুতরাং আপনাকে সমস্যার সমাধানের ভিত্তিতে সাধারণত বাণিজ্য করতে হবে make
তথ্যসূত্র
- বেন-আমরাম, আমির ও গালিল, জেভিভি 1992. "পয়েন্টার্স বনাম অ্যাড্রেসস" এসিএম জার্নাল, 39 (3), পৃষ্ঠা 617-648, জুলাই 1992
- বেন-আমরাম, আমির ১৯৯ 1996। "পিপ্পেঞ্জারের তুলনামূলক খাঁটি ও অশুচি লিপসের উপর নোট" অপ্রকাশিত পাণ্ডুলিপি, ডিআইকিউ, কোপেনহেগেন বিশ্ববিদ্যালয়, ডেনমার্ক
- পাখি, রিচার্ড, জোনস, জেরেন্ট, এবং ডি মুর, ওয়েজ 1997 "" আরও তড়িঘড়ি , কম গতি: অলস বনাম আগ্রহী মূল্যায়ন " জার্নাল অফ ফাংশনাল প্রোগ্রামিং 7, ৫ পিপি। 541-5547, সেপ্টেম্বর 1997
- ওকাসাকি, ক্রিস 1996. " পিওলডি ফাংশনাল ডেটা স্ট্রাকচারস" পিএইচডি থিসিস, কার্নেগি মেলন বিশ্ববিদ্যালয়
- ওকাসাকি, ক্রিস 1998. "সম্পূর্ণরূপে কার্যকরী ডেটা স্ট্রাকচারস" কেমব্রিজ বিশ্ববিদ্যালয় প্রেস, কেমব্রিজ, যুক্তরাজ্য
- পিপ্পেঞ্জার, নিকোলাস 1996. প্রোগ্রামিং ল্যাঙ্গুয়েজসের নীতিমালা সম্পর্কিত "পিউর ভার্সাস ইম্পিউর লিস্প" এসিএম সিম্পোজিয়াম, পৃষ্ঠা 104-1010, জানুয়ারী 1996