มีทฤษฎีที่รวมทฤษฎีหมวดหมู่ / พีชคณิตนามธรรมและความซับซ้อนในการคำนวณหรือไม่?


18

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


เป็นตัวอย่างที่สร้างแรงบันดาลใจลองมาดูที่ Monoids เป็นที่ทราบกันดีว่าหากการดำเนินการเป็นโมฆะเราสามารถดำเนินการขนานได้

ตัวอย่างเช่นใน Haskell เราสามารถกำหนดได้ว่าการเติมเป็น monoid เหนือจำนวนเต็มเช่นนี้:

instance Monoid Int where
    mempty = 0
    mappend = (+)

ตอนนี้ถ้าเราต้องการคำนวณผลรวมของ 0 ถึง 999 เราสามารถทำได้ตามลำดับดังนี้:

foldl1' (+) [0..999]

หรือเราทำแบบขนาน

mconcat [0..999] -- for simplicity of the code, I'm ignoring that this doesn't *actually* run in parallel

แต่การทำให้ขนาน monoid นี้เหมาะสมเท่านั้นเนื่องจาก mappend ทำงานในเวลาคงที่ เกิดอะไรขึ้นถ้านี่ไม่ใช่กรณี? ตัวอย่างเช่นรายการเป็น monoids ที่ mappend ไม่ทำงานเวลาไม่แน่นอน (หรือเว้นวรรค!) ฉันเดาว่านี่คือเหตุผลว่าทำไมไม่มีฟังก์ชัน mconcat แบบขนานเริ่มต้นใน Haskell การนำไปใช้ที่ดีที่สุดนั้นขึ้นอยู่กับความซับซ้อนของ monoid


ดูเหมือนว่าควรมีวิธีที่สะดวกในการอธิบายความแตกต่างระหว่างสอง monoids จากนั้นเราควรจะสามารถใส่คำอธิบายประกอบโค้ดของเราด้วยความแตกต่างเหล่านี้และให้โปรแกรมเลือกอัลกอริธึมที่ดีที่สุดที่จะใช้โดยอัตโนมัติโดยขึ้นอยู่กับความซับซ้อนของ monoid


1
Type Integer ใน Haskell นั้นเป็นจำนวนเต็มที่มีความแม่นยำสูงและความซับซ้อนของเวลาที่เพิ่มเข้ามานั้นขึ้นอยู่กับความยาวของจำนวนเต็มเข้าดังนั้นจึงทำให้เข้าใจผิดว่าการผนวกเข้าในอินสแตนซ์ Monoid ของคุณสำหรับ Integer
Tsuyoshi Ito

@Tsuyoshi ฉันพูดถูกคุณตั้งใจจะใช้ Int แก้ไขแล้ว.
Mike Izbicki

คุณเห็นคำถามนี้หรือไม่
Kaveh

@ Kaveh ฉันไม่ได้ขอบคุณสำหรับตัวชี้ จากการอ่านอย่างรวดเร็วดูเหมือนว่าไม่มีใครทำหมวดหมู่ตามทฤษฎีเกี่ยวกับคลาสความซับซ้อนของตัวเอง (และมีการถกเถียงกันเกี่ยวกับสิ่งที่อาจหมายถึง ดังนั้นฉันคิดว่าคำตอบส่วนแรกของคำถามของฉันสวยมากและเพิ่งทิ้งการโต้ตอบใด ๆ ระหว่างพีชคณิตและความซับซ้อน
Mike Izbicki

สิ่งเหล่านี้มีปฏิสัมพันธ์ระหว่างพีชคณิตและทฤษฎีความซับซ้อนมากมาย มีหนังสือหลายเล่มที่มีชื่อว่า "Algebraic Complexity Theory" ซึ่งใช้และนำแนวคิดและเทคนิคเกี่ยวกับพีชคณิตมาประยุกต์ใช้กับความซับซ้อน และยังมีงานมากมายที่ใช้ทฤษฎีความซับซ้อนกับพีชคณิต คุณจะต้องเจาะจงมากขึ้นเพื่อรับคำตอบ
Kaveh

คำตอบ:


12

[ความซับซ้อนในการคำนวณและทฤษฎีหมวดหมู่] ดูเหมือนคู่ธรรมชาติเช่นนั้น

ด้วยความโดดเด่นของความซับซ้อนในการคำนวณในสาขาการวิจัยหากพวกมันเป็นเตียงธรรมชาติเช่นนั้นบางทีใครบางคนอาจนำการเชื่อมต่อออกไปแล้ว?

การเก็งกำไรป่า ให้ฉันสร้างความบันเทิงให้ผู้อ่านด้วยความคิดว่าเหตุใดการเรนเดอร์เชิงความซับซ้อนของการคำนวณจึงยาก เนื้อหาแนวคิดหลักในทฤษฎีหมวดหมู่นั้นมีศูนย์กลางอยู่ที่การสร้าง / คุณสมบัติสากล (ด้วยอุปกรณ์ที่เกี่ยวข้องของ functors, การแปลงสภาพธรรมชาติ, การแยกและอื่น ๆ ) หากเราสามารถแสดงให้เห็นว่าการก่อสร้างทางคณิตศาสตร์มีคุณสมบัติสากลที่ให้ความเข้าใจอย่างถ่องแท้ ดังนั้นหากเราต้องการวิธีการเชิงหมวดหมู่เพื่อความซับซ้อนในการคำนวณเราจะต้องหาหมวดหมู่ที่สะดวกสบายและแสดงให้เห็นว่าแนวคิดหลักของทฤษฎีความซับซ้อน (เช่น LOGSPACE หรือ NP-hardness) สามารถให้ได้โดยการสร้างแบบสากลโดยใช้หมวดหมู่นั้น ยังไม่เสร็จและฉันคิดว่านี่เป็นเพราะมันเป็นปัญหาที่ยากมาก

T=T1T2T3Tผม,1 . แต่เราสร้าง TM ด้วยการระบุส่วนประกอบสองอย่างแยกจากกันนั่นคือส่วนควบคุม (FSM) และเทป ทั้งการควบคุมและเทปไม่มีจีบราส์ที่ดีในตัวเอง

ลองดูเทปก่อน มีวิธีการเขียนเทปที่เป็นธรรมชาติสองวิธีไม่มีวิธีใดที่สามารถใช้สำหรับคำอธิบายองค์ประกอบของ TM ได้

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

  • ติดมันแบบขนานเช่นเครื่อง 3 หัวสองเครื่องเปลี่ยนเป็นเครื่อง 6 หัว สิ่งนี้ไม่ได้บอกเราว่าเครื่องส่วนประกอบมีปฏิสัมพันธ์ซึ่งกันและกันอย่างไร

  • แผ่นสอดสอด ปัญหาอย่างหนึ่งของวิธีการนี้คือมันไม่ชัดเจนว่า interleaving ที่ยอมรับได้จะเป็นอย่างไรถ้ามี ยิ่งไปกว่านั้น interleaving จะ 'สับสน' การควบคุมที่มีอยู่ซึ่งมีแนวโน้มที่จะปรับอย่างละเอียดไปยังรูปแบบเทปเฉพาะ ดังนั้นเราจึงไม่สามารถควบคุมซ้ำได้โดยตรง

π

สรุปแล้วเราค่อนข้างห่างไกลจากการรักษาพีชคณิต / หมวดหมู่ที่ซับซ้อนของการคำนวณและเราต้องการความก้าวหน้าทางแนวคิดหลายอย่างเพื่อให้ได้


λπλπαλπ


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

เห็นได้ชัดว่าไม่มีโปรแกรมทั้งหมดที่สามารถรวบรวมได้ในลักษณะนี้ซึ่งทำให้เราเป็นหมวดหมู่ของ TM นอกจากนี้ยังเป็นไปได้ว่าเราควรปล่อยให้ความคิดของ TM ไม่ จำกัด พื้นที่ซึ่งไม่เป็นไปได้ในทางปฏิบัติแล้ว มีความคิดที่ตีพิมพ์บ้างที่รวบรวมโครงสร้างนี้หรือไม่?
Anton Fetisov

@AntonFetisov คุณลองจดรายละเอียดไปแล้วหรือยัง? มันไม่สวย
Martin Berger

2

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

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


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