เป็นไปได้ไหมที่จะทดสอบว่าตัวเลขที่คำนวณได้นั้นเป็นจำนวนตรรกยะหรือจำนวนเต็ม?


18

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

ฉันเดาว่ามันเป็นไปไม่ได้และนี่ก็เกี่ยวข้องกับความจริงที่ว่ามันเป็นไปไม่ได้ที่จะทดสอบว่าตัวเลขสองตัวนั้นเท่ากัน แต่ฉันไม่เห็นวิธีที่จะพิสูจน์มัน

แก้ไข: จำนวนที่คำนวณได้ถูกกำหนดโดยฟังก์ชันที่สามารถส่งกลับค่าประมาณด้วยเหตุผลด้วยความแม่นยำ :สำหรับใด ๆ0 รับฟังก์ชั่นดังกล่าวเป็นไปได้หรือไม่ที่จะทดสอบว่าหรือ ?xfx(ϵ)xϵ|xfx(ϵ)|ϵϵ>0xQxZ

computability  computing-over-reals  lambda-calculus  graph-theory  co.combinatorics  cc.complexity-theory  reference-request  graph-theory  proofs  np-complete  cc.complexity-theory  machine-learning  boolean-functions  combinatory-logic  boolean-formulas  reference-request  approximation-algorithms  optimization  cc.complexity-theory  co.combinatorics  permutations  cc.complexity-theory  cc.complexity-theory  ai.artificial-intel  p-vs-np  relativization  co.combinatorics  permutations  ds.algorithms  algebra  automata-theory  dfa  lo.logic  temporal-logic  linear-temporal-logic  circuit-complexity  lower-bounds  permanent  arithmetic-circuits  determinant  dc.parallel-comp  asymptotics  ds.algorithms  graph-theory  planar-graphs  physics  max-flow  max-flow-min-cut  fl.formal-languages  automata-theory  finite-model-theory  dfa  language-design  soft-question  machine-learning  linear-algebra  db.databases  arithmetic-circuits  ds.algorithms  machine-learning  ds.data-structures  tree  soft-question  security  project-topic  approximation-algorithms  linear-programming  primal-dual  reference-request  graph-theory  graph-algorithms  cr.crypto-security  quantum-computing  gr.group-theory  graph-theory  time-complexity  lower-bounds  matrices  sorting  asymptotics  approximation-algorithms  linear-algebra  matrices  max-cut  graph-theory  graph-algorithms  time-complexity  circuit-complexity  regular-language  graph-algorithms  approximation-algorithms  set-cover  clique  graph-theory  graph-algorithms  approximation-algorithms  clustering  partition-problem  time-complexity  turing-machines  term-rewriting-systems  cc.complexity-theory  time-complexity  nondeterminism 

3
จะคำนวณจำนวนที่คำนวณได้อย่างไร?
Tsuyoshi Ito

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

3
คำถามที่คล้ายกัน: cstheory.stackexchange.com/questions/10495/ …
Kristoffer Arnsfelt Hansen

3
(1)“ คุณรู้ได้อย่างไรว่านี่เป็นจำนวนเต็ม” ทำไมฉันถึงต้องสนใจ คุณไม่ได้พูดอะไรเกี่ยวกับข้อกำหนดเกี่ยวกับการปฏิบัติงาน (2)“ ถ้าคุณเห็นคำตอบสองคำตอบพวกเขาไม่ได้พูดถึงการใช้งาน” ฉันไม่รู้ว่าคุณหมายถึงอะไรโดย“ การใช้งาน” ที่นี่หรือทำไมประโยคนี้เกี่ยวข้องกับความคิดเห็นของฉัน
Tsuyoshi Ito

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

คำตอบ:


32

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

เราจะรู้ได้อย่างไรว่าการดำเนินการถูกต้อง?

ทฤษฎีที่อธิบายถึงวิธีการที่จะเป็นตัวแทนสิ่งที่อยู่ในคอมพิวเตอร์จะเข้าใจได้ แนวคิดพื้นฐานคือกำหนดชุดเราจะเลือกประเภทข้อมูลและทุก ๆชุดของค่าประเภทซึ่งรับรู้ได้ เราเขียนเมื่อเป็นค่าที่ตระหนักxตัวอย่างเช่น (ฉันจะใช้ Haskell โดยไม่มีเหตุผล) การใช้งานที่เหมาะสมของอาจเป็นประเภทข้อมูลที่เมื่อประเมินค่าตัวเลข ( โดยเฉพาะอย่างยิ่งτ x X τ วีx X วีx Nวีk Nวี¯ k T R ยูอี42 N F ลิตรs อีn N n 42XτxXτvxXvxNIntegervkNvk¯-42ไม่ได้แสดงถึงจำนวนธรรมชาติและไม่มีโปรแกรมการแยกความแตกต่าง) แต่โจ๊กเกอร์บางตัวสามารถเดินผ่านและแนะนำให้เราใช้Boolเพื่อแสดงตัวเลขธรรมชาติด้วยและสำหรับคำถามที่ทำไมสิ่งนี้ถึงไม่ถูกต้อง เราจำเป็นต้องมีเกณฑ์True42NFalsenNn42

ในกรณีของ "หมายเลขโจ๊กเกอร์" การสังเกตง่าย ๆ คือไม่สามารถเพิ่มการเติมได้ สมมติว่าผมบอกคุณผมมีสองหมายเลขทั้งตัวแทนจาก{} คุณสามารถให้ realizer สำหรับผลรวมของพวกเขา? ขึ้นอยู่กับว่าผลรวมเป็น 42 แต่คุณไม่สามารถบอกได้ เนื่องจากการเพิ่มเป็น "ส่วนสำคัญของตัวเลขธรรมชาติ" จึงไม่สามารถยอมรับได้ กล่าวอีกนัยหนึ่งการใช้งานไม่ได้เกี่ยวกับชุด แต่เกี่ยวกับโครงสร้างกล่าวคือเราต้องแสดงชุดในลักษณะที่เป็นไปได้ที่จะใช้โครงสร้างที่เกี่ยวข้อง ขอให้ฉันเครียด:False

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

หากคุณไม่ปฏิบัติตามหลักการนี้คุณจะต้องแนะนำเกณฑ์ทางคณิตศาสตร์อื่นของความถูกต้อง ฉันไม่รู้จักหนึ่ง

ตัวอย่าง: การแทนค่าตัวเลขธรรมชาติ

สำหรับตัวเลขธรรมชาติโครงสร้างที่เกี่ยวข้องถูกอธิบายโดยสัจพจน์ของ Peano และสัจพจน์ที่สำคัญที่ต้องดำเนินการคือการเหนี่ยวนำ (แต่ยัง , ตัวตายตัวแทน, +และ× ) เราสามารถคำนวณได้โดยใช้ความสามารถในการทำให้เป็นจริงสิ่งที่การนำไปปฏิบัติใช้ในการเหนี่ยวนำทำได้ มันจะกลายเป็นแผนที่ (ซึ่งเป็นประเภทข้อมูลที่ไม่รู้จักซึ่งแสดงถึงจำนวนธรรมชาติ)0+×nat

induction : 'a -> (nat -> 'a -> 'a) -> 'nat -> 'a

ความพึงพอใจและinduction x f zero = x induction x f (succ n) = f n (induction x f n)ทั้งหมดนี้มาจากความเป็นจริง เรามีเกณฑ์: การดำเนินการตามจำนวนธรรมชาตินั้นถูกต้องเมื่ออนุญาตให้มีการใช้งานสัจพจน์ของ Peano ผลที่คล้ายกันจะรับได้ถ้าเราใช้ในลักษณะของตัวเลขที่พีชคณิตเริ่มต้นสำหรับ functor XX1+X

การใช้งานที่ถูกต้องของจำนวนจริง

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

ฉันจะไม่เข้าไปดูรายละเอียดทั้งหมด แต่ให้ฉันอธิบายว่าส่วนต่าง ๆ ของโครงสร้างให้การดำเนินการต่าง ๆ ใน reals:

  • Archimedeanความจริงเป็นเรื่องเกี่ยวกับการคำนวณเหตุผลประการของ reals
  • โครงสร้างฟิลด์ให้การดำเนินการทางคณิตศาสตร์ตามปกติ
  • คำสั่งเชิงเส้นทำให้เรามีกระบวนการsemidecidableสำหรับการทดสอบx<y
  • lim : (nat -> real) -> real(xn)nม. , n|xnxm|2min(n,m)m,n

สิ่งที่เราไม่ได้รับคือฟังก์ชั่นทดสอบเพื่อความเท่าเทียมกัน ไม่มีความจริงในสัจพจน์สำหรับ reals ซึ่งถามว่าจะตัดสินใจได้ (ในทางตรงกันข้ามสัจพจน์ของ Peano แปลว่าตัวเลขธรรมชาตินั้นสามารถนำมาคำนวณได้และคุณสามารถพิสูจน์ได้ว่าโดยการใช้เพียงเพื่อการออกกำลังกายที่สนุกสนาน)=eq : nat -> nat -> Boolinduction

มันเป็นความจริงที่การแทนค่าทศนิยมปกติของ reals ที่มนุษยชาติใช้นั้นไม่ดีเพราะด้วยเหตุนี้เราจึงไม่สามารถใช้การเพิ่มได้ จุดลอยตัวกับ mantissa ที่ไม่มีที่สิ้นสุดก็ล้มเหลวเช่นกัน (แบบฝึกหัด: ทำไม?) สิ่งที่ทำงาน แต่มีการลงนามในการเป็นตัวแทนหลักคือหนึ่งในสิ่งที่เราอนุญาตให้ตัวเลขเชิงลบเช่นเดียวกับคนในเชิงบวก หรือเราสามารถใช้ลำดับของการปันส่วนที่เป็นไปตามการทดสอบ Cauchy อย่างรวดเร็วตามที่ระบุไว้ข้างต้น

การเป็นตัวแทนของ Tsuyoshi นั้นได้ดำเนินการบางอย่าง แต่ไม่ใช่R

ขอให้เราพิจารณาการแทนค่าของ reals ต่อไปนี้:แท้จริงถูกแทนด้วยคู่โดยที่เป็นลำดับของ Cauchy อย่างรวดเร็วที่มาบรรจบกับและคือบูลีนที่ระบุว่าเป็นจำนวนเต็ม เพื่อให้สิ่งนี้เป็นตัวแทนของ reals เราจะต้องดำเนินการเพิ่ม แต่เนื่องจากปรากฎว่าเราไม่สามารถคำนวณแฟล็กบูลีนได้ ดังนั้นนี่ไม่ใช่ตัวแทนของ reals แต่มันก็ยังคงเป็นตัวแทนของอะไรบางอย่างกล่าวคือส่วนย่อยของ reals( q , b ) ( q n ) n x b x Z( RZ ) Z( RZ ) Rx(q,b)(qn)nxbxZ(RZ). อันที่จริงตามการตีความ realizability สหภาพจะดำเนินการด้วยธงระบุว่าส่วนหนึ่งของสหภาพเราอยู่ในวิธีโดยคือไม่เท่ากับถ้าคุณเชื่อในการยกเว้นตรงกลางซึ่งไม่สามารถดำเนินการได้และดังนั้นจึงเป็นเรื่องที่ค่อนข้างไม่เกี่ยวข้องสำหรับการสนทนานี้ เราถูกคอมพิวเตอร์บังคับให้ทำสิ่งต่าง ๆ ด้วยสัญชาตญาณZ(RZ)R

เราไม่สามารถทดสอบว่าจริงเป็นจำนวนเต็มหรือไม่

สุดท้ายให้ฉันตอบคำถามที่ถาม ตอนนี้เรารู้แล้วว่าการเป็นตัวแทนที่แท้จริงของ reals นั้นเป็นไปตามลำดับของ Cauchy อย่างรวดเร็วของการปันส่วน (ทฤษฎีบทสำคัญกล่าวว่าการแสดงสอง reals ซึ่งยอมรับได้จริง ๆ แล้ว isomorphic)

ทฤษฎีบท:การทดสอบว่าจริงเป็นจำนวนเต็มไม่สามารถตัดสินใจได้

พิสูจน์ สมมติว่าเราสามารถทดสอบได้ว่าของจริงนั้นเป็นจำนวนเต็มหรือไม่ ความคิดที่จะช่วยให้คุณพิสูจน์ทฤษฎีบททั่วไปได้มากขึ้นถ้าคุณต้องการคือการสร้างลำดับ Cauchy อย่างรวดเร็วของจำนวนที่ไม่ใช่จำนวนเต็มซึ่งแปรสภาพเป็นจำนวนเต็ม นี้เป็นเรื่องง่ายเพียงแค่ใช้เวลาn} ถัดไปแก้ไขปัญหาการหยุดพักดังต่อไปนี้ รับเครื่องทัวริงกำหนดลำดับใหม่โดย นั่นคือลำดับใหม่ดูเหมือนว่าลำดับตราบใดที่x n = 2 - n T ( y n ) n y n = { x n หาก  T  ไม่ได้หยุดภายใน  n  ขั้นตอนx m หาก  T  หยุดในขั้นตอน  m  และ  m n ( x n ) n T x T T Z = Lim n Y n Z 0(xn)nxn=2nT(yn)n

yn={xnif T has not stopped within n stepsxmif T stopped in step m and mn
(xn)nTวิ่ง แต่แล้วก็จะได้รับการ "ติด" ที่ถ้าหยุดในขั้นตอนม.สำคัญมากลำดับใหม่นี้ยังเป็นลำดับ Cauchy ที่รวดเร็ว (และเราสามารถพิสูจน์ได้โดยไม่ทราบว่าหยุดทำงาน) ดังนั้นเราสามารถคำนวณขีด จำกัด ของได้เพราะการเป็นตัวแทน reals ของเรานั้นถูกต้อง ทดสอบว่าเป็นจำนวนเต็มหรือไม่ ถ้าเป็นเช่นนั้นมันจะต้องเป็นและจะเกิดขึ้นก็ต่อเมื่อทำงานตลอดไป มิฉะนั้นไม่ใช่จำนวนเต็มดังนั้นต้องหยุดทำงาน QEDxmTmTz=limnynz0z TTzT

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

บางครั้งผู้คนสับสนเกี่ยวกับธุรกิจการทดสอบทั้งหมดนี้ พวกเขาคิดว่าเราได้พิสูจน์แล้วว่าเราไม่สามารถทดสอบได้ว่าของจริงเป็นจำนวนเต็มหรือไม่ แต่แน่นอนว่า 42 เป็นของจริงและเราสามารถบอกได้ว่ามันเป็นจำนวนเต็มหรือไม่ ในความเป็นจริงใด ๆโดยเฉพาะอย่างยิ่งจริงเรามากับ , ,ฯลฯ เราสามารถสมบูรณ์ดีบอกได้ว่าพวกเขาเป็นจำนวนเต็ม แม่นยำเราสามารถบอกได้เพราะเรามีข้อมูลเพิ่มเติม: ไม่ได้ให้ reals เหล่านี้กับเราตามลำดับ แต่เป็นการแสดงออกถึงสัญลักษณ์ที่เราสามารถคำนวณบิตของ Tsuyoshi ได้ ทันทีที่มีข้อมูลเพียงอย่างเดียวที่เรามีเกี่ยวกับความจริงก็คือลำดับของการประมาณตามเหตุผลที่มาบรรจบกัน (และฉันทำ88 LN 89 เธsin1188ln89 neπ163ไม่ได้หมายถึงการแสดงออกเชิงสัญลักษณ์อธิบายลำดับ แต่เป็นกล่องสีดำที่ออกผลลัพธ์เป็นระยะ -th กับการป้อนข้อมูล ) แล้วเราจะเป็นเช่นเดียวกับทำอะไรไม่ถูกเป็นเครื่องnn

คุณธรรมของเรื่องราว

ไม่มีเหตุผลที่จะพูดคุยเกี่ยวกับการนำชุดไปใช้เว้นแต่ว่าเรารู้ว่าการดำเนินการประเภทใดที่เราต้องการจะทำ


16
หากคำตอบของฉันคือภรรยาฉันจะตอบได้เพียงครั้งเดียว หรืออย่างน้อยฉันก็ต้องลบคำตอบก่อนหน้านี้ก่อนที่ฉันจะเขียนคำตอบต่อไป
Andrej Bauer

5
@ Max: ทฤษฎีบทแรกของแบบนี้ได้รับจาก Kreisel, Lacombe และ Shoenfield (เงยหน้าขึ้นมองทฤษฎีบท KLS) Tsteitin ให้ทฤษฎีบทซึ่ง KLS เป็นเอกเทศและเป็นรูปแบบที่ชัดเจนว่า "แผนที่ที่คำนวณได้ทั้งหมดนั้นสามารถคำนวณได้อย่างต่อเนื่อง"
Andrej Bauer

6
ฉันต้องเขียนตำราเรียน - (Google google google) โอเคดีคุณมีสิทธิ์ ไปเลย!
Jeffε

10
@Tsuyoshi: คำถามใช้วลีที่กำหนดขึ้นว่า "จำนวนจริง" โดยไม่มีการรับรอง โครงสร้างของจำนวนจริงเป็นมาตรฐาน คุณมีอิสระในการพิจารณาโครงสร้างอื่น ๆ แต่คุณไม่สามารถตีความคำศัพท์มาตรฐานได้อย่างผิด ๆ
Andrej Bauer

21
เทคนิคการพูดคุณถูกต้องคำว่า "ของจริง" ไม่ได้ใช้ แต่คุณเข้าใจผิดเกี่ยวกับคำจำกัดความของจำนวนจริง หรือฉันจะใช้วิธีนี้: มันเป็นคณิตศาสตร์ที่ไม่ดีที่จะคิดว่า reals เป็นเซตเฉพาะที่มาก่อนเท่านั้นตามด้วยโครงสร้างบางอย่าง เช่นเดียวกับที่เรากำหนดกลุ่ม, แหวน, ปริภูมิโทโพโลยีและอื่น ๆ ในแง่ของโครงสร้างดังนั้นเราควรกำหนดวัตถุพิเศษในแง่ของคุณสมบัติสากลของพวกเขา (จำนวนธรรมชาติคือการเริ่มต้นเริ่มต้นจำนวนเต็มวงแหวนเริ่มต้น rationals สนามเริ่มต้น reals ..... )
Andrej Bauer

10

ฉันมักจะคิดว่านี่ไม่สามารถตัดสินใจได้:

ให้เป็นจำนวนอตรรกยะที่คำนวณได้ พิจารณา TM Mคุณสามารถสร้างฟังก์ชั่นที่ทำงานบนและคำนวณแบบขนานที่มีความแม่นยำในการเจริญเติบโต หากหยุดทำงานมันจะหยุดการคำนวณมิฉะนั้นจะหยุดต่อM M ϵ x M xxMMϵxMx

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


ฉันไม่เข้าใจคำตอบของคุณคุณช่วยอธิบายเพิ่มเติมได้ไหม? ฉันไม่เข้าใจว่าคุณเกี่ยวข้องกับปัญหาการหยุดพักได้อย่างไรและที่สำคัญฉันคิดว่าไม่มีเหตุผลใดที่จะต้องหยุดยั้ง (แม้ว่าจะเป็นจำนวนเต็ม) xMx
dbarbosa

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

2
อันที่จริงคำตอบของฉันหมายถึงการรับรองที่โพสต์ในคำถามไม่ว่าจะเป็นในทางปฏิบัติหรือไม่ @dbarbosa - ฉันจะอธิบาย: ให้ TMติดตามการก่อสร้างในคำตอบ จากนั้นให้สันนิษฐานว่าคุณสามารถตัดสินใจได้ว่าเครื่องเอาท์พุทที่แสดงถึงเหตุผลหรือไม่ หากเป็นเหตุผลก็หมายความว่าในบางจุดหยุดและเราหยุดคำนวณจำนวน ในทางตรงกันข้ามถ้ามันไม่มีเหตุผลแล้วไม่หยุด ดังนั้นเราจึงรู้ว่าหยุดการทำงานหรือไม่เพื่อแก้ปัญหาการหยุดชะงักซึ่งเป็นที่ทราบกันดีว่าไม่แน่นอน เอ็มเอ็มเอ็มMMMM
Shaull

10

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

ฟังก์ชันที่คำนวณได้นั้นต่อเนื่อง IsRational และ IsInteger ไม่ต่อเนื่องดังนั้นจึงไม่สามารถคำนวณได้

IsInteger เป็นแบบกึ่งคำนวณได้: มีโพรซีเดอร์ที่ในที่สุดจะส่งออก "เท็จ" หากอินพุตไม่ใช่จำนวนเต็ม แต่จะรันตลอดไปหากอินพุตเป็นจำนวนเต็ม ขั้นตอนนี้จะดูที่การประมาณแต่ละครั้งและตรวจสอบว่ามีจำนวนเต็มภายในข้อผิดพลาดที่ถูกผูกไว้ ฟังก์ชั่นนี้ต่อเนื่องเมื่อเราใช้โทโพโลยีSierpińskiบน {true, false} (ie {false} เป็นชุดเปิด แต่ {true} ไม่ได้)


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

1
"computable => ต่อเนื่อง" ดูเหมือนจะเป็นทฤษฎีบทพื้นบ้าน - ฉันไม่สามารถหาการอ้างอิงดั้งเดิมได้ ทฤษฎีการคำนวณเกี่ยวกับวัตถุที่ไม่มีที่สิ้นสุดและการเชื่อมต่อกับทอพอโลยีอธิบายได้ค่อนข้างดี (IMO) ในสไลด์ของหลักสูตรเหล่านี้โดย Brattka ( math.uni.wroc.pl/~pkowa/slides/brattka.pdf ) ข้อเสนอที่ 2 ในสไลด์ระบุว่าฟังก์ชันที่คำนวณได้ทั้งหมดในลำดับของธรรมชาตินั้นต่อเนื่อง รวมกับทฤษฎีบท 12 หนึ่งได้รับผลสำหรับฟังก์ชั่นประเภทอื่น ๆ
สูงสุด

6

มันไม่สามารถตัดสินใจได้ว่าตัวเลขที่คำนวณได้นั้นเท่ากับศูนย์หรือไม่

(ดังนั้น oracle การประมาณด้วยเหตุผลของคุณจะส่งกลับ 0 สำหรับทุก ๆ tried ที่คุณได้ลองบางทีคุณอาจไม่ได้ให้มันเล็กไปพอ))

ดังนั้นจึงไม่สามารถตัดสินใจได้ว่าจำนวนที่คำนวณได้ระหว่าง-½ถึง + ½เป็นจำนวนเต็มหรือไม่


2

ฟังก์ชั่นที่คำนวณได้นั้นแข็งแกร่งกว่าฟังก์ชั่นที่ต่อเนื่องนั่นคือฟังก์ชั่นที่คำนวณใด ๆ จะต้องต่อเนื่องในทอพอโลยีข้อมูล

คุณต้องการดูว่าฟังก์ชันกำหนดโดยF:R{Yes,No}

F(r)={YESrQNOo.w.

คำนวณได้

สมมติว่าคล้ายกับสิ่งที่คุณเขียนตัวเลขจริงจะได้รับจากสีดำกล่องและจำนวนจริงกล่องดำสามารถนำมาใช้เพื่อให้ได้จำนวนเหตุผลของรูปแบบดังกล่าวว่าสำหรับการใด ๆ จำนวนธรรมชาติnrk2nr[k2n,k+12n]n

จากนั้นฟังก์ชั่นของคุณจะไม่ต่อเนื่องและดังนั้นจึงไม่สามารถคำนวณได้

นี่คือข้อโต้แย้งที่ขัดแย้งและตรงไปตรงมามากกว่านี้: ให้เป็นเครื่องจักร สมมติว่าจำนวนเป็น0สมมติว่าสำหรับผลตอบแทนกล่องดำn}] ถ้าไม่หยุดเราก็ทำเสร็จแล้ว ถ้ามันหยุดให้จำนวนมากที่สุดที่ได้ขอประมาณสำหรับที่จะเป็นเมตรจากนั้นข้อมูลที่เห็นมาถึงจุดนี้สอดคล้องกับจำนวนจริงที่เป็นจำนวนจริงใด ๆ ในช่วงเช่นมีข้อมูลไม่เพียงพอที่จะแก้ปัญหาได้อย่างถูกต้อง ถ้าตอบว่าM0n[12n,12n]MMmMMMNOYESM[-1[12m,12m]MMNOดังนั้นคำตอบนั้นไม่ถูกต้อง ถ้ามันตอบเราสามารถพิจารณาใช้กับจำนวนอตรรกยะในช่วงและจะตอบไม่ถูกต้องเพราะจะ รับข้อมูลเดียวกันทั้งหมดจากกล่องดำ ดังนั้นไม่สามารถแก้ปัญหาได้อย่างถูกต้องYESMMYESM[12m,12m]MYESM

หลักฐานที่แสดงว่าฟังก์ชั่นการคำนวณใด ๆ จำเป็นต้องมีความต่อเนื่องคล้ายกัน

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