คำถามติดแท็ก machine-models

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

1
การจำลองแบบสากลของเครื่องจักรทัวริง
ให้fffเป็นฟังก์ชันที่สร้างเวลาได้คงที่ ผลการจำลองแบบคลาสสิกสากลสำหรับ TM (Hennie และ Stearns, 1966) ระบุว่ามี TM สองเทปUUUที่ให้ คำอธิบายของ TM และ⟨M⟩⟨M⟩\langle M \rangle สตริงอินพุต ,xxx วิ่งขั้นตอนและผลตอบแทนMคำตอบ 'บนx และกรัมสามารถนำไปเป็นฟังก์ชั่นใด ๆ ในω ( F ( n ) LG ฉ( n ) )g(|x|)g(|x|)g(|x|)MMMxxxgggω(f(n)lgf(n))ω(f(n)lg⁡f(n))\omega(f(n)\lg f(n)) คำถามของฉันคือ: ผลการจำลองที่รู้จักกันดีที่สุดใน TM เทปเดี่ยวคืออะไร ผลลัพธ์ดังกล่าวยังคงค้างอยู่หรือไม่ มีการปรับปรุงใด ๆ ใน [HS66] หรือไม่? เราสามารถจำลอง TM ในสองเทป TM สำหรับขั้นตอนได้เร็วขึ้นหรือไม่? เราสามารถใช้g ( …

2
การจำแนกประเภทของอัลกอริทึมแบบสุ่ม
จากWikipediaเกี่ยวกับอัลกอริทึมแบบสุ่ม เราต้องแยกความแตกต่างระหว่างอัลกอริธึมที่ใช้อินพุตแบบสุ่มเพื่อลดเวลาทำงานที่คาดหวังหรือการใช้หน่วยความจำ แต่มักจะสิ้นสุดด้วยผลลัพธ์ที่ถูกต้องในระยะเวลาที่ จำกัด และ อัลกอริธึมความน่าจะเป็นซึ่งขึ้นอยู่กับอินพุตสุ่ม ของการสร้างผลลัพธ์ที่ไม่ถูกต้อง (อัลกอริทึม Monte Carlo) หรือล้มเหลวในการสร้างผลลัพธ์ (อัลกอริทึม Las Vegas) โดยการส่งสัญญาณความล้มเหลวหรือล้มเหลวในการยุติ ฉันสงสัยว่า " อัลกอริทึมชนิดแรกใช้อินพุตแบบสุ่มเพื่อลดเวลาทำงานหรือการใช้หน่วยความจำที่คาดไว้ แต่จะสิ้นสุดด้วยผลลัพธ์ที่ถูกต้องในระยะเวลาที่ จำกัด หรือไม่ ความแตกต่างระหว่างอัลกอริธึมกับลาสเวกัสซึ่งอาจล้มเหลวในการสร้างผลลัพธ์คืออะไร ถ้าฉันเข้าใจถูกต้องอัลกอริธึมที่น่าจะเป็นและอัลกอริธึมแบบสุ่มไม่ใช่แนวคิดเดียวกัน อัลกอริธึมความน่าจะเป็นเป็นเพียงหนึ่งในอัลกอริธึมแบบสุ่มและอีกประเภทหนึ่งคือการใช้อินพุตแบบสุ่มเพื่อลดเวลาทำงานหรือการใช้หน่วยความจำที่คาดไว้ แต่จะสิ้นสุดด้วยผลลัพธ์ที่ถูกต้องในเวลา จำกัด

3
มีเครื่องนามธรรมที่สามารถจับการใช้พลังงานหรือไม่
เมื่อรายงานความซับซ้อนของอัลกอริทึมของอัลกอริทึมเราจะถือว่าการคำนวณพื้นฐานดำเนินการกับเครื่องนามธรรม (เช่น RAM) ที่ใกล้เคียงกับ CPU ที่ทันสมัย โมเดลดังกล่าวช่วยให้เราสามารถรายงานเวลาและพื้นที่ที่ซับซ้อนของอัลกอริทึม ตอนนี้ด้วยการแพร่กระจายของGPGPUsหนึ่งสงสัยว่ามีรูปแบบที่รู้จักกันดีที่หนึ่งสามารถคำนึงถึงการใช้พลังงานเช่นกัน GPU เป็นที่รู้จักกันดีในการใช้พลังงานจำนวนมากและคำแนะนำบางอย่างแบ่งเป็นหมวดหมู่ของการใช้พลังงานตามความซับซ้อนและตำแหน่งของชิปที่ซับซ้อน ดังนั้นคำแนะนำจากพลังงานในมุมมองจึงไม่ได้เป็นต้นทุนต่อหน่วย (หรือแม้แต่ค่าคงที่) ส่วนขยายเล็กน้อยจะกำหนดน้ำหนักให้กับค่าใช้จ่ายในการดำเนินการ แต่ฉันกำลังมองหาแบบจำลองที่ทรงพลังซึ่งการดำเนินการ / การเรียนการสอนอาจมีค่าหน่วยพลังงานที่ไม่คงที่เช่นจำนวนพหุนาม (หรือซับซ้อนกว่าเช่น: ของอัลกอริทึมหรือคำนึงถึงความน่าจะเป็นของความล้มเหลวของระบบทำความเย็นซึ่งจะทำให้ชิปร้อนขึ้นและชะลอความถี่สัญญาณนาฬิกาเป็นต้น) มีโมเดลดังกล่าวที่สามารถรวมค่าใช้จ่ายและความผิดพลาดที่ไม่สำคัญได้หรือไม่

1
การแยกประเภทการปรับแต่ง
ที่ทำงานฉันได้รับมอบหมายให้อนุมานข้อมูลบางประเภทเกี่ยวกับภาษาแบบไดนามิก ฉันเขียนลำดับของข้อความไปยังletนิพจน์ที่ซ้อนกันเช่น: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x then { T; Z } else { F; Z } เนื่องจากฉันเริ่มต้นจากข้อมูลประเภททั่วไปและพยายามอนุมานประเภทที่เฉพาะเจาะจงมากขึ้นตัวเลือกที่เป็นธรรมชาติคือประเภทการปรับแต่ง ตัวอย่างเช่นตัวดำเนินการตามเงื่อนไขส่งคืนการรวมของประเภทของสาขาที่เป็นจริงและเท็จ …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

1
พิสูจน์ว่าฟังก์ชั่นบูลีนคำนวณได้ใน T (n) โดยเครื่อง RAM อยู่ใน DTIME (T (n) ^ 2)
คำถามคือการออกกำลังกาย 1.9 จากหนังสือComputational Complexityของ Arora-Barak - วิธีการที่ทันสมัย : กำหนดเครื่อง RAM ทัวริงให้เป็นเครื่องทัวริงที่มีหน่วยความจำเข้าถึงโดยสุ่ม เราทำสิ่งนี้อย่างเป็นทางการดังนี้: เครื่องมีอาเรย์ที่ไม่มีที่สิ้นสุดซึ่งเริ่มต้นกับช่องว่างทั้งหมด มันเข้าถึงอาร์เรย์นี้ดังนี้ หนึ่งในเทปงานของเครื่องถูกกำหนดให้เป็นเทปที่อยู่ นอกจากนี้เครื่องยังมีสัญลักษณ์พิเศษสองตัวแสดงโดย R และ W และสถานะเพิ่มเติมที่เราแสดงโดย q_access เมื่อใดก็ตามที่เครื่องเข้าสู่ q_access หากเทปที่อยู่มี 'i'R (โดยที่' i 'หมายถึงการแทนค่าไบนารี่ของ i) ดังนั้นค่า A [i] จะถูกเขียนในเซลล์ถัดจากสัญลักษณ์ R หากเทปมี 'i'Wa (โดยที่ a คือสัญลักษณ์บางอย่างในตัวอักษรของเครื่อง) จากนั้น A [i] จะถูกตั้งค่าเป็น a แสดงว่าถ้าฟังก์ชั่นแบบบูลคือคำนวณภายในระยะเวลา (บางครั้ง constructible ) โดยแรม TM …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.