ทำไมจึงมีฟังก์ชั่นที่ไม่คำนวณได้มากกว่าฟังก์ชั่นที่คำนวณได้?


29

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

ฉันแค่อยากจะเห็นหลักฐาน / ให้ใครบางคนที่นี่อย่างละเอียดเกี่ยวกับเรื่องนี้ / เข้าใจอย่างเข้มงวดมากขึ้นว่าทำไมมีฟังก์ชั่นที่ไม่สามารถคำนวณได้มากมายมากกว่าฟังก์ชั่นที่คำนวณได้


เมื่อเปรียบเทียบสองเซตอนันต์จะต้องมีการแก้ไขความหมายของ "อีก"
กราฟิลส์

คำตอบ:


31

มีวท์ฟังก์ชันคำนวณหลาย

แต่ละฟังก์ชันที่คำนวณได้นั้นมีอย่างน้อยหนึ่งอัลกอริทึม ขั้นตอนวิธีการแต่ละคนมีรายละเอียดที่แน่นอนโดยใช้สัญลักษณ์จากชุด จำกัด เช่น จำกัด สตริงไบนารีโดยใช้สัญลักษณ์ } จำนวนของสตริงไบนารี จำกัด ที่แสดงโดย{ 0 , 1 } สามารถนับได้ (เช่นเดียวกับจำนวนของจำนวนธรรมชาติN ){0,1}{0,1}* * * *ยังไม่มีข้อความ

ดังนั้นอาจจะมีที่มากที่สุดฟังก์ชันคำนวณหลายวท์ มีอย่างน้อยนับหลายฟังก์ชันคำนวณตั้งแต่สำหรับแต่ละฟังก์ชั่นอย่างต่อเนื่อง{0,1}* * * *คือคำนวณ(x)=

กล่าวอีกนัยหนึ่งมีการติดต่อกันระหว่าง:

  • ชุดของฟังก์ชันที่คำนวณได้
  • ชุดของอัลกอริทึม
  • , ชุดของสตริง จำกัด จาก { 0 ,{0,1}* * * *และ{0,1}
  • ชุดของตัวเลขธรรมชาติยังไม่มีข้อความ

ในทางตรงกันข้ามมีฟังก์ชั่นมากมายนับไม่ถ้วนกว่าสตริง (หรือจำนวนธรรมชาติ) ฟังก์ชั่น (หรือf : { 0 , 1 } { 0 , 1 } ) กำหนดค่าสำหรับแต่ละอินพุต แต่ละค่าเหล่านี้สามารถเลือกได้อย่างอิสระจากค่าอื่น ๆ ดังนั้นจึงมีN N = 2 Nฟังก์ชั่นที่เป็นไปได้ จำนวนฟังก์ชั่นมากกว่าตัวเลขธรรมชาติเท่ากับจำนวนจริง:ยังไม่มีข้อความยังไม่มีข้อความ:{0,1}* * * *{0,1}* * * *ยังไม่มีข้อความยังไม่มีข้อความ=2ยังไม่มีข้อความ

เนื่องจากมีฟังก์ชั่นมากมายที่คำนวณได้ส่วนใหญ่จึงไม่ ในความเป็นจริงจำนวนหน้าที่ uncomputable ยังเป็น N2ยังไม่มีข้อความ

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


คำตอบที่ดี! สิ่งที่ฉันไม่เข้าใจ (ฉันอาจจะพลาดอะไรซักอย่างที่นี่) คุณจะได้รับอย่างไร? ยังไม่มีข้อความยังไม่มีข้อความ=2ยังไม่มีข้อความ
hsalin

มันเป็นเลขคณิต เขียนตัวเลขธรรมชาติในลำดับอนันต์ของตัวเลขธรรมชาติในระบบเลขฐานสองซึ่งควรให้สัญชาตญาณ
Kaveh

เหตุใดข้อสันนิษฐานนี้จึงเป็นจริง - "อัลกอริทึมแต่ละอันมีคำอธิบายที่ จำกัด โดยใช้สัญลักษณ์จากชุด จำกัด " ทำไมอัลกอริทึมจึงไม่มีคำอธิบายที่ไม่สิ้นสุด
Roland Pihlakas

@RolandPihlakas ที่เป็นส่วนหนึ่งของคำจำกัดความของอัลกอริทึม (หากคุณต้องการโปรแกรมคอมพิวเตอร์)
Kaveh

9

นี่คือโครงสร้าง "ชัดเจน" ของฟังก์ชั่นบูลีนที่ไม่สามารถคำนวณได้จำนวนมาก ให้เป็นฟังก์ชั่นบูลีนที่ไม่คำนวณค่าคงที่พูดฟังก์ชันที่เป็นลักษณะเฉพาะของปัญหาการหยุดชะงัก พิจารณาชุดของฟังก์ชั่น F = { F : N{ 0 , 1 } : x N , F ( 2 x ) = K ( x ) } f F แต่ละตัวไม่สามารถคำนวณได้และFไม่สามารถนับได้K

F={:ยังไม่มีข้อความ{0,1}:xยังไม่มีข้อความ,(2x)=K(x)}.
FF

มีโครงสร้างที่คล้ายกันกับฟังก์ชันที่คำนวณได้ กำหนดฟังก์ชันคำนวณให้ G = { กรัม: N{ 0 , 1 } : n Nเมตรn , กรัม( M ) = R ( เมตร) } กล่าวอีกนัยหนึ่งg Gถ้ามันแตกต่างจากRR

G={ก.:ยังไม่มีข้อความ{0,1}:nยังไม่มีข้อความม.n,ก.(ม.)=R(ม.).}
ก.GRค่าหลายขีด ฟังก์ชั่นทั้งหมดในGสามารถคำนวณได้ (รหัสยากความแตกต่างมากมายอย่าง จำกัด ) ตรงกันข้ามกับสถานการณ์ก่อนหน้านี้นับได้G

ดังนั้นจึงมีฟังก์ชั่นที่ไม่สามารถคำนวณได้มากมายเนื่องจากเรามีองศาอิสระมากมายอนันต์อินฟินิตี้จริงมากกว่าอินฟินิตี้ที่มีศักยภาพเหมือนในกรณีที่คำนวณได้

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