สามารถใช้โปรแกรมใด ๆ ในเชิงกลไกได้หรือไม่?


13

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


ฉันคิดว่ามีบางสิ่งที่ใช้ Microsoft Word ไม่จำเป็นต้องใช้บนเครื่องทัวริงเนื่องจากกระบวนการทั้งหมดใน Word ควรจะเป็นที่รู้จัก (พิสูจน์แล้ว) ยุติ (ยกเว้นกรณีที่มีข้อผิดพลาด ofc) นอกเหนือจากลูปเหตุการณ์หลัก
Realz Slaw


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

@Realz Slaw: ไม่ใช่ถ้าคุณใส่ I / O, VBA macros หรือส่วนขยายตัวอย่างเช่นฉันสงสัยว่า Word จะบ่นถ้าคุณป้อนเอกสาร Word ที่ไม่มีที่สิ้นสุด อาจเป็นระบบปฏิบัติการพื้นฐานที่จะถึงขีด จำกัด
reinierpost

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

คำตอบ:


23

ใช่แล้ว. นี่คือวิธีที่คุณทำ:

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

  1. Dan R. Ghica เรขาคณิตของการสังเคราะห์: วิธีการที่มีโครงสร้างเพื่อการออกแบบ VLSI
  2. Dan R. Ghica, Alex Smith เรขาคณิตของการสังเคราะห์ II: จากเกมจนถึงวงจรที่ไม่ไวต่อความล่าช้า
  3. Dan R. Ghica, Alex Smith เรขาคณิตของการสังเคราะห์ III: การจัดการทรัพยากรผ่านการอนุมานประเภท
  4. Dan R. Ghica, Alex Smith, Satnam Singh เรขาคณิตของการสังเคราะห์ IV: การรวบรวมเลียนแบบการเรียกซ้ำเป็นฮาร์ดแวร์แบบคงที่

จากนั้นวงจรก็จะปรากฏขึ้นมาซ้ำแล้วซ้ำอีกในด้านวิศวกรรม John Baez ให้แนวคิดที่คล้ายคลึงกับตารางใหญ่และทำงานเชื่อมโยงกันมากมายใน Finds Weeks 288-296 ของสัปดาห์นี้ ดังนั้นวงจรไดอะแกรมคอมไพเลอร์ของแดนที่สร้างขึ้นอาจถูกยกตัวอย่างเป็นระบบกลไกหรือระบบไฮดรอลิกถ้าคุณต้องการจริงๆ!

╔══════════════════════════════════════════════════════════════╗
║                 displacement  flow      momentum     effort  ║
╠══════════════════════════════════════════════════════════════╣
║ Mechanics      position      velocity  momentum     force    ║
║ (translation)                                                ║
║                                                              ║
║ Mechanics      angle         angular   angular      torque   ║
║ (rotation)                   velocity  momentum              ║
║                                                              ║
║ Electronics    charge        current   flux         voltage  ║
║                                        linkage               ║
║                                                              ║
║ Hydraulics     volume        flow      pressure     pressure ║
║                                        momentum              ║
╚══════════════════════════════════════════════════════════════╝
  1. http://math.ucr.edu/home/baez/week288.html
  2. http://math.ucr.edu/home/baez/week289.html
  3. http://math.ucr.edu/home/baez/week290.html
  4. http://math.ucr.edu/home/baez/week291.html
  5. http://math.ucr.edu/home/baez/week294.html
  6. http://math.ucr.edu/home/baez/week296.html

12
ผลที่ตามมา: สิทธิบัตรซอฟต์แวร์ไม่สมเหตุสมผล
András Salamon

1
คำตอบที่ยอดเยี่ยมสำหรับคำถามที่ฉันเพิ่งรู้วิธีถาม ขอบคุณสำหรับแผนภูมิเพิ่ม!
Alex Nye

5

ตัวอย่างที่ใช้งานได้จริงคือคอมพิวเตอร์ Tic Tac Toe ที่ทำจากของเล่นทิงเกอร์ที่พิพิธภัณฑ์วิทยาศาสตร์บอสตัน (สร้างโดยทีมงานของนักเรียน MIT) แน่นอนว่ามันง่ายกว่า Microsoft Word

นี่คือบทความ 1989 จาก Scientific American ที่อธิบายไว้

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


ฉันชอบบทความและเครื่องเลโก้
Alex Nye

1

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

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