ปฏิสัมพันธ์มีประสิทธิภาพมากกว่าอัลกอริทึมหรือไม่


17

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

สิ่งนี้จะเป็นเช่นนั้นได้อย่างไร บางสิ่งจะมีประสิทธิภาพมากกว่าเครื่องทัวริงอย่างไร สาระสำคัญของเรื่องนี้คืออะไร? ทำไมถึงไม่รู้จักกันดีกว่า?


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

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

2
เครื่องจักรทัวริงไม่มีเซ็นเซอร์
Dave Clarke

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

2
คำถามไม่เกี่ยวกับคอมพิวเตอร์ การโต้ตอบกับ TM เพียงอย่างเดียวคือสภาพแวดล้อมจะมีอินพุตหนึ่งอินพุตในตอนเริ่มต้นและรับได้มากที่สุดหนึ่งเอาต์พุตในตอนท้าย นี่คือการโต้ตอบทั่วไปแทบจะไม่
Dave Clarke

คำตอบ:


11

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

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

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

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

  • อัลกอริทึมที่ใช้ Oracle มักไม่ได้รับการพิจารณาในการคำนวณแบบวันต่อวันเพราะคอมพิวเตอร์ปกติไม่มีเวทมนตร์ "oracle" เพื่อส่งข้อมูล แต่เราอาจจะสามารถใช้คนเป็นออราเคิล หากบุคคลนั้นเข้าใจข้อมูลที่ถูกร้องขอพวกเขาอาจจะสามารถช่วยอัลกอริทึมไปพร้อมกันซึ่งจะเป็นการปรับปรุงประสิทธิภาพของมัน กล่าวอีกนัยหนึ่งมนุษย์อาจจะสามารถจัดหา oracle tape ที่มีประโยชน์ได้มากกว่าเพียงแค่การสุ่มและในหลักการนี้อาจนำไปสู่วิธีการคำนวณที่เร็วขึ้นหรือมีประสิทธิภาพมากกว่าเมื่อเทียบกับ non-oracle-based สิ่งที่คล้ายกันเกิดขึ้นกับการคำนวณแบบสุ่มหลังจากทั้งหมดที่เครื่องได้รับลำดับของบิตสุ่มเป็นอินพุตพิเศษ


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

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

ไม่นี่ไม่ใช่กรณี: มีข้อ จำกัด ต่อเนื่องเกี่ยวกับความเป็นไปได้ที่เทป oracle ไม่ได้เป็นแบบจำลอง หากสภาพแวดล้อมที่ไม่สามารถมองเห็นภายในโปรแกรมแล้วป้อนข้อมูลที่เป็นอุปกรณ์ในเวลาอาจขึ้นอยู่กับการส่งออกในช่วงเวลาก่อนหน้านี้n (นั่นคือการดูอินพุตเป็นฟังก์ชันของเอาต์พุตฟังก์ชันอินพุตจะต้องไม่มีตัว xpansive เทียบกับ Cantor metric) เช่นเดียวกับการคำนวณ "รู้สึกเหมือน" โทโพโลยีของนักคณิตศาสตร์คลาสสิคการโต้ตอบ "รู้สึก" ทอพอโลยีเพื่อสร้างสรรค์ นักคณิตศาสตร์ nn
Neel Krishnaswami

สำหรับการเปรียบเทียบอย่างละเอียดเกี่ยวกับเรื่องนี้ดู Peter Hancock, Pierre Hyvernat: ส่วนต่อประสานการเขียนโปรแกรมและโครงสร้างพื้นฐาน citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.107.919
Neel Krishnaswami

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

8

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

ในบางแง่มุมเช่นเครื่องอาจจะสามารถ "ตัดสินใจ" ปัญหาที่ undecidable โดยทัวริงเครื่องจักร แต่ถ้าคุณจินตนาการว่าระบบที่มีปฏิสัมพันธ์กับมันมีพลัง - ทัวริง - เครื่องจักรและมีความน่าเชื่อถือ (อย่างใด; จะเพียงพอ)

ลองนึกภาพโปรแกรมสำหรับเครื่อง IO เช่น: "สำหรับอินพุตเทปเริ่มต้นพิมพ์เนื้อหาเทปจากนั้นอ่านสัญลักษณ์จากอินพุตภายนอกยอมรับถ้าสัญลักษณ์นั้นเป็น 1 และปฏิเสธเป็นอย่างอื่น" โปรแกรมนี้สามารถตัดสินใจปัญหาใด ๆ แต่เพียงถ้าระบบนอกมันสามารถโต้ตอบกับความสามารถในการตัดสินใจปัญหานั้น สำหรับฉันนั่นไม่ใช่วิธีที่น่าสนใจมากที่จะบอกว่า IO Machine ของสามารถตัดสินใจปัญหาที่ไม่สามารถระบุได้โดย Turing Machines

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


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


8

เมื่อเร็ว ๆ นี้พลอากาศเอกจัดประชุมสัมมนา Ubiquity ' การคำนวณคืออะไร? 'ซึ่ง Peter Wegner ตีพิมพ์บทความที่สะท้อนมุมมองของเขาในการใช้คอมพิวเตอร์แบบโต้ตอบ

นี่คือข้อความที่ตัดตอนมาสองข้อจากบทความโดย Peter Wegner:

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

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

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

ในการเพิ่มการมิกซ์นั้นปรากฏว่าเรายังคงโต้วาทีและกำหนดการคำนวณ Moshe Vardi มีบทความหนึ่งอัลกอริทึมคืออะไรการสื่อสารของ ACM, Vol. 55, ฉบับที่ 3, มีนาคม 2012

Vardi รายงานเกี่ยวกับอัลกอริธึมใหม่สองคำจำกัดความ คนแรกถูกเสนอโดย Gurevich และครั้งที่สองโดย Moschovakis

Gurevich แย้งว่าอัลกอริทึมทุกคนสามารถกำหนดในแง่ของเครื่องสถานะนามธรรม

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


6

ฉันไม่คิดว่ารุ่นที่มี IO นั้น "มีประสิทธิภาพ" มากกว่าทัวริงจักรพวกเขาแค่ทำสิ่งที่แตกต่าง

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

คลาสของโปรแกรมที่เหมาะสมกับรุ่นนี้คือตัวช่วยป้องกันการโต้ตอบ (เช่นIsabelle / HOL , Coq ) พวกเขาจัดการกับช่องว่างพิสูจน์ undecidable แต่ (arguably) ทุกหลักฐานสามารถพบได้ (และตรวจสอบ) ด้วยการป้อนข้อมูลของผู้ใช้ที่เหมาะสม


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

1
@DaveClarke หากคุณพิจารณา oracles ที่สมบูรณ์แบบใช่
Raphael

2
ฉันคิดว่าเครื่องที่ไม่มีลำพัง (โดย oracle หรืออินพุต) รูปแบบใด ๆ (หรือโปรแกรม) ในหลักการสามารถพบหลักฐานทุกอย่าง มีสองปัญหา: (1, ทางทฤษฎี): มันจะไม่สามารถยืนยันได้ว่าคำสั่งไม่มีข้อพิสูจน์และ (2, ในทางปฏิบัติ): การสร้างหลักฐานแบบสุ่มสี่สุ่มห้าในความหวังที่จะสะดุดกับคำสั่งที่ได้รับนั้นไม่มีประสิทธิภาพอย่างมาก ต้องการที่จะลองและผู้ช่วยที่พิสูจน์แล้วต้องการการค้นหาที่ได้รับคำแนะนำและละทิ้ง "มั่นใจ" จะสำเร็จในกรณีที่มีหลักฐานอยู่
Marc van Leeuwen

2
เมื่อเบ็นชี้ให้เห็นในคำตอบของเขาวิธีที่ถูกต้องในการดูไม่ใช่ "ทัวริงเครื่องจักรที่มีออราเคิลมีพลังมากกว่า"; เครื่องจักรเองกำลังทำสิ่งที่คำนวณได้ วิธีที่ถูกต้องในการดูคือ "oracle บางตัวไม่สามารถคำนวณได้และจากคำทำนายเหล่านั้นเราสามารถคำนวณสิ่งต่าง ๆ ที่เราไม่สามารถคำนวณได้หากไม่มี oracle" ความแข็งแรงในการคำนวณมาจาก oracle มากกว่าจากเครื่อง
Carl Mummert

ดูเหมือนว่าเครื่องจักรทัวริงกับ Oracles เป็นสิ่งที่ทรงพลังที่สุด ทำไมต้องใส่ใจกับคำจำกัดความใหม่
saadtaame

0

ลองดูสิ :) " แนวคิดของทัวริงและโมเดลการคำนวณ " https://www.cs.montana.edu/~elser/turing%20papers/turing%27s%20Ideas%20and%20Models%20ofput20Computation.pdf


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