SORU
4 AĞUSTOS 2011, PERŞEMBE


Aptallar için özyineleme düzenleri?

Özyineleme düzenleri ve corecursion düzenleri (catamorphisms,, hylomorphisms anamorphisms vb.) çok basit ve kolay kavramak için bazı açıklamalar arıyorum bağlantılar çok şu veya kategori teorisi bir ders kitabı açılması gerekmez. Eminim ettim yeniden keşfetmiş çoğu bu programları bilinçsizce ve "uygulamalı" onları kafamda süresince kodlama (eminim çoğumuz var), ama hiç bir fikrim yok ne (co)özyineleme programları kullanıyorum deniyor. (TAMAM, Yalan söyledim. Sadece bu soru sorulur ki onları, bir kaç okuyordum. Ama bugüne kadar hiçbir fikrim yoktu.)

Programlama toplum içinde bu kavramların difüzyon - Wikipedia, ama aynı zamanda başka bir yerde örneğin rastlamak eğilimindedir yasaklayan açıklamalar ve örnekler tarafından engellendi sanırım.

Ayrıca muhtemelen isimleri ile engel oldu. Bazı alternatif, daha az matematiksel adları (bir şey muz ve dikenli tel?) olduğunu düşünüyorum ama cutsier isimler kullanan, ya özyineleme düzenleri için ne hiçbir fikrim yok.

Veri gerçek dünya basit sorunları temsil eden, yerine ikili ağaçlar gibi soyut veri tipleri ile ilgili örnekler kullanmak için yardımcı olacağını düşünüyorum.

CEVAP
4 AĞUSTOS 2011, PERŞEMBE


Son derece gevşek konuşma, sadece* *0, ve bir anamorphism hafif bir genelleme bir olay bununla unfold hafif bir genelleme. (Ve sadece bir hylomorphism bir kat ardından açılmak.). Kategori teorisi için bağlantı daha açık hale getirmek için daha sıkı bir form genellikle, sunulan ediyorlar. Yoğun bir şekilde veri (ilk Cebir mutlaka sonlu ürünü) ayırt ve codata (son bir coalgebra muhtemelen sonsuz ürün) sağlar. Bu ayrım bize bir daha asla sonsuz bir liste olarak adlandırılır kat garanti sağlar. Diğer bir sebep için eğlenceli bir yöntem catamorphisms ve anamorphisms genellikle yazılı olarak işletme üzerine F-cebiri ve F-coalgebras (üretilen funktorlar) yazabiliriz onları ilk ve son kez yerine bir kez bir liste, bir zamanlar bir ikili ağaç, vb. Bu da tam olarak net olmasına yardımcı olurnedenaynı şey hepsi.

Ama saf bir sezgi açısından, tatma ve ana olarak azaltılması ve üreten düşünebilirsiniz, ve o kadar.

Edit: biraz daha fazla

Bir başkalaşım (Gibbons), bir kat iç-hylo ... açılmak bir takip gibi. Bu bir akış yıkmak ve potansiyel olarak farklı bir yapı ile yeni bir tane oluşturmak için kullanabilirsiniz.

Ekmett "tarla" gibi çeşitli düzenleri Edebiyatı: http://comonad.com/reader/2009/recursion-schemes/ . rehber güzel gönderildi

"Açıklamalar çok basittir, bağlantılı kod daha az olduğu ve bu yüzden bazı blog gönderilerini yan yasaklayan. karmaşık bir tad olabilir" sezgisel, ancak,

Bu Hayvanat Bahçesi geri kalanı mutlaka doğrudan çoğu zaman düşünmek isteyeceğin bir şey olduğunu sanmıyorum, belki de dışında histomorphisms söyledi. Eğer "" hylo ve meta, onlar açısından neredeyse tek başına bir şey ifade edebilirsiniz. eğer Genellikle diğer morfizmaları daha kısıtlayıcı, daha az (ama daha fazla özellik vermek bu nedenle "serbest").

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andrew_Huang

    Andrew_Huang

    10 ŞUBAT 2006
  • Caramella Girls

    Caramella Gi

    19 Mayıs 2008
  • mliskIT

    mliskIT

    29 Mart 2012