สภาพที่เป็นอยู่ของทฤษฎีหมวดหมู่และพระในการวิจัยวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎี?


17

พื้นหลัง ฉันเป็นนักศึกษาระดับปริญญาตรีที่มีความสนใจในการวิจัยที่เกี่ยวข้องกับทฤษฎีหมวดหมู่ monads และ Haskell และฉันต้องการค้นหาหัวข้อสำหรับวิทยานิพนธ์ระดับปริญญาตรีของฉันในพื้นที่นั้น

ฉันดูกระดาษแล้ว

และฉันยังไม่เข้าใจมากนัก ฉันอาจต้องใช้เวลาพอสมควรในการทำความเข้าใจ แต่ก่อนที่จะใช้เวลามากขึ้นในการศึกษามันฉันต้องการที่จะได้รับความเข้าใจที่ดีขึ้นของสนามและศักยภาพการวิจัยของ ฉันเพิ่งพูดคุยกับอาจารย์ของฉันเกี่ยวกับเรื่องนี้และเขาบอกฉันว่า monads เป็นแฟชั่นในชุมชนการวิจัยย้อนกลับไปใน 90s แต่ทุกวันนี้พวกเขาล้าสมัย

ดังนั้นตอนนี้ฉันกำลังมองหางานล่าสุดที่เกี่ยวข้องกับพระและสงสัยว่า:

  • วิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีในปัจจุบันมีงานวิจัยใดบ้างที่เกี่ยวข้องกับหมวดหมู่ทฤษฎีและพระสงฆ์
  • งานวิจัยประเภทใดที่ถูกสร้างขึ้นหรือเสนอในงานของ E. Moggi เกี่ยวกับพระในทฤษฎีของการเขียนโปรแกรม มีการติดตามหรือการวิจัยที่เกี่ยวข้องกับบทความของเขาหรือไม่?

ก่อนที่เราจะตอบคำถามนี้: ไม่ใช่ระดับการวิจัยใช่ไหม? มันอาจจะเหมาะสมกว่าสำหรับ cs.stackexchange.com
Andrej Bauer

3
@ AndrejBauer วิทยานิพนธ์ระดับปริญญาตรีของฉันจะไม่อยู่ในระดับการวิจัย แต่คำถามของฉันตอบโจทย์การวิจัยในปัจจุบันหรือการวิจัยอย่างน้อยในทศวรรษที่ผ่านมา
k.stm

9
@ AndrejBauer ฉันไม่เห็นด้วย เว็บไซต์น้องสาวส่วนใหญ่เป็นคำถามทำการบ้านในขณะที่ความคิดเห็นของผู้เชี่ยวชาญเป็นสิ่งจำเป็น
Yuval Filmus

@Kaveh นั่นเป็นการแก้ไขที่รุนแรงที่คุณเพิ่งทำ คุณปรับปรุงบางประเด็น แต่ตอนนี้ไม่ใช่คำถามที่ฉันถามอีกต่อไป เมื่อฉันมีเวลาในวันพรุ่งนี้ฉันจะย้อนกลับการเปลี่ยนแปลงของคุณ ตัวอย่างเช่นสิ่งสำคัญสำหรับฉันคือการมีพื้นหลังอยู่ในนั้น โปรดบอกฉันว่าการเปลี่ยนแปลงใดที่คุณคิดว่าจำเป็นและทำไมฉันจึงรู้ว่าจะไม่ย้อนกลับ
k.stm

1
@Yuval ผมคิดว่าผู้คนจำนวนมากในวิทยาการคอมพิวเตอร์จะขอไม่เห็นด้วยกับความคิดเห็นของคุณว่ามันเป็นส่วนใหญ่สำหรับการบ้านและผู้เชี่ยวชาญที่ไม่อยู่ในวิทยาการคอมพิวเตอร์ ในกรณีนี้ Andrej ได้ตอบมากกว่า 100 คำถามเกี่ยวกับวิทยาการคอมพิวเตอร์
Kaveh

คำตอบ:


15

มีการพัฒนาจำนวนมากเกี่ยวกับการใช้พระในทฤษฎีการคำนวณตั้งแต่งานของ Eugenio Moggi ฉันไม่สามารถให้บัญชีที่ครอบคลุม แต่นี่คือบางจุดที่ฉันคุ้นเคยผู้อื่นสามารถพูดสอดแทรกด้วยคำตอบของพวกเขา

ตัวอย่างที่เฉพาะเจาะจงของพระ

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

ฉันชอบบล็อกของ Dan Piponiมากซึ่งเขาให้ตัวอย่างที่ยอดเยี่ยมเกี่ยวกับวิธีที่ monads สามารถใช้ผสมการเขียนโปรแกรมเชิงหน้าที่และคณิตศาสตร์ ตัวอย่างเช่นค้นหางานของเขาเกี่ยวกับเงื่อนและถักเปียผ่าน monads

ตัวอย่างที่เฉพาะเจาะจงอีกประการหนึ่งของ mondas มูลค่าการเรียนได้รับโดยมาร์ติน Escardo และเปาโล Oliva ในบริบทของ functionals เลือกดูของพวกเขาฟังก์ชั่นการคัดเลือก, บาร์ Recursion และเหนี่ยวนำย้อนกลับหรือบางทีอาจจะได้รับความสนใจเป็นครั้งแรกอ่านสิ่งที่เกมลำดับที่ Tychonoff ทฤษฎีบทและ Double-Negation Shift มีใน Common (ไฟล์ Haskell และ Agda ที่เกี่ยวข้องที่นี่ )

พื้นหลังทางคณิตศาสตร์

พระมาจากทฤษฎีหมวดหมู่และแก่กว่า Eugenio Moggi มาก คุณสามารถศึกษาทฤษฎีพื้นหลังหากคุณมีความโน้มเอียงทางคณิตศาสตร์ ตัวอย่างเช่นคุณสามารถโจมตีทฤษฎีบทเดี่ยวของเบ็คได้ นักวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีไม่สามารถรู้คณิตศาสตร์ได้มากนัก

ชุดรูปแบบในชุดรูปแบบ

คุณสามารถดูสิ่งที่ไม่ใช่พระอย่างเคร่งครัด

ตัวอย่างเช่นสำนวนของ Connor McBride และ Ross Paterson : การเขียนโปรแกรมแบบใช้งานพร้อมเอฟเฟกต์แสดงให้เห็นว่าคนทั่วไปสามารถพูดคุยกับบางสิ่งที่เกี่ยวข้องและเป็นเรื่องจริงได้อย่างไร

หรือคุณสามารถดูว่า comonads ถูกใช้เพื่อจำลองเอฟเฟกต์การคำนวณอย่างไร ใครบางคนควรแนะนำการอ้างอิงบางอย่างสำหรับเรื่องนี้ แต่เริ่มต้นที่ดีอาจจะมีภาพนิ่งเดวิด Overtone ของ

ทฤษฎีประเภทโมดัล

ในประเภททฤษฎีฮอมอโท, เช่นเดียวกับในประเภททฤษฎีทั่วไป monads ปรากฏในรูปของประเภททฤษฎีกิริยา เมื่อเร็ว ๆ นี้ทฤษฎีประเภทโมดอลได้รับการพิจารณาในทฤษฎีโฮโมเซ็ปต์ประเภทเพราะผู้ประกอบการตัดเป็นตัวอย่างของผู้ประกอบการกิริยา แล้วก็มีทฤษฎีประเภท homotopy ที่เหนียวแน่นซึ่งตัวดำเนินการ modal (ซึ่งเป็น monads) มีบทบาทสำคัญ

ผลพีชคณิตและตัวจัดการ

[ข้อจำกัดความรับผิดชอบ: เป่าฮอร์นของฉันเองที่นี่]

ไม่นานมานี้กอร์ดอนพล็อตคินและจอห์นพาวเวอร์กล่าวว่าเอฟเฟ็กต์การคำนวณจำนวนมากไม่ได้เป็นเพียงแค่พระสงฆ์เท่านั้น นำไปสู่การรักษาใหม่ทั้งหมดของผลการคำนวณที่รู้จักกันในนี้ผลกระทบเชิงพีชคณิต ภายหลัง Gordon Plotkin และ Matija Pretnar แนะนำตัวจัดการและร่วมกับผลพีชคณิตพวกเขาสร้างทฤษฎีที่ดีมากของผลการคำนวณ ข้อดีอย่างหนึ่งของวิธีนี้คือทฤษฎีเกี่ยวกับพีชคณิตสามารถรวมกันได้อย่างง่ายดายในขณะที่พระไม่สามารถ

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


สวัสดีขอบคุณสำหรับคำตอบนั้น! ฉันคลิกที่เว็บไซต์ของคุณเกี่ยวกับ Eff และดูเหมือนว่าลิงก์ไปยังAn Introduction to Algebraic Effects and Handlersนั้นล้าสมัยเช่นไฟล์eff-lang.org/handlers-tutorial.pdfหายไป
k.stm

1
ฉันถาม Matija ในการแก้ไขปัญหาการเชื่อมโยงในขณะเดียวกันคุณสามารถดูarxiv.org/abs/1203.1539
Andrej Bauer

ฉันเป็น โดยวิธีการให้ภาพรวมสั้น ๆ ของทฤษฎีพื้นหลังฉันต้องศึกษาเพื่อทำความเข้าใจกระดาษของคุณ? ฉันรู้ว่าทฤษฎีหมวดหมู่, แคลคูลัสแลมบ์ดาที่ไม่ได้พิมพ์และทฤษฎีเบื้องต้นเกี่ยวกับการคำนวณและทฤษฎีเบื้องต้นของการเขียนโปรแกรม (ฉันรู้ว่าซีแมนทิกส์เกี่ยวกับความหมายแบบ denotational) แต่ไม่มากนัก ตัวอย่างเช่นฉันสามารถบอกได้จากส่วนที่ 3 ของกระดาษของคุณที่ฉันต้องดูกฎการพิมพ์ (ดังนั้นอาจจะเป็นแคลคูลัสแลมบ์ดาที่พิมพ์) ขออภัยถ้าฉันเร่งเร้าที่นี่
k.stm

3
คุณควรรู้เล็กน้อยเกี่ยวกับพีชคณิตสากลและ / หรือทฤษฎีของ Lavwere เกี่ยวกับทฤษฎีพีชคณิต ถ้าคุณไม่คุ้นเคยกับกฎการพิมพ์แล้วคุณสามารถศึกษาตำราทั่วไปเกี่ยวกับการเขียนโปรแกรมภาษาเช่นเบนจามินเพียร์ซTAPLหรือบ๊อบฮาร์เปอร์ รากฐานการปฏิบัติของการเขียนโปรแกรมภาษา
Andrej Bauer

1

บทความนี้นำเสนองานที่สำคัญเมื่อไม่นานมานี้โดยใช้พระ


1
สวัสดีขอบคุณสำหรับคำตอบของคุณ ฉันขอขอบคุณบริบทเล็ก ๆ น้อย ๆ นั่นคือถ้าคุณสามารถสละเวลาเพื่อให้รายละเอียดบางอย่าง (ที่จริงแล้วกระดาษมีการแนะนำที่ดีเกี่ยวกับเนื้อหาของมัน แต่ฉันยังคงต้องการที่จะเห็นบริบทของสภาพแวดล้อมเช่นถ้ามีงานที่เกี่ยวข้องและอื่น ๆ )
k.stm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.