ทำไมตัวเลขที่คำนวณได้ (ในความหมายของทัวริง) นับได้?


9

ทำไมตัวเลขที่คำนวณได้ (ในความหมายของทัวริง) นับได้? มันต้องชัดเจนมาก แต่ตอนนี้ฉันไม่เห็นมัน


3
ไม่ใช่เพราะ TM ทั้งหมดนั้นนับได้หรือไม่
'30

ที่จะต้องมีมัน

2
การหมายถึงการนับจำนวน (ตามคำจำกัดความ) ว่ามีเครื่องทัวริงที่หยุดด้วยคำตอบใช่สำหรับทุกอินสแตนซ์ เนื่องจากการคำนวณหมายถึงมีเครื่องทัวริงที่หยุดกับคำตอบที่ถูกต้องสำหรับทุกอินพุตมันง่ายที่จะเห็นว่าการคำนวณหมายถึงมันนับได้ (มันเป็นกรณีย่อย)
Jonas G. Drange

ฉันไม่คิดว่านี่เป็นความหมายของ "คำนวณ" ในกรณีนี้ มันเป็นปัญหาการก่อสร้างไม่ใช่ปัญหาการตัดสินใจ
lvella

คำตอบ:


5

ฉันสมมติว่านิยามของจำนวนคำนวณคือ: มีเครื่องทัวริงว่าการป้อนข้อมูล , หยุดกับ TH บิตของจำนวนnn

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

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


ดังนั้นแม้ว่า cardinality ของเซต (ในกรณีนี้ชุดของตัวเลขที่คำนวณได้) นั้นไม่ใหญ่กว่า cardinality ของเซตอื่นที่สามารถฟังได้ (เซตของ TM ทั้งหมด) มันไม่ได้หมายความว่าเซ็ตแรกจะเป็น จดทะเบียน
André Souza Lemos

2

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

ลองกำหนดปัญหาให้แม่นยำยิ่งขึ้น: "การพิมพ์จำนวนเครื่องทัวริง (NPTM)" เป็นเครื่องทัวริงที่สำหรับการเปลี่ยนสถานะทุกครั้งอาจพิมพ์อะไรหรืออาจพิมพ์เลขทศนิยมใด ๆ เครื่องหมายลบหรือรอบระยะเวลา นี่เพียงพอที่จะพิมพ์การแทนค่าทศนิยมของจำนวนจริง

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

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

นี่เป็นตัวอย่างของ NPTM ที่คำนวณจำนวนหนึ่ง NPTM ที่:

  • พิมพ์1แล้วหยุด คำนวณหมายเลข 1
  • พิมพ์1.0แล้วหยุด นอกจากนี้ยังคำนวณหมายเลข 1
  • พิมพ์1.0000000และเก็บค่าศูนย์การพิมพ์ตลอดไป อันนี้ยังคำนวณหมายเลข 1
  • พิมพ์3.14แล้วหยุด คำนวณหมายเลข 3.14
  • พิมพ์3.14159และดำเนินการพิมพ์ตัวเลขตลอดไป นี้คำนวณจำนวน\ππ
  • พิมพ์-42.แล้วหยุด คำนวณจำนวน -42

และนี่คือตัวอย่างของ NPTM ที่ไม่คำนวณจำนวนใด ๆ NPTM ที่:

  • พิมพ์123123123และจากนั้นจะพิมพ์ลำดับต่อ123ไป ไม่ใช่การคำนวณตัวเลขเนื่องจากลำดับอนันต์นี้ไม่ได้แทนจำนวนจริงใด ๆ
  • พิมพ์1.0.0แล้วหยุด ไม่ใช่เพราะลำดับที่ จำกัด นี้ไม่ได้เกิดขึ้นอย่างดี
  • พิมพ์....-..---แล้วหยุด ไม่ใช่เพราะนี่ไม่ใช่จำนวนจริงที่เกิดขึ้นอย่างดีเช่นกัน
  • ไม่เคยพิมพ์อะไร แต่ไม่หยุดเช่นกัน ไม่มีการสร้างหมายเลข
  • ไม่เคยพิมพ์อะไรและหยุดทันที ไม่มีการสร้างหมายเลข
  • พิมพ์3.14ไม่หยุด แต่ไม่เคยพิมพ์อะไรอย่างอื่น ไม่คำนวณจำนวนเพราะความแม่นยำไม่เพิ่มขึ้นตามเวลา

คุณมีความคิด จากนั้นเรามีสองระดับของ NPTM: คนที่คำนวณจำนวนจริงบางส่วนและคนที่ไม่ได้

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

พิจารณาความหมายของชุดนับเพราะชุดที่จะนับได้ต้องมีฟังก์ชั่นบางอย่าง bijectiveSSF:ยังไม่มีข้อความS

เพื่อ "พิสูจน์" ว่าตัวเลขที่คำนวณได้นั้นนับได้เราอาจถูกล่อลวงให้กำหนดฟังก์ชันดังกล่าวจากการนับ NPTM (และนี่คือสิ่งที่ผู้คนมักทำเมื่อพวกเขาเชื่อว่าจำนวนที่คำนวณได้นั้นนับได้) บางสิ่งเช่นนี้

NPTM สามารถนับได้ดังนั้นจึงมีฟังก์ชัน bijectiveดังนั้นเราสามารถแจกแจง NPTM ทั้งหมดที่มีอยู่ได้ตลอดไป ดังนั้นเพื่อระบุจำนวนที่คำนวณได้ทั้งหมดและกำหนดฟังก์ชัน bijective อย่างแม่นยำเราจะต้องแจกแจง NPTM ทั้งหมด แต่นับเฉพาะที่คำนวณบางอย่าง เบอร์จริง. แต่เราจะรู้ได้อย่างไรว่ามันคำนวณจำนวนจริงENPTM:ยังไม่มีข้อความ->NPTMEComputabe:ยังไม่มีข้อความคำนวณได้

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

วิธีที่ไร้เดียงสาในการกำหนด bijection ล้มเหลวและไม่ยากมากที่จะพิสูจน์ว่าไม่มีทางทำมันไม่ว่าจะด้วยวิธีใดก็ตาม ตามที่ Yuval Filmus แนะนำสามารถใช้การตัดขวาง


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