การใช้ขีด จำกัด และ Colimits ของทฤษฎีหมวดหมู่ในปัญหาทุกวันมีอะไรบ้าง


9

ฉันสนใจที่จะรู้ว่าเราสามารถใช้แนวคิดของ Limits และ Colimits ในการสร้างแบบจำลองปัญหาในชีวิตประจำวันได้อย่างไร ทุกคนสามารถให้ตัวอย่างวิศวกรรม (ซอฟต์แวร์) ได้ไหม? หรืออธิบายโดยสังหรณ์ใจโดยทั่วไปสำหรับปัญหาการสร้างแบบจำลองประเภทใดที่เราสามารถใช้แนวคิดเหล่านี้ ขอบคุณ.


1
ทุกที่ที่มีการใช้ห้องสมุดนี้hackage.haskell.org/package/data-category-0.5.1/docs/…
Chad Brewbaker

3
ที่น่าเศร้าคือที่ไหนเลย AFAICT ...
Sjoerd Visscher

1
ตรวจสอบบทเกี่ยวกับทฤษฎีหมวดหมู่ในคู่มือตรรกะใน cs
Kaveh

คำตอบ:


7

ใช้ความสัมพันธ์บางอย่าง R0A0×A1, R1A1×A2. ปล่อยπ1:R0A1, π0:R1A1 เป็นการคาดการณ์ที่มีโดเมน จำกัด อยู่ที่ความสัมพันธ์ R0, R1. จากนั้นดึงกลับของπ0, π1 คือการเข้าร่วมของ R0 และ R1 ในแง่ของ SQL


5

ตัวอย่างที่ดีคือเทต et al. ของฝ่ายผลิตคอมไพเลอร์เพิ่มประสิทธิภาพจากการพิสูจน์ เขาใช้ pullbacks และ pushouts เป็นสหภาพแรงงานและทางแยกทั่วไปในหมวดหมู่ที่ลูกศรคือการแทนที่ (IIRC)

Ross Tate อ้างว่า (บนหน้ากระดาษ) ว่ารายละเอียดล้นหลามไปโดยปราศจากสิ่งที่เป็นนามธรรมโดยทฤษฎีหมวดหมู่ โดยส่วนตัวฉันต้องการส่งเป็น "หลักฐานเชิงชี้นำ" (หากมีหลักฐานใด ๆ ของการอ้างสิทธิ์) ไดอะแกรม (6) และ (7) ในกระดาษของพวกเขา - พวกเขาดูซับซ้อนพอในรูปแบบแผนภาพ ให้ฉันพูดความคิดเห็นของพวกเขาแบบอินไลน์

บางคนถามเราว่าเหตุใดเราจึงสรุปเทคนิคการพิสูจน์ทั่วไปของเราได้ทั้งหมดและทำไมเราจึงใช้ทฤษฎีหมวดหมู่เป็นนามธรรมของเรา อย่างไรก็ตามเราได้ออกแบบอัลกอริทึมที่เป็นนามธรรมก่อนโดยใช้ทฤษฎีหมวดหมู่แล้วใช้มันเพื่อหาวิธีแก้ปัญหาที่เป็นรูปธรรมของเรา เราติดอยู่กับปัญหาที่เป็นรูปธรรมรายละเอียดและตัวแปรและวิธีแก้ปัญหาใด ๆ ที่เราคิดได้โดยพลการ เพื่อที่จะสะท้อนและลดความซับซ้อนเราจึงตัดสินใจที่จะใช้คำถามของเราตามหมวดหมู่ สิ่งนี้นำไปสู่แผนภาพของแหล่งที่มาและอ่างล้างมือดังนั้นเราจึงใช้ pushouts และ pullbacks เพื่อยึดสิ่งต่าง ๆ เข้าด้วยกัน ความท้าทายที่ยิ่งใหญ่ที่สุดเกิดขึ้นกับการทำสำเร็จให้สำเร็จเร็วกว่าที่จะใช้แนวคิดมาตรฐานที่มีอยู่ สูตรการจัดหมวดหมู่ง่ายต่อการระบุและเหตุผลเกี่ยวกับ หลังจากนั้นเรายกตัวอย่างกระบวนการนามธรรม

เราได้พบจริง ๆ แล้วกระบวนการของการสรุปทฤษฎีหมวดหมู่นี้เมื่อใดก็ตามที่เราติดอยู่จะมีผลค่อนข้างมาก ไม่เพียง แต่จะช่วยแก้ปัญหาที่เป็นรูปธรรมเท่านั้น แต่เรายังมีความเข้าใจที่ดีขึ้นเกี่ยวกับปัญหาของเราเองรวมถึงวิธีแก้ปัญหาเชิงนามธรรมที่สามารถปรับใช้กับแอปพลิเคชันอื่นได้อย่างง่ายดาย ดังนั้นประสบการณ์ของเราแสดงให้เห็นว่าทฤษฎีหมวดหมู่อาจมีประโยชน์ในการสร้างอัลกอริทึมที่เกิดขึ้นจริงนอกเหนือจากการเป็นประโยชน์ในฐานะกรอบงานสำหรับการทำให้เป็นระเบียบ เราสนใจที่จะทราบประสบการณ์ที่คล้ายคลึงกันอื่น ๆ ทั้งในเชิงบวกและเชิงลบ


4

ในหนังสือสปิแว็กของในหน้า 192 เขาให้ตัวอย่างของการใช้ colimits ในการสร้างแผนที่การขนส่ง นอกจากนี้แอปพลิเคชัน 5.2.1.2 ของเขายังกล่าวถึงการใช้Liquibaseเช่นแพทช์กับสคีมาฐานข้อมูลเมื่อเวลาผ่านไปจากนั้นใช้ colimits เพื่อให้เหตุผลระหว่างข้อมูลเก่าและใหม่ในลักษณะสากล


4

แอปพลิเคชั่นที่หลากหลายนั้นอยู่ในรูปของการแปลงกราฟ (ใช้กับวิศวกรรมที่ขับเคลื่อนด้วยโมเดล) มีเอกสารที่เกี่ยวข้องสองฉบับ (มอบให้พร้อมลิงก์ไปยัง Google Scholar):

แก้ไข: อีกครั้ง (ส่วนหนึ่งของ) ความคิดพื้นฐานคือการที่ pushouts ทำหน้าที่เป็นสหภาพที่มีกาวบางส่วน สิ่งนี้ช่วยให้การกำหนด "กฎการเขียนซ้ำ" สำหรับกราฟ - คุณจับคู่ทางด้านซ้ายมือกับกราฟและกาวทางด้านขวามือกับกราฟที่เหลือ (ในส่วนที่เหลือ) ในลักษณะที่สอดคล้องกัน ฉันกลัวว่าฉันจะเพิ่มรายละเอียดไม่ได้เพราะฉันไม่เคยได้รับมากกว่าสัญชาตญาณ


คำอธิบายที่ดีกว่าอยู่ในคำตอบนี้โดย Dave Clarke: cstheory.stackexchange.com/a/947/989
Blaisorblade
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.