Combinator สากลที่เล็กที่สุดที่เป็นไปได้


17

ฉันกำลังมองหาที่เล็กที่สุดที่เป็นไปได้Combinator สากลวัดจากจำนวนของแนวคิดและการประยุกต์ใช้ที่จำเป็นในการระบุเช่น Combinator ในส่วนแคลคูลัสแลมบ์ดา ตัวอย่างของ combinators สากลรวมถึง:

  • ขนาด 23: λf.f (fS (KKKI)) K
  • ขนาด 18: λf.f (fS (KK)) K
  • ขนาด 14: λf.fKSK
  • ขนาด 12: λf.fS (λxyz.x)
  • ขนาด 11: λf.fSK

เมื่อ S = λxyz.xz (YZ) ของขนาด 6และ K = λxy.xของขนาด 2มี combinators ของCombinator แคลคูลัส 4 ตัวอย่างแรกที่อธิบายไว้ในบทความนี้

คำถามของฉันคือ:

  • มีผู้ประสานสากลที่มีขนาดเล็กกว่านี้หรือไม่?
  • Combinator สากลที่เล็กที่สุดที่เป็นไปได้คืออะไร?

แก้ไข:ดู/math//a/180263/76284ซึ่งมีλazbc.bc(a(λy.c))(ซึ่งจะเป็นขนาด 8ตรงกับผลรวมของขนาดของพื้นฐาน SK) ไม่มีใครรู้วิธีแสดง S และ K จากผู้รวมข้อความนี้หรือไม่?


บางทีนี่อาจเป็นเรื่องที่น่าสนใจ: wolframscience.com/nksonline/page-1123a-text?firstview=1
Andrej Bauer

คำจำกัดความของขนาดของคุณคืออะไร คุณสามารถเขียนมันเป็นฟังก์ชั่นได้หรือไม่?
Joshua Herman

ตั้งแต่ 6 + 2 = 8 <11 นี่ทำให้ฉันสงสัยว่า {S, K} เป็นพื้นฐานที่เล็กที่สุดของ combinators ที่วัดโดยขนาดทั้งหมดหรือไม่
Noam Zeilberger

การแก้ไขล่าสุดของคุณดูเหมือนจะเป็นคำตอบ (บางส่วน)
Emil Jeřábekสนับสนุน Monica

คุณกำหนดคำว่า " combinator " อย่างเคร่งครัดแค่ไหน? มันจะต้องอยู่ในรูปแบบλx*.Eที่Eปราศจากสิ่งที่เป็นนามธรรมหรือไม่?
Peter Taylor

คำตอบ:


9

ควรสังเกตว่าการค้นหาผู้ผสานด้วยคุณสมบัติการลดบางอย่างนั้นยากเสมอและการค้นหาผู้ประสานที่น้อยที่สุดนั้นอาจไม่สามารถตัดสินใจได้อย่างง่ายดาย (ด้วยเหตุผลเล็กน้อยเพราะอาจเป็นการตัดสินใจที่ไม่สามารถพิสูจน์ได้ว่า

มีหลายคำถามเปิดที่เรียบง่ายของรสชาติที่คล้ายกันเช่นปัญหา # 4, # 6 และ # 10 จากรายการ TLCA ปัญหาเปิด

สิ่งหนึ่งที่ควรทราบก็คือ Combinator ของคุณต้องมีตัวแปรที่ถูกผูกไว้อย่างน้อย 2 ตัวซึ่งหนึ่งในนั้นคือการทำซ้ำ นี่ทำให้ขอบเขตที่ต่ำกว่าของ 4 ฉันคิดว่า (2 abstractions และ 2 ปรากฏของตัวแปร) ซึ่งอยู่ไม่ไกลจากขอบเขตบนของ 11

แก้ไข: ความคิดเห็นของ Noam และการอ้างอิงผลักขอบเขตล่างถึง 5! ฉันไม่แปลกใจเลยถ้าหลักฐานนั้นต้องการตัวแปรพิเศษที่จะปรากฏเช่นกันซึ่งจะทำให้เราไปที่ 6


3
ที่จริงแล้วมีสองตัวแปรไม่เพียงพอ ( dl.acm.org/citation.cfm?id=2100917 , cstheory.stackexchange.com/a/36344/674 ) ดังนั้นสิ่งนี้จึงให้ขอบเขตล่างที่สูงกว่าเล็กน้อย (ขนาด 5 = 3 abstractions และ 2 แอปพลิเคชัน)
Noam Zeilberger

@NoamZeilberger เอาล่ะนั่นเป็นผลลัพธ์ที่ยอดเยี่ยมที่ฉันไม่รู้!
ดี้

7

สำหรับคำถามแรกของคุณฉันเชื่อว่าบทความนี้อาจช่วยคุณได้ มันมีแคลคูลัส 6 บิตที่เป็น UTM ด้วย นอกจากนี้ยังมี combinator สากลที่ดูเหมือนว่าจะมีขนาด 7 พร้อมองค์ประกอบหนึ่งที่ให้สิ่งที่คุณต้องการ พวกเขาเรียกมันว่า Zot http://arxiv.org/pdf/cs/0508056v1.pdf

ฉันไม่แน่ใจว่าคุณสามารถพูดหรือพิสูจน์ได้ว่ามี combinator น้อยที่สุด กระดาษแนะนำว่าจะต้องมีอย่างน้อยต้องน้อยกว่า 6 บิต


2
Combinator ของ Zot เป็นอันสุดท้ายที่อยู่ใน OP: λx.xSK (ใช้ร่วมกับภาษาหลัก Iota และ Jot) ซึ่งมีความยาว 11 ใน "6 บิต combinator แคลคูลัส" (Keraia), "6 bits" คือ ขนาดของ UTM; และดูเหมือนว่ามันเป็นเพียงการเข้ารหัสแคลคูลัสแลมบ์ดาไม่ใช่แคลคูลัสคอมบิเนเตอร์ (และดังนั้นจึงไม่มีคอมบิเนเตอร์อเนกประสงค์ในตัว)
2012rcampion
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.