คำถามติดแท็ก implementation

คำถามเกี่ยวกับการใช้อัลกอริทึม

9
อัลกอริทึมที่มีประสิทธิภาพซับซ้อนเกินไปที่จะใช้
อัลกอริทึมของยูทิลิตี้ที่ถูกต้องตามกฎหมายมีอะไรบ้างที่ซับซ้อนเกินกว่าจะนำไปใช้ได้จริง? ให้ฉันชัดเจน: ฉันไม่ได้มองหาอัลกอริทึมเช่นอัลกอริทึมการคูณเมทริกซ์ที่เหมาะสมที่สุดในปัจจุบัน (Coppersmith-Winograd) ซึ่งมีเหตุผลที่จะดำเนินการ แต่มีค่าคงที่ที่ทำให้มันไร้ประโยชน์ในทางปฏิบัติ ฉันกำลังมองหาอัลกอริทึมที่อาจมีคุณค่าในทางปฏิบัติ แต่ก็ยากที่จะเขียนโค้ดที่พวกเขาไม่เคยใช้งานมาใช้เฉพาะในการตั้งค่าที่ประดิษฐ์มาก ๆ หรือนำไปใช้เฉพาะกับแอปพลิเคชันวัตถุประสงค์พิเศษ การต้อนรับยังเป็นอัลกอริธึมที่ไม่สามารถนำไปใช้งานได้ซึ่งมี asymptotics ที่ดี แต่มีแนวโน้มว่าจะมีประสิทธิภาพที่แท้จริงต่ำ

4
ปัจจุบันมีงานวิจัยเกี่ยวกับการนำไปใช้งานของ Randomness Extractors หรือไม่?
มีการวิจัยเกี่ยวกับการนำการสร้างแบบแผนของตัวแยกแบบสุ่มหรือไม่? ดูเหมือนว่าตัวแยกข้อมูลจะใช้ประโยชน์จาก Big-Oh โดยทิ้งความเป็นไปได้สำหรับค่าคงที่ขนาดใหญ่ที่ซ่อนอยู่ บริบทบางอย่าง: ฉันสนใจที่จะใช้ตัวแยกแบบสุ่มเป็นแหล่งที่มาของตัวเลขสุ่ม (พิสูจน์ได้หรือไม่) สำหรับใช้ในแบบจำลอง Monte Carlo เรา (กลุ่ม ETHZ Computational Physics) มีแหล่งเอนโทรปีสูงแบบเอนเอียงจากเครื่องกำเนิดตัวเลขสุ่มควอนตัมที่เราต้องการดึงแบบสุ่ม นักเรียนคนก่อนหน้าพยายามที่จะใช้การก่อสร้าง Trevisanและวิ่งเข้าไปในปัญหาความซับซ้อนเป็นพิเศษ นอกเหนือจากนักเรียนคนนั้นฉันยังไม่พบการอ้างอิงใด ๆ กับคนที่พยายามใช้เครื่องมือแยกข้อมูล หมายเหตุ: ฉันเป็นนักศึกษาระดับปริญญาตรี CS ที่ยังใหม่ต่อพื้นที่ของทฤษฎี CS และ Randomness Extractors

1
ห้องสมุดที่ดีสำหรับการทดสอบว่ามีผู้เยาว์อยู่ในกราฟหรือไม่?
ฉันต้องการทราบว่ามีไลบรารีกราฟฟรีสำหรับการทดสอบว่ามีกลุ่มผู้เยาว์เฉพาะหรือไม่ในกราฟที่กำหนดหรือไม่

5
หนังสือที่ดีที่สุดเกี่ยวกับวิธีการใช้งาน Simplex?
ฉันสนใจที่จะใช้งาน SM สำหรับงาน LP แต่ฉันเคยได้ยินเกี่ยวกับข้อผิดพลาดที่เป็นไปได้: หนังสือของ Cormen บอกว่าเป็นไปได้ที่จะมีข้อมูลป้อนเข้า ฉันเคยได้ยินด้วยว่าการใช้งานแบบไร้เดียงสาสามารถวนซ้ำสำหรับข้อมูลบางประเภท มีหนังสือ / กระดาษ / แหล่งซึ่งอธิบายความแตกต่างของการนำ SM มาใช้ในทางปฏิบัติหรือไม่? ขอบคุณล่วงหน้า.

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

1
การดำเนินงานของ Wilf-Zeilberger และวิธีการที่เกี่ยวข้อง
หนังสือA = Bโดย Petkovsek, Wilf และ Zeilberger อธิบายถึงอัลกอริทึมในการคำนวณผลรวมของทวินามที่แตกต่างกัน AFAIK อัลกอริธึมเหล่านี้ยังคงได้รับการปรับปรุงโดยผู้แต่งหลายคน คุณรู้หรือไม่ว่าเราสามารถค้นหาการใช้งานที่ทันสมัยที่สุดของอัลกอริทึมเหล่านี้ได้อย่างไร และคุณจะรู้ว่ามีอยู่ในการใช้งานซอฟต์แวร์เสรีบางอย่างเช่นSage ?

2
ผลิตภัณฑ์เมทริกบูลีนที่กระจัดกระจายอย่างรวดเร็วพร้อมการประมวลผลล่วงหน้าที่เป็นไปได้
อะไรคืออัลกอริทึมที่มีประสิทธิภาพมากที่สุดสำหรับการคูณเมทริกซ์บูลีนที่กระจัดกระจายมากสองตัว (เช่น N = 200 และมีองค์ประกอบที่ไม่ใช่ศูนย์ 100-200) ที่จริงแล้วฉันมีข้อได้เปรียบที่เมื่อฉันคูณ A ด้วย B, B ของถูกกำหนดไว้ล่วงหน้าและฉันสามารถทำการประมวลผลที่ซับซ้อนโดยพลการบนพวกเขา ฉันก็รู้ว่าผลลัพธ์ของผลิตภัณฑ์นั้นกระจัดกระจายเหมือนเมทริกซ์ดั้งเดิมเสมอ อัลกอริทึม "ค่อนข้างไร้เดียงสา" (สแกน A เป็นแถวสำหรับแต่ละ 1 บิตของ A-row หรือผลลัพธ์ที่มีแถว B ตรงกัน) จะมีประสิทธิภาพมากและต้องใช้คำสั่ง CPU เพียงสองสามพันคำสั่งในการคำนวณผลิตภัณฑ์เดียว ดังนั้นมันจะไม่ง่ายเกินกว่าและเป็นเพียงปัจจัยที่คงที่เท่านั้น (เพราะมีหลายร้อยบิตในผลลัพธ์) แต่ฉันไม่สูญเสียความหวังและขอความช่วยเหลือจากชุมชน :)

1
การใช้งานพาร์ทิชันทรี?
เคยมีการนำต้นไม้พาร์ติชันมาใช้หรือไม่? ที่นี่ฉันกำลังพูดถึงต้นไม้พาร์ติชันจากเรขาคณิตการคำนวณ รุ่นที่เหมาะสมที่สุด (ใกล้ -) ซึ่งเป็นรุ่น Matousek และรุ่นอื่น ๆ และ Timothy Chan ล่าสุด: https://cs.uwaterloo.ca/~tmchan/optpt_2_10.pdf มันฟังดูบ้าสำหรับฉันที่สิ่งเหล่านี้ไม่เคยถูกนำมาใช้ แต่ googling กลับไม่มีการใช้งานที่ใครก็ตามที่เคยรายงาน

3
การใช้ตัวเลขเซอร์เรียลสำหรับเกม
มีการก่อสร้างที่ดีมากโดยคอนเวย์ของตัวเลขเซอร์เรียล พวกเขาคือ "ตัวเลข" ที่มีทั้งจำนวนจริงและเลขลำดับสั่งทั้งหมดและมีคุณสมบัติทั้งหมดของเขตข้อมูล (ยกเว้นพวกเขาไม่ได้ฟอร์มชุด แต่ชั้นเรียน) ดูตัวอย่างPDFหรือWikipediaสำหรับการแนะนำ พวกเขาสามารถวางนัยทั่วไปมากขึ้นเพื่อที่เรียกว่า "เกม" ซึ่งได้รับการแนะนำให้รู้จักกับการศึกษาเกม combinatorial แรงบันดาลใจดั้งเดิมของ Conway คือการวิเคราะห์เกม Goโดยเฉพาะเกม endgame นั้นเหมาะอย่างยิ่งที่จะสร้างแบบจำลองด้วย "เกมเซอร์เรียล" คำถามของฉันคือคุณรู้หรือไม่ว่ามีใครใช้วิธีนี้ใน AI (เช่นผู้เล่นคอมพิวเตอร์) เพื่อปรับปรุงระดับของเกม ฉันสนใจเป็นพิเศษในกรณีของ Go แต่คนอื่น ๆ ด้วย ถ้าไม่มีมีอุปสรรคหรือเหตุผลว่าทำไมมันจึงไม่ใช่ความคิดที่ดี?

1
อัลกอริทึมที่ทรงพลังที่ยากเกินกว่าจะนำไปใช้ได้จริงจะแน่ใจได้อย่างไรว่าถูกต้อง?
ผมหมายถึงคำถามที่นี่: ขั้นตอนวิธีการที่มีประสิทธิภาพที่ซับซ้อนเกินไปที่จะใช้ หากอัลกอริทึมมีประสิทธิภาพ แต่ซับซ้อนเกินกว่าจะนำไปใช้ได้คุณจะมั่นใจได้อย่างไรว่าอัลกอริทึมนั้นถูกต้อง? หากไม่มีการใช้งานคุณจะไม่สามารถทดสอบอัลกอริทึมในสถานการณ์จริงและอัลกอริธึมที่ซับซ้อนเช่นนั้นอาจมีข้อบกพร่องซึ่งอาจทำให้ขั้นตอนวิธีนั้นไม่ถูกต้อง นี่คือสิ่งที่ฉันไม่เข้าใจ หากคุณมีเทคนิคในการพิสูจน์ความถูกต้องของอัลกอริทึมแล้วคุณจะมีอัลกอริทึมที่จะใช้มันแล้วใช่ไหม? หรืออย่างอื่นเราจะแน่ใจได้อย่างไรว่าเทคนิคการพิสูจน์นั้นถูกต้อง? ฉันขอโทษถ้าฉันฟังประถม! อัปเดตจาก Kaveh (ทำซ้ำที่นี่เพราะอาร์กิวเมนต์ดีกว่า!): หากคุณสามารถพิสูจน์ความถูกต้องของอัลกอริทึมอย่างเป็นทางการในระบบที่เป็นทางการเช่น Coq คุณสามารถแยกอัลกอริทึม (เพราะคุณได้ใช้อัลกอริทึมเป็นหลัก) แต่ความจริงสำคัญคืออัลกอริธึมส่วนใหญ่นั้น ความถูกต้องสำหรับอัลกอริทึมเราใช้การพิสูจน์อย่างไม่เป็นทางการของความถูกต้อง หลักฐานอาจเป็นเท็จซึ่งเกิดขึ้นเป็นครั้งคราวและแม้แต่การพิสูจน์ความถูกต้องอย่างเป็นทางการจะไม่ทำให้เรามั่นใจอย่างแน่นอนว่าอัลกอริทึมนั้นถูกต้อง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.