বিভাগ তত্ত্ব, গণনা জটিলতা এবং সংযুক্তি সংযোগগুলি?


17

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

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

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

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

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

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


5
আপনি কি এটিকে পঠনযোগ্য করে তুলতে পুনরায় ফর্ম্যাট করতে পারেন?
লেভ Reyzin

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

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

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

উত্তর:


7

ডেভ ক্লার্কের মন্তব্যটি বেশ গুরুত্বপূর্ণ। সাধারণত ফিউশন ও (-) দক্ষতা পরিবর্তন করে না। তবে, বিশেষ আগ্রহের বিষয় হল লিউ, চেং এবং হুডাকের কার্যকারণীয় তীরচিহ্নের কাজ। তাদের সাথে লিখিত প্রোগ্রামগুলি গতিশীল মেমোরি বরাদ্দ এবং মধ্যবর্তী কাঠামোমুক্ত একক লুপটিতে স্ট্রিম ফিউশন এর মাধ্যমে অগত্যা অপ্টিমাইজড: http://haskell.cs.yale.edu/?post_type=publication&p=72


6

জোয়েলের সম্মিলিত প্রজাতি, সেডগউইক / ফালোজেটের অ্যানালিটিক সংমিশ্রনের "গ্রহণযোগ্য নির্মাণ" এবং ইয়র্জারির হাস্কেল প্রজাতিগুলি সমস্ত ভাল।

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

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

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

ব্যক্তিগতভাবে, আমি একটি এন্ডোফাকশনের পুনরাবৃত্তি গ্রাফ নিয়েছি তখন সঠিক ব্ল্যাক বাক্স অনুসন্ধানের সীমাবদ্ধ পেতে এটিতে একটি মিনিট ডমিনেটিং সেট গণনা করেছি, http://oeis.org/A186202 আপনি কী ধরনের জটিলতার ফলাফল অনুসন্ধান করছেন তা নিশ্চিত নয়, তবে সেই কৌশলটি একটি সীমাবদ্ধ সেটের মাধ্যমে যে কোনও এন্ডফেকশন পরীক্ষা করতে খুব শক্তিশালী।

- মৌলিক অক্টোবর 2 '14 এ 15:37 উত্তর--

ব্রেন্ট ইয়র্গির থিসিসটি দেখুন যা আপনার উদ্ধৃত করা কাগজের অনুসরণ করে। http://www.cis.upenn.edu/%7Ebyorgey/hosted/thesis.pdf

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