জাইগিহিস্টোমর্ফিক প্রাকপ্রোমোর্ফিজমের রিয়েল-ওয়ার্ল্ড অ্যাপ্লিকেশন


156

হ্যাঁ, এইগুলি :

{-#LANGUAGE TypeOperators, RankNTypes #-}
import Control.Morphism.Zygo
import Control.Morphism.Prepro
import Control.Morphism.Histo
import Control.Functor.Algebra
import Control.Functor.Extras
import Control.Functor.Fix
import Control.Comonad.Cofree

zygohistomorphic_prepromorphism 
  :: Functor f
  => Algebra f b
  -> GAlgebra f (ZygoT (Cofree f) b) a 
  -> (f :~> f) 
  -> FixF f 
  -> a
zygohistomorphic_prepromorphism f 
  = g_prepro (distZygoT (liftAlgebra f) (distHisto id))

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

যোগ্য উত্তর অবশ্যই:

  1. কমপক্ষে দূর থেকে এবং তাত্ত্বিকভাবে গণনাগতভাবে দরকারী কিছু করুন। অর্থাত, উত্তরগুলি হ্রাস করতে পারে idযা বাইরে।

  2. স্কিমের সমস্ত বৈশিষ্ট্য ব্যবহার করুন, আইডি, বা কনস্ট বা কোনও সমতুল্য পাস হবে না।

  3. সরল, ভ্যানিলা ভাঁজ বা এ জাতীয় দ্বারা সমানভাবে তাত্পর্যপূর্ণ হয় না, তাই কেবল সুষ্ঠুভাবে প্রয়োগ করবেন না product

বোনাস পয়েন্টগুলি দেওয়া হবে:

  • সুপরিচিত সমস্যা বা অ্যালগরিদম

  • সমাধান, যথাক্রমে প্রকাশিত, একটি অস্বাভাবিক উপায়ে যা লাভ

  • স্পষ্টতা এবং / বা কর্মক্ষমতা

  • এবং / অথবা হ্যাক মান

  • এবং / বা লুল্জ, মোটামুটি সেই ক্রমে, পাশাপাশি

  • উচ্চ পদস্থ উত্তর (ইয়ে গণতন্ত্র)

নীচে এডওয়ার্ডের উত্তরটিও নোট করুন । আপনি যা জেডএইচপিএম প্রয়োগ করেন তা আপনার পছন্দ।


5
আপনি যদি IOআপনার স্ট্যাকটিতে অন্তর্ভুক্ত করেন তবে আমরা সাইমনপিজে-র বিখ্যাত launchMisslesফাংশনটি ব্যবহার করতে পারতাম । তবে আমি অনুমান করি যে সমস্ত অতি-খাঁটি বিমূর্ত বিহীনতার সম্পূর্ণ বিষয়টি হ'ল এই জাতীয় জিনিসগুলির সম্ভাবনা এড়ানো।
ইয়েজ

6
ঠিক আছে, aযে কোনও কিছু হতে পারে, তাই আপনার ইনপুট ডেটার মূল্যায়নের ভিত্তিতে কৌশলগতভাবে ক্ষেপণাস্ত্রগুলি প্রবর্তন করে এমন একটি আইও মান তৈরি করতে নির্দ্বিধায় অনুভব করুন।
বারসোপ

49
আমি এই প্রশ্নটিতে ক্লিক করেছি কারণ আপনি কীসের কথা বলছেন তা আমার কোনও ধারণা ছিল না। +1 ভাল স্যার, +1
ড্রয়

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

3
এবং আরও গুরুত্বপূর্ণ - এটি মিশ্রিত হবে ?! (খুব দুঃখিত, প্রতিহত করতে
পারলাম

উত্তর:


52

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

http://www.iis.sinica.edu.tw/~scm/2010/functional-pearl-maximally-dense-segments/

আমি অতিরিক্ত ক্রেডিটের জন্য লেখককে মনোনীত করব কারণ তারা স্থির-পয়েন্ট মু ফান্টারের ব্যবহার এড়ানো হয়েছে।


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

3
কোডটি ল্যান্ডিং পৃষ্ঠায় ত্রুটিযুক্ত নীচের লিঙ্ক থেকে পাওয়া যায়। জাইগমর্ফিজমের আসল সংজ্ঞাটি মেইন.এইচএস ফাইলটিতে রয়েছে - এটি কাগজের সংজ্ঞা থেকে পৃথক। এটি "ন্যায়সঙ্গত" একটি জাইগমর্ফিজম "জাইগোহিস্টোমর্ফিক প্রিপ্রোমর্ফিজম" নয় - একটি জাইগোমর্ফিিজম হ'ল সত্যিকারের ব্যবহারের সাথে আমি সবচেয়ে কাছের জিনিসটি দেখেছি। যদিও গতিশীল প্রোগ্রামিংয়ের জন্য হিস্টোমর্ফিজম ব্যবহার করে জেভেগেনি কাবানভের স্লাইড রয়েছে: cs.ioc.ee/~tarmo/tday-viinistu/kabanov-slides.pdf
স্টিফেন টেটলি

39

দ্রষ্টব্য, এর স্বাক্ষর বদলেছে, কারণ এটি অপর্যাপ্ত সাধারণ ছিল, এবং আমি এটিকে (রসিকতা হিসাবে) আমার পুনরাবৃত্তি-প্রকল্পের প্যাকেজে অন্তর্ভুক্ত করেছি।

zygoHistoPrepro 
  :: (Unfoldable t, Foldable t) 
  => (Base t b -> b) 
  -> (forall c. Base t c -> Base t c) 
  -> (Base t (EnvT b (Stream (Base t)) a) -> a) 
  -> t
  -> a

বাস্তবায়নও সরল করা হয়েছিল।

zygoHistoPrepro f = gprepro (distZygoT f distHisto)

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


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