ตัวเลขจริงระบุไว้ในการคำนวณอย่างไร


27

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


1
คุณอาจพบการสนทนาที่นี่ที่น่าสนใจ: en.wikipedia.org/wiki/Computable_number
Joseph Malkevitch

บางคนควรรวบรวมเอกสารเหล่านี้ไว้ใน e-book ที่โหลดได้ฟรี
Dilawar

คำตอบ:


34

ฉันไม่เห็นด้วยกับคำตอบที่คุณยอมรับโดย Kaveh สำหรับการเขียนโปรแกรมเชิงเส้นและสมดุลของแนชจุดลอยตัวอาจยอมรับได้ แต่ตัวเลขจุดลอยตัวและการคำนวณทางเรขาคณิตผสมผสานกันไม่ดีมาก: ข้อผิดพลาดในการปัดเศษทำให้การสันนิษฐานของ combinatorial ของอัลกอริทึมเป็นโมฆะ โดยเฉพาะอย่างยิ่งอัลกอริทึมการคำนวณเชิงเรขาคณิตจำนวนมากขึ้นอยู่กับการทดสอบแบบดั้งเดิมที่ตรวจสอบว่าค่าที่กำหนดเป็นบวกลบหรือศูนย์ หากค่านั้นใกล้เคียงกับศูนย์มากและจุดลอยตัวที่ทำให้เกิดจุดผิดปกติก็อาจเกิดสิ่งเลวร้ายได้

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

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


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

ผมยังไม่ได้บอกว่ามันเป็นรูปแบบที่ดีสำหรับ CG, จุดของฉันก็คือว่าแม้ในขณะที่ผู้เขียนกล่าวว่าปัจจัยการผลิตเป็นจำนวนจริงที่พวกเขาไม่ได้จริงๆตัวเลขจริง ฉันเห็นด้วยกับคุณว่าฉันไม่ควรรวม CG ไว้ในที่อื่น ฉันอ่านเอกสาร CG จำนวนน้อยมากแล้วแบบจำลอง BSS ที่ได้รับการยอมรับอย่างดีในเอกสาร CG เชิงทฤษฎีหรือไม่
Kaveh

1
ให้อภัยความไม่รู้ของฉัน แต่ BSS ยืนหยัดเพื่ออะไร
Philip White

1
แบบจำลอง BSS เป็นแบบจำลองเชิงทฤษฎีที่สมมติว่ามีจำนวนจริงโดยพลการ สิ่งที่ทำใน CG เกี่ยวข้องกับการใช้งานจริงของโมเดลซึ่งโดยทั่วไปจะ จำกัด เฉพาะตัวเลขทางพีชคณิต การใช้งาน CG ยังห่างไกลจากต้นทุนต่อการดำเนินงาน ดังนั้นพวกเขาจึงไม่เหมือนกัน ดูเช่นรุ่นจำนวนจริงของ LEDA, citeseerx.ist.psu.edu/viewdoc/…
David Eppstein

10
@Kaveh: ไม่ได้มีการออกแบบอัลกอริธึมเรขาคณิตให้ถูกต้องในรูปแบบ RAM จริงสำหรับอินพุตจริงโดยพลการไม่เพียง แต่สำหรับอินพุตที่มีเหตุผล โดยเฉพาะอย่างยิ่งมีอัลกอริทึมทางเรขาคณิตที่ไม่สามารถนำมาใช้ได้อย่างแน่นอนเพราะพวกเขาใช้พื้นฐานที่เล็กน้อยบน RAM จริง แต่ไม่มีอัลกอริทึมที่มีประสิทธิภาพเป็นที่รู้จักสำหรับแรมจำนวนเต็ม (เหมือนจริง) ตัวอย่างที่ดีที่สุดคือผลรวมของปัญหารากที่สอง: กำหนดสองชุดและของจำนวนเต็มบวกคือ ? T s S STsSs>tTt
Jeffε


8

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

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


1
ความคิดที่ดี แต่เนื่องจากคุณสามารถมีคำจำกัดความ coinductive หลายวท์วิธีนี้ไม่สามารถครอบคลุมทั้ง{R} ฉันจะมองข้ามบางสิ่ง หรือฉันเข้าใจผิดและจุดมุ่งหมายคือการแสดงตัวเลขอย่างน้อยบางส่วนเพิ่มเติมหรือไม่ R
Raphael

จุดดี. ฉันไม่แน่ใจว่าข้อ จำกัด ของวิธีการแบบเหรียญคืออะไร วิธีการอยู่ในวัยเด็ก
Dave Clarke

7

ความซับซ้อนในการคำนวณของการคำนวณมากกว่าตัวเลขที่แท้จริงคือการพิจารณาโดยบลัม, Cucker, Shub และเมล นี่คือคำอธิบายบางส่วนของหนังสือ:

ทฤษฎีการคำนวณแบบดั้งเดิมมีต้นกำเนิดในงานของ Goedel, Turing, Church, และ Kleene และเป็นกรอบที่ประสบความสำเร็จเป็นพิเศษสำหรับวิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎี อย่างไรก็ตามวิทยานิพนธ์ของหนังสือเล่มนี้ก็คือมันให้รากฐานที่ไม่เพียงพอสำหรับการคำนวณทางวิทยาศาสตร์ที่ทันสมัยซึ่งอัลกอริทึมส่วนใหญ่เป็นอัลกอริทึมจำนวนจริง เป้าหมายของหนังสือเล่มนี้คือการพัฒนาทฤษฎีการคำนวณอย่างเป็นทางการซึ่งรวมประเด็นสำคัญของทฤษฎีคลาสสิกและสามารถนำไปใช้โดยตรงกับปัญหาในคณิตศาสตร์การวิเคราะห์เชิงตัวเลขและการคำนวณทางวิทยาศาสตร์ ระหว่างทางผู้เขียนพิจารณาถึงปัญหาพื้นฐานเช่น: Mandelbrot ตั้งค่าได้หรือไม่? สำหรับแผนที่กำลังสองอย่างจูเลียตั้งเซตหยุดพักหรือไม่? ความซับซ้อนที่แท้จริงของนิวตันคืออะไร วิธีการ มีอัลกอริทึมสำหรับการตัดสินใจปัญหาเครื่องหลังในจำนวนขั้นตอน ploynomial หรือไม่? Hilbert Nullstellensatz ว่ายากหรือไม่ ปัญหาของการหาตำแหน่งศูนย์จริงของดีกรีพหุนามแบบสี่นั้นยากหรือไม่? การเขียนโปรแกรมเชิงเส้นสามารถจัดการได้ง่ายกว่า reals

คุณอาจพบรีวิวของหนังสือเล่มนี้บนACM SIGACT ข่าว


หนังสือเล่มนี้ดูน่าสนใจมากขอบคุณ
ฟิลิปไวท์

คุณยินดีมากที่สุด.
MS Dousti

5
เป็นที่น่าสังเกตว่ารูปแบบการคำนวณของ BSS เหนือ reals นั้นเป็นที่ถกเถียงกันเช่นเดียวกับที่ David Eppstein อ้างถึงในความคิดเห็นด้านบน ตัวอย่างเช่น: สัจพจน์ BSS ที่คำนวณว่า x <y ใช้ขั้นตอนเดียวในครั้งเดียวหรือไม่สำหรับreals x และ y โดยพลการ ในทางตรงกันข้ามแนวทางเช่น Type Two Effectivity (TTE) จะกำหนดเครื่องที่ใช้เป็นค่าประมาณในการป้อนข้อมูลเข้าสู่ reals และการประมาณค่าที่คำนวณได้จากการคำนวณไปยังฟังก์ชันเหนือ reals ยิ่งเวลาผ่านไปมากเท่าไรการประมาณอินพุตและเอาต์พุตก็จะยิ่งดีขึ้นเท่านั้น วิธีการนั้นให้ความรู้สึกเหมือนจริงกับฉันมากขึ้น
Aaron Sterling

@Aaron Sterling: คุณรู้จักการอ้างอิงที่ดีสำหรับ Type Two Effectivity หรือไม่
Joshua Grochow

3
@Joshua Grochow: ขออภัยฉันไม่ได้มาเร็วกว่านี้ หนังสือ Kaveh ที่เชื่อมโยงกับคือ "Nielsen and Chuang" ของ TTE อย่างไรก็ตามมันเป็นสัญกรณ์ภาระที่ว่ามันจะดูเหมือนเป็นความลับให้กับผู้อ่านสบาย ๆ ฉันขอแนะนำให้ใช้สไลด์การสอนต่อไปนี้ของ Vasco Brattka: cca-net.de/vasco/cca/tutorial.pdf
Aaron Sterling

7

แก้ไข / แก้ไขตามความคิดเห็น

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

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

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

เรขาคณิตการคำนวณนั้นแตกต่างกัน ในเอกสารส่วนใหญ่ใน CG หากผู้เขียนไม่ได้ระบุรูปแบบที่เกี่ยวข้องกับความถูกต้องและความซับซ้อนของอัลกอริทึมจะถูกกล่าวถึงก็สามารถสันนิษฐานว่าเป็นรูปแบบ BSS (aka เรียลแรม)

รูปแบบไม่เหมือนจริงดังนั้นการใช้งานจึงไม่ตรงไปตรงมา (นี่คือหนึ่งในเหตุผลที่บางคนใน CCA ชอบแบบจำลองทางทฤษฎี Ko-Friedman / TTE / Domainแต่ปัญหาของแบบจำลองเหล่านี้คือพวกเขาไม่ได้เร็วเท่ากับการคำนวณจุดลอยตัวในทางปฏิบัติ) ความถูกต้องและความซับซ้อนของ อัลกอริทึมในแบบจำลอง BSS ไม่จำเป็นต้องถ่ายโอนไปยังความถูกต้องของอัลกอริทึมที่นำมาใช้

หนังสือของ Weihrauch มีการเปรียบเทียบระหว่างรุ่นต่างๆ (มาตรา 9.8) มันเป็นเพียงสามหน้าและคุ้มค่าการอ่าน

(นอกจากนี้ยังมีวิธีที่สามซึ่งอาจเหมาะกว่าสำหรับ CG คุณอาจต้องการดูบทความนี้:

Chee Yap " ทฤษฎีการคำนวณที่แท้จริงตาม EGC "

ที่ EGC เป็นการคำนวณทางเรขาคณิตที่แน่นอน )


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

2
ฉันไม่เห็นด้วย. นี่เป็นแบบจำลองที่ไม่ถูกต้องสำหรับเรขาคณิตเชิงคำนวณ ดูคำตอบโดยละเอียดเพิ่มเติมของฉันด้านล่าง
David Eppstein

1
@Kaveh: ฉันคิดว่าคุณควรจะพูดว่าพวกเขาเป็นจำนวนตรรกยะไม่ใช่ตัวเลขจุดลอยตัว จำนวนตรรกยะที่แน่นอนนั้นง่ายต่อการแทนด้วยสตริง จำกัด และในหลาย ๆ แอปพลิเคชัน (เช่นที่เกี่ยวข้องกับการโปรแกรมเชิงเส้น) ผลลัพธ์ระดับกลางจะเป็นตัวเลขที่มีเหตุผลถ้าอินพุตของคุณเป็นจำนวนตรรกยะ (แน่นอนว่า David Eppstein ชี้ให้เห็นว่าคอมพ์ geom. เป็นข้อยกเว้นที่น่าทึ่งในแง่ที่ว่าผลลัพธ์ระดับกลางมักจะไม่สมเหตุสมผล)
Jukka Suomela

@ Jukka: ถูกต้องฉันจะแทนที่ทศนิยมด้วยเหตุผล
Kaveh

5
Nope เมื่อผมเขียน "จำนวนจริง" ผมหมายถึง "จำนวนจริง" และโดยที่ผมหมายถึงจริงๆจำนวนจริงจริงๆจากจำนวนจริง จริงๆ. โดยเฉพาะอย่างยิ่งในกระดาษ @Phip พูดถึงฉันต้องสมมติว่าอัลกอริทึมทำงานสำหรับการป้อนข้อมูลจริงโดยพลการเพื่อให้ฉันสามารถใช้ผลจากการวิเคราะห์ที่ไม่ได้มาตรฐาน
Jeff

3

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

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


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

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