เครื่องจักรทัวริงสมมติว่ามีบางอย่างไม่มีที่สิ้นสุดในบางจุดหรือไม่?


9

ในคำถามก่อนหน้าอัลกอริทึมคืออะไร? ฉันถามว่ามี "อัลกอริทึม" ที่ส่งกลับค่าของฟังก์ชันตามอาร์เรย์ของค่าที่คำนวณล่วงหน้าได้หรือไม่เป็นอัลกอริทึม

หนึ่งในคำตอบที่ดึงดูดความสนใจของฉันคือหนึ่งในนี้:

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

ตอนนี้เราสามารถพิจารณาการคำนวณแทนได้ดังนี้: สำหรับแต่ละขนาดอินพุตมี TM (หรืออุปกรณ์การคำนวณอื่น ๆ ) ที่สามารถแก้ปัญหาได้ นี่เป็นคำถามที่แตกต่างกันมาก โปรดสังเกตว่า TM เดียวไม่สามารถเก็บแฟกทอเรียลของจำนวนเต็มเดียวทุกตัวเนื่องจาก TM มีคำอธิบายที่ จำกัด อย่างไรก็ตามเราสามารถสร้าง TM (หรือโปรแกรมใน C) ที่เก็บแฟคทอเรียลของตัวเลขทั้งหมดต่ำกว่า 1,000 จากนั้นเราสามารถสร้างโปรแกรมที่เก็บแฟคทอเรียลของตัวเลขทั้งหมดระหว่าง 1,000 ถึง 10,000 เป็นต้น

TM ทุกตัวไม่ได้ใช้วิธีการจัดการกับอนันต์จริงหรือ ฉันหมายถึงแม้แต่ TM ที่มีคำอธิบาย จำกัด ที่คอมพิวเตอร์แฟคทอเรียลของจำนวน N ใด ๆ ผ่านอัลกอริทึม

 int fact(int n) 
 { 
 int r = 1; 
 for(int i=2;i<=n;i++) 
 r = r*i; 
 return r; 
 } 

มีข้อสันนิษฐานว่า TM มี "ฮาร์ดแวร์" เพื่อเปรียบเทียบจำนวนขนาดตามอำเภอใจผ่านตัวเปรียบเทียบ "<=" และยังเพิ่ม ADDers เพื่อเพิ่มค่า i ตามจำนวนโดยพลการนอกจากนี้ความสามารถในการแสดงจำนวนขนาดโดยพลการ

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


5
สังเกตความแตกต่างระหว่าง "อนันต์" และ "ใหญ่โดยพล"
กราฟิลส์

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

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

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

คำตอบ:


9

เครื่องทัวริงไม่ได้มีความสามารถใน "เพื่อเปรียบเทียบตัวเลขของขนาดโดยพลการผ่าน<=เปรียบเทียบ" เพราะเครื่องทัวริงไม่ได้มี " <=เปรียบเทียบ" เครื่องทัวริงมีชุดที่แน่นอนและ จำกัด Q ของรัฐและตัวอักษรเทปคงที่ จำกัด Σ. ในแต่ละขั้นตอนของการคำนวณเครื่องทัวริงจะดูสถานะปัจจุบันและสัญลักษณ์ภายใต้หัวอ่าน / เขียนและตัดสินใจว่าจะทำอย่างไรต่อไป: สถานะใดที่จะใส่สัญลักษณ์ที่จะเขียนลงเทป ศีรษะ.

ด้วยเหตุนี้เครื่องทัวริงไม่สามารถเปรียบเทียบจำนวนมากโดยพลใน<=คำสั่งเดียว เมื่อใช้สถานะก็สามารถจดจำได้มากที่สุด|Q| ตัวเลขที่แตกต่างกันและโดยใช้ตัวอักษรมันสามารถเขียนได้มากที่สุด |Σ|หมายเลขที่แตกต่างกันในเซลล์เทปเดียว (ใช้สัญลักษณ์ที่เป็นไปได้เพื่อแสดงถึงหนึ่งหมายเลข) ดังนั้นในการเปรียบเทียบตัวเลขขนาดใหญ่โดยพลการบนเครื่องทัวริงคุณต้องเขียนแต่ละตัวเลขเป็นลำดับตัวเลขบนเทปและเขียนอัลกอริทึมที่จะใช้ขั้นตอนหลายขั้นตอนในการเปรียบเทียบตัวเลขทั้งสอง อย่างที่คุณสามารถจินตนาการได้สิ่งนี้ทำให้การเขียนโปรแกรมของทัวริงเป็นความพยายามที่ค่อนข้างยุ่ง

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


7

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

คำอธิบายของ TM เป็นชุด จำกัด ของ <current state, input, output, move, next state>tuples

ในแต่ละขั้นตอนสิ่งที่ต้องทำพบได้โดยการจับคู่สถานะปัจจุบันและอินพุต เช่นเราอยู่ในสถานะ 0 และเราอ่าน 1 ดังนั้นเราจึงพบ tuple ที่เริ่มต้น<0, 1, ...>จากนั้นเราเขียนค่าใหม่ในเซลล์ปัจจุบันเลื่อนไปทางซ้ายหรือขวา (ฉันคิดว่านิยามคลาสสิกยังช่วยให้อยู่ในเซลล์เดียวกันได้ เช่นกัน) แล้วเปลี่ยนเป็นสถานะใหม่

สำหรับตัวอย่างของคุณคุณอาจต้องการคำอธิบายขนาดใหญ่ของ TM (จำนวน<current state, input, output, move, next state>tuples จำนวนอนันต์) หรือรวมข้อมูลการค้นหาในอินพุตไปยัง TM ฉันเชื่อว่าการป้อนข้อมูลไปยัง TM ถูกกำหนดให้มีขอบเขต นั่นอาจไม่ใช่สิ่งที่คุณสามารถทำได้ด้วยเครื่องทัวริงที่กำหนดไว้แบบคลาสสิก

ในทางตรงกันข้ามตัวอย่าง Fibonacci สามารถคำนวณเป็นเลขฐานสองที่มีจำนวน tuples จำนวน จำกัด เพื่ออธิบาย TM และมีอินพุต จำกัด


5
เทปไม่จำเป็นต้องไม่มีที่สิ้นสุด! สามารถขยายได้ตามต้องการ ทั้งหมดที่จะต้องเป็นเทปที่สามารถขนาดใหญ่โดยพลการ
reinierpost

5

โดยสรุป : เครื่องทัวริงสามารถทำการคำนวณแบบไม่ จำกัด (ระบุอย่างละเอียด) บนข้อมูลที่ไม่มีที่สิ้นสุด (ระบุอย่างถูกต้อง) และสร้างผลลัพธ์ที่ไม่มีที่สิ้นสุด แนวคิดพื้นฐานคือ infinities เหล่านั้นสามารถนิยามเป็นขีด จำกัด ของเอนทิตี จำกัด ที่กำหนดไว้ในวิธีที่เหมาะสมทางคณิตศาสตร์ นี่คือพื้นฐานของความหมายทางคณิตศาสตร์ของการคำนวณ หากคุณพิจารณาโปรแกรมมากกว่า Turing Machines โปรแกรมเหล่านี้สามารถมีโครงสร้างข้อมูลแบบไม่ จำกัด กรณีของฟังก์ชั่นที่ทำเป็นตารางfactเป็นอัลกอริทึมที่เป็นไปได้จะถูกวิเคราะห์ในท้ายที่สุดเป็นโปรแกรมหรือเป็นโมเดล TM โดยมีคำใบ้เกี่ยวกับความสัมพันธ์กับการประเมินที่ขี้เกียจของวัตถุที่ไม่มีที่สิ้นสุด

พร้อมรายละเอียดอื่น ๆ อีกมากมาย

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

แต่คำถามดั้งเดิมนั้นเกี่ยวกับบทบาทของอินฟินิตี้ในทัวริงแมชชีนโดยทั่วไป

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

ดังนั้นคำตอบใด ๆ ที่คำนวณโดย TM สามารถคำนวณได้เช่นกันโดย finite-state automaton (FSA) ซึ่งก็คือ "ในระดับหนึ่ง" วิธีหนึ่งในการดูตาราง ปัญหาที่พบคือขนาดอินพุตบางส่วน (เกือบจะเป็นไปได้เสมอถ้าอ่านเฉพาะอินพุต) จะเกินขนาดของหุ่นยนต์ แต่จากนั้นเราสามารถใช้อันที่ใหญ่กว่าได้ ดังนั้นหากเราต้องการพิจารณาขนาดอินพุตที่ไม่ จำกัด เราต้องมีลำดับ FSA ที่ไม่สิ้นสุดที่สามารถทำการคำนวณได้ ที่จริงแล้วเราอาจต้องการเครื่องจักร จำกัด - รัฐซับซ้อนกว่า FSA แบบดั้งเดิมเล็กน้อยเนื่องจากอาจมีเอาต์พุตที่ต้องคำนวณ (แทนที่จะตอบใช่ - ไม่ใช่) แต่ตัวแปลงสัญญาณสถานะ จำกัด ควรทำ

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

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

จากนั้นอีกครั้งเราสามารถแทนที่ด้วยลำดับการคำนวณ จำกัด ด้วยเครื่องจักร จำกัด แต่เรากำลังโกง

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

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

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

สิ่งที่คุณต้องการจริงๆคือการกำหนดแนวคิดของความมั่นคง แต่นั่นต้องมีข้อควรระวัง ให้เราสมมติว่าคุณใช้ออโตมาตะลำดับไม่ จำกัด เพื่อจำลอง TM ที่ตอบว่าใช่หรือไม่ใช่หรือไม่หยุด ปัญหาคือ FSA จะหยุดตอบเสมอเช่นใช่หรือไม่ แต่ถ้าคุณใช้ FSA ที่ขนาดไม่ใหญ่พอสำหรับอินพุตที่เลือกสิ่งที่ควรตอบ ทั้งใช่และไม่ใช่ถูกจองไว้สำหรับกรณีที่ FSA ยกเลิกการคำนวณ TM จริง ๆ และการใช้หนึ่งในคำตอบเหล่านี้ด้วยการคำนวณที่ยังไม่เสร็จจะทำให้เกิดความสับสนเท่านั้น สิ่งที่คุณต้องการคือคำตอบที่บอกว่า: " ขอโทษนะฉันตัวเล็กเกินไปและฉันไม่สามารถบอกได้โปรดลองกับคนที่ใหญ่กว่าในครอบครัว " ในคำอื่น ๆ ที่คุณต้องการคำตอบเช่น ล้นหรือไม่ทราบ. จริงๆแล้วมันถูกเรียกโดย semanticians " undefined " หรือ " bottom " และมักจะเขียน ""

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

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

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

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

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

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

กลับไปที่ตัวอย่างเริ่มต้นของคำถาม

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

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

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

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


3

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

นี่เป็นคำตอบที่สองโดยเน้นไปที่คำถามเฉพาะที่ถามมากกว่าในกรอบทฤษฎีทั่วไปที่แสดงให้เห็นถึงคำตอบและจะต้องมีคำตอบที่แน่นอนเพื่อตอบคำถามทั่วไปของคำถาม มันเข้ากันได้อย่างสมบูรณ์กับคำตอบก่อนหน้าของฉันสำหรับคำถามของ OP ทั้งอัลกอริทึมคืออะไร? และเครื่องจักรทัวริงสมมติว่ามีบางอย่างไม่มีที่สิ้นสุดในบางจุดหรือไม่? คำตอบที่ฉันพัฒนาบริบททางทฤษฎีมากขึ้น นี่อาจถูกมองว่าเป็นการตอบคำถามทั้งสองข้อ

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

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

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

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

ปัญหาคือว่าทัวริงเลือกโมเดลการคำนวณเบื้องต้นเพื่อบรรลุวัตถุประสงค์ทางทฤษฎีของเขา ง่ายกว่าดีกว่า การคำนวณรูปแบบขั้นสูง / ซับซ้อนมากขึ้นนั้นเป็นสิ่งที่ภาษาเครื่องใช้ในการเขียนโปรแกรม: สิ่งที่คลุมเครือมากซึ่งคุณไม่สามารถรับรู้แนวคิดใด ๆ ที่สมเหตุสมผลในการเขียนโปรแกรมระดับสูง ความจริงก็คือเช่นภาษาเครื่อง TM สามารถเลียนแบบได้มากกว่าที่พวกเขาสามารถแสดงโดยตรง

นอกจากนี้ยังไม่มีใครเชื่อในข้อ จำกัด เหล่านี้ของเครื่องจักรทัวริงและมีการคิดค้น TM หลากหลายรูปแบบด้วยคุณสมบัติที่แปลกใหม่ไม่มากก็น้อย หากบางส่วนชุดที่ไม่มีที่สิ้นสุดจะเรียกว่านับซ้ำก็คงเป็นเพราะ TM สามารถจริงการระบุ (ตัวแทนของ) สมาชิกของพวกเขาซึ่งไม่จำเป็นต้องมีการคำนวณอนันต์ (ดูเครื่องทัวริงเป็น EnumeratorsในHopcroft-Ullman 1979, หน้า 167 ) แน่นอนว่าเราสามารถเข้ารหัสได้เสมอว่าเป็นการคำนวณแบบ จำกัด ซึ่งจะตอบคำถามเช่น: อะไรคือ23rd สมาชิกของชุดตามการแจงนับของพวกเขา? แต่มันก็มักจะถูกนำไปใช้ในการคำนวณแบบไม่มีที่สิ้นสุดซึ่งจะหยุดลงเมื่อคำตอบที่ถูกต้องสำเร็จ

อันที่จริงผู้ใช้ทั้งหมดที่รัฐว่าทุกอย่างมี จำกัด แต่มากมายใน TM มีค่อนข้างระมัดระวังในการเพิ่มที่พวกเขาคิดว่าเครื่องทัวริงในการกำหนดมาตรฐาน ปัญหาคือว่าข้อกำหนดมาตรฐานเป็นเพียงอุปกรณ์ในการทำให้ทฤษฎีง่ายขึ้น แต่ก็ไม่เกี่ยวข้องมากนักเมื่อพยายามที่จะเข้าใจโครงสร้างการคำนวณ

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

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

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

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

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

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

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

ในทางที่ดูเหมือนว่าจะยืนยันการยืนยัน (ในคำตอบของ DanielV ) ว่า codespace จะต้องมี จำกัด เนื่องจากการประเมินที่ขี้เกียจจะขึ้นอยู่กับรหัสแน่นอนบางอย่าง แต่ความสามารถในการคำนวณเป็นเกมที่เข้ารหัสอย่างแพร่หลายดังนั้นสิ่งที่ทำให้รหัสที่ได้จากข้อมูลนั้นแตกต่างกันไปในสายตาของผู้ดู อันที่จริงหลายภาษาการเขียนโปรแกรมที่ทันสมัยไม่ได้สร้างความแตกต่างกันมากระหว่างintensional และextensionalคุณสมบัติของค่านิยมและ denotational ความหมายไม่ได้โดดแยกแยะความแตกต่าง "2 + 2" จาก "4" ความหมายคือสิ่งที่เรากำลังพูดถึงเมื่อถามคำถามเช่น " What is X ? "

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

เมื่อออกแบบกรอบทฤษฎีจะมีความตึงเครียดระหว่างความเรียบง่ายและความฉลาดหรือความชัดเจน ความเรียบง่ายทำให้การวิเคราะห์กรอบงานง่ายขึ้นโดยเฉพาะอย่างยิ่งเมื่อต้องพิสูจน์คุณสมบัติเฉพาะ แต่มักจะไม่สะดวกสำหรับการแสดงแนวคิดระดับสูงที่จะต้องเข้ารหัส เราไม่ได้ตั้งโปรแกรมด้วย Turing Machines แต่มีภาษาระดับสูงที่มีความชัดเจนและชัดเจนมากขึ้นและในเวลาเดียวกันอาจลบอุปสรรคบางอย่างเช่นความแตกต่างระหว่างรหัสและข้อมูลบนพื้นฐานของความหมายเชิงเท่าเทียมกัน เครื่องจักรทัวริงดูเรียบง่าย แต่สามารถก้าวไปไกลกว่าคำจำกัดความเบื้องต้น


3

คำตอบสั้น ๆ : ไม่มี เครื่องทัวริงไม่ถือว่าไม่มีที่สิ้นสุด ณ จุดใด ๆ

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

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

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


-1

"คิดนอกกรอบ" และสรุปคำถามนี้ที่ทำให้หัวใจของนามธรรมของทัวริงเครื่องจักรและขึ้นมาในมุมที่แตกต่างออกไปไม่ได้ตอบ: ใช่เครื่องจักรทัวริงมีลักษณะที่แท้จริงของ "สมมติ infinities" เพียง เป็นแนวคิดที่แท้จริงของคณิตศาสตร์ TMs เป็นเครื่องทางกายภาพที่เป็นนามธรรม แนวคิดทางกายภาพของเวลาและอวกาศถูกนำมาใช้อย่างมีจุดมุ่งหมายในทฤษฎี TM แต่เป็น abstractions แต่ยังมีแง่มุมของคู่แท้ของพวกเขา

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

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

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

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