มีชุดนับที่ไม่สามารถนับได้หรือไม่


15

ชุดสามารถนับได้ถ้ามันมี bijection กับจำนวนธรรมชาติและนับได้นับ (ce)ถ้ามีอัลกอริทึมที่ระบุสมาชิก

ชุดนับที่ไม่สามารถคำนวณได้ใด ๆ จะต้องนับได้เนื่องจากเราสามารถสร้าง bijection จากการแจงนับ

มีตัวอย่างของชุดนับที่ไม่สามารถนับได้หรือไม่ นั่นคือ bijection ระหว่างชุดนี้และจำนวนธรรมชาติมีอยู่ แต่ไม่มีอัลกอริทึมที่สามารถคำนวณ bijection นี้


1
คำศัพท์ esablished สามารถนับได้ หลายคนจะพูดว่า "นับได้" และ "นับได้" เป็นคำพ้องความหมาย ฉันแก้ไขคำถามตามนั้น
Andrej Bauer

@AndrejBauer คำนวณและเรียกซ้ำเป็นซินนิมใช่มั้ย
rus9384

1
@ rus9384 ใช่ เกี่ยวกับคำศัพท์ความชัดเจนควรเป็นเช่นเดียวกับ Robert Irving Soare ในTuring-Post Relativized Computability และ Interactive Computing (2011) : ในปี 1995 ความสับสนได้กลายเป็นสิ่งที่ทนไม่ได้ ฉันเขียนบทความเกี่ยวกับความสามารถในการคำนวณและเรียกซ้ำสำหรับ Bull ของ Sym ตรรกะ (1996) เกี่ยวกับประวัติและเหตุผลทางวิทยาศาสตร์ว่าทำไมเราควรใช้ "คำนวณ" และไม่ "เรียกซ้ำ" เพื่อหมายถึง "คำนวณได้" “ Recursive” ควรหมายถึง“ อุปนัย” เช่นเดียวกับ Dedekind และ Hilbert ในตอนแรกมีเพียงไม่กี่คนที่เต็มใจที่จะทำการเปลี่ยนแปลง ...
David Tonhofer

คำตอบ:


23

มีตัวอย่างของชุดนับที่ไม่นับได้หรือไม่?

ใช่. ชุดย่อยทั้งหมดของจำนวนธรรมชาติสามารถนับได้ แต่ไม่ใช่ทั้งหมดที่นับได้ (หลักฐาน: มีเซตย่อยที่แตกต่างกันจำนวนมากของ  แต่มีเพียงเครื่องจักรทัวริงจำนวนมากที่สามารถทำหน้าที่เป็นตัวแจงนับได้) ดังนั้นชุดย่อยของ  Nที่คุณรู้อยู่แล้วว่าไม่นับซ้ำเป็นตัวอย่างเช่นชุดตัวเลขทั้งหมดที่เข้ารหัสทัวริง เครื่องจักรที่หยุดทุกอินพุตNN


3
@JorgePerez ไม่มีและไม่มี
David Richerby

3
สิ่งนี้พิสูจน์ได้ว่ามีอยู่จริง แต่ไม่ได้ยกตัวอย่าง ..
BlueRaja - Danny Pflughoeft

2
@ BlueRaja-DannyPflughoeft การให้ตัวอย่างเหมือนกับการแจกแจง "คุณยกตัวอย่างบางสิ่งที่คุณไม่สามารถยกตัวอย่างได้หรือไม่ไม่ใช่ดังนั้นจึงไม่มีสิ่งใดที่คุณไม่สามารถยกตัวอย่างได้" นั่นคือนวกรรมิกเชิงคณิตศาสตร์อย่างย่อ
Wildcard

2
จะภาพของฟังก์ชั่นช่องคลอดไม่ว่างเป็นเช่นชุด? ตั้งแต่Σเป็นอย่างเคร่งครัดเพิ่มขึ้นนิด ๆ รูปแบบ bijection กับNแต่ไม่มีเครื่องทัวริงที่สามารถระบุΣ ΣΣNΣ
orlp

7
@ Wildcard ไม่การให้ตัวอย่างเหมือนกับการนิยามมันไม่ใช่เหรอ? มีชุดที่สามารถกำหนดได้ แต่ไม่สามารถระบุได้โดยอัลกอริทึมเช่นชุดของเครื่องทัวริงทั้งหมดที่ไม่หยุด
แทนเนอร์ Swett

17

ใช่ทุก ๆ ภาษาที่ไม่สามารถตัดสินใจได้ (ไม่กึ่งกึ่ง) มีคุณสมบัตินี้

ตัวอย่างเช่นพิจารณาชุด }L={(x,M)M does not halt on input x}

สมมติว่าเรามีอัลกอริทึมที่สามารถระบุสมาชิกของชุดนี้ หากอัลกอริทึมดังกล่าวมีอยู่เราสามารถใช้สิ่งนี้เพื่อแก้ปัญหาการหยุดชะงักกับอินพุตด้วยอัลกอริทึมต่อไปนี้:x,M

  • สลับกันระหว่างการทำงานเครื่องสำหรับnขั้นตอนเกี่ยวกับxและแจงn TH สมาชิกของLMnxnL

ทั้งหยุดหรือไม่หยุดบนx ถ้ามันหยุดในที่สุดเราก็จะพบ nที่เราไปถึงสถานะหยุดนิ่ง หากไม่หยุดในที่สุดเราก็จะไปถึง ( M , x )ในการแจงนับของเราMxn(M,x)

ดังนั้นเราจึงมีการลดลงและเราสามารถสรุปได้ว่าไม่มีการแจกแจงดังกล่าว

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


ไม่มีภาษาที่มีความซับซ้อนที่นับไม่ได้ใช่ไหม
rus9384

@ rus9384 ฉันไม่แน่ใจว่าคุณหมายถึงอะไร "Uncountable" เป็นการวัดขนาด "ความซับซ้อน" เป็นตัวชี้วัดว่าการตัดสินใจนั้นยากเพียงใด แต่ไม่มีภาษาที่นับไม่ได้ของสตริง จำกัด : หากคุณต้องการภาษาที่นับไม่ได้คุณต้องอนุญาตให้มีสตริงไม่ จำกัด (หรือ "อักษร" ที่นับไม่ได้หรือทั้งสองอย่าง)
David Richerby

@DavidRicherby, ดี, jmite อ้างว่าทุกปัญหาที่ไม่สามารถตัดสินใจได้ทำงานกับ จำกัด แน่นอน? ฉันคิดว่ามันคงเป็นปัญหาที่ไม่อาจทราบได้ของทัวริงเท่านั้น
rus9384

@ rus9384 ภาษาใดก็ตามที่มีตัวอักษร จำกัด สามารถนับได้และการคำนวณมักจะไม่สนใจตัวอักษรที่ไม่มีที่สิ้นสุด ดูคำถามนี้ด้วย
jmite

1
@ rus9384 ใช่ภาษาเป็นชุดของสตริง จำกัด เหนือตัวอักษร จำกัด สิ่งใด ๆ ที่นับได้ หากคุณต้องการได้รับภาษาที่นับไม่ได้คุณต้องลบอินสแตนซ์ของ "finite" หนึ่งหรือทั้งสองอย่างออกจากคำจำกัดความนั้น แต่ถ้าใครบางคนแค่พูดว่า "ภาษา" พวกเขาหมายถึงชุดของ จำกัด แน่นอนกว่าตัวอักษร จำกัด บาง
David Richerby

7

ในทางทฤษฎีการคำนวณที่เราจัดการกับส่วนย่อยของที่Σ = { 0 , 1 } ภาษานี้เป็นอนันต์วท์และอื่นเซตL Σ *คือนับ นอกจากนี้ยังมีภาษาที่นับไม่ถ้วน แต่มีหลายภาษาที่ไม่สามารถระบุได้ซ้ำ ๆ ภาษาเหล่านี้เป็นส่วนย่อยของΣ และด้วยเหตุนี้นับได้ΣΣ={0,1}LΣΣ


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

@DavidRicherby สองสามสัปดาห์ที่ผ่านมาคุณอ้างว่าฉันตรงข้ามกับความเห็นต่อคำตอบของ Yuvals และนี่ไม่ใช่กรณีที่คล้ายกันครั้งแรก
fade2black

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

2
@DavidRicherby ในความเป็นจริงตัวอักษร จำกัด แต่ละตัวสามารถลดลงได้เป็นเลขฐานสองดังนั้นฉันไม่เข้าใจว่ามันสำคัญขนาดไหน หรือว่าเรามีตัวอักษรอนันต์นับไม่ถ้วนในกรณีนี้ (ที่แต่ละหมายเลขมีสัญลักษณ์เฉพาะ)
rus9384

{0,1}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.