วิทยาศาสตร์คอมพิวเตอร์

ถาม - ตอบสำหรับนักเรียนนักวิจัยและผู้ปฏิบัติงานด้านวิทยาการคอมพิวเตอร์

2
การออกแบบการคัดเกรดแบบ Peer - การเลือกกราฟเพื่อให้ได้อันดับ / การจัดอันดับที่แม่นยำ
พื้นหลัง. ฉันกำลังเขียนโค้ดบางส่วนสำหรับการให้คะแนนแบบกึ่งอัตโนมัติโดยใช้การให้คะแนนแบบเพียร์เป็นส่วนหนึ่งของกระบวนการให้คะแนน นักเรียนจะได้รับเรียงความคู่หนึ่งครั้งและนักเรียนมีแถบเลื่อนเพื่อเลือกว่าจะดีกว่าและดีกว่ามากแค่ไหน เช่นแถบเลื่อนอาจมีลักษณะดังนี้: A---X-B ขึ้นอยู่กับผลลัพธ์ของการให้คะแนนเพื่อนเรียงความจะถูกจัดอันดับและครูจะจัดเกรด X% และ X ล่างสุดและคะแนนสำหรับเรียงความทั้งหมดจะถูกคำนวณโดยอัตโนมัติตามสิ่งนี้ ฉันคิดวิธีการจัดอันดับ / การให้คะแนนนี้แล้ว ส่วนนั้นทำงานได้ดี คำถามของฉัน. ฉันจะเลือกเรียงความที่จะให้กับนักเรียนได้อย่างไร การจำลองแนะนำว่าเราต้องมีการเขียนเรียงความอย่างน้อย 3 ครั้งเพื่อให้ได้อันดับที่ถูกต้อง ดังนั้นการเขียนเรียงความแต่ละครั้งควรปรากฏในคู่อย่างน้อย 3 คู่ที่มีการจัดลำดับเพียร์ เราคิดว่านี่เป็นปัญหากราฟ คิดว่าบทความเป็นโหนด แต่ละขอบแสดงถึงคู่ของบทความที่นำเสนอในระหว่างกระบวนการคัดเกรดเพื่อน ผลลัพธ์ความแม่นยำข้างต้นชี้ให้เห็นว่าระดับของแต่ละโหนด (หรือของโหนดส่วนใหญ่) ควรมีอย่างน้อย 3 กราฟที่ฉันควรใช้ ฉันจะสร้างกราฟที่จะใช้ในระหว่างการให้คะแนนเพื่อนได้อย่างไร สิ่งหนึ่งที่ท้าทายคือถ้าคุณมีกลุ่มในกราฟสิ่งนี้จะเอียงการไล่ระดับสีแบบเพียร์ ตัวอย่างเช่นเราไม่ต้องการให้เรียงความที่มีคุณภาพสูงเป็นแบบคัดเกรดกับส่วนใหญ่เป็นเรียงความที่มีคุณภาพสูงเพราะนั่นจะบิดเบือนผลลัพธ์ของการคัดเกรดเพื่อน คุณจะแนะนำอะไร ฉันคิดว่าปัญหานี้สามารถสร้างแบบจำลองด้วยกราฟที่ไม่ได้บอกทิศทางโดยใช้สิ่งต่อไปนี้: เริ่มต้นด้วยการใช้โหนดที่มีระดับน้อยที่สุดและเชื่อมโยงกับโหนดถัดไป ดำเนินการต่อไปจนกระทั่งระดับเฉลี่ยของคุณอย่างน้อย 3 เพิ่มการเชื่อมต่อโหนดให้สูงสุด ลดจำนวน cliques ให้น้อยที่สุด นี่เป็นวิธีที่ดีหรือไม่? ถ้าไม่ใช่คุณจะแนะนำอะไรแทน

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

1
ถ้าฉันต้องการเพียงหนึ่งองค์ประกอบของเมทริกซ์ผกผันมีอัลกอริทึมที่รวดเร็วหรือไม่?
ฉันใช้ Mathematica เพื่อแก้ปัญหา ฉันมีคำถามเกี่ยวกับเมทริกซ์ผกผัน ถ้าฉันต้องการเพียงหนึ่งองค์ประกอบของเมทริกซ์ผกผันมีอัลกอริทึมที่เร็วกว่าการใช้Inverseเพื่อคำนวณเมทริกซ์ผกผันทั้งหมดและแยกองค์ประกอบที่ฉันต้องการหรือไม่?

3
เคล็ดลับเคอร์เนลสำหรับเครือข่ายประสาท
ฉันได้เรียนรู้เกี่ยวกับโครงข่ายประสาทและ SVM แล้ว บทเรียนที่ฉันอ่านได้เน้นว่าการสร้างเคอร์เนลมีความสำคัญเพียงใดสำหรับ SVM หากไม่มีฟังก์ชั่นเคอร์เนล SVMs เป็นเพียงลักษณนามเชิงเส้น ด้วยการสร้างเคอร์เนล SVM สามารถรวมคุณสมบัติที่ไม่ใช่เชิงเส้นซึ่งทำให้ตัวแยกประเภทมีประสิทธิภาพมากขึ้น ดูเหมือนว่าฉันจะใช้เคอร์เนลกับเครือข่ายประสาทได้ แต่ไม่มีบทเรียนเกี่ยวกับโครงข่ายประสาทเทียมที่ฉันเคยเห็นมาแล้ว คนทั่วไปมักจะใช้เคล็ดลับเคอร์เนลกับเครือข่ายประสาทเทียมหรือไม่? ฉันคิดว่าบางคนต้องทดลองกับมันเพื่อดูว่ามันสร้างความแตกต่างใหญ่หรือไม่ การแบ่งเคอร์เนลช่วยเครือข่ายประสาทเทียมได้มากเท่ากับ SVM หรือไม่? ทำไมหรือทำไมไม่? (ฉันสามารถจินตนาการได้หลายวิธีในการรวมเคล็ดลับเคอร์เนลลงในเครือข่ายประสาทเทียมวิธีหนึ่งคือการใช้ฟังก์ชันเคอร์เนลที่เหมาะสมเพื่อประมวลผลอินพุตล่วงหน้าซึ่งเป็นเวกเตอร์ใน RnRn\mathbb{R}^nลงในอินพุตที่มีมิติสูงกว่าเวกเตอร์ใน Rม.Rm\mathbb{R}^{m} สำหรับ ม≥ nm≥nm\ge n. สำหรับตาข่ายหลายชั้นเลเยอร์อีกทางเลือกหนึ่งคือการใช้ฟังก์ชันเคอร์เนลในแต่ละระดับของเครือข่ายประสาท)

1
ชุดย่อย NTIME (f) ของ DSPACE (f)
ดังที่คำถามระบุไว้เราจะพิสูจน์ได้อย่างไร NTIME (f( n ) ) ⊆ DSPACE ( f( n ) )NTIME(f(n))⊆DSPACE(f(n))\textbf{NTIME}(f(n)) \subseteq \textbf{DSPACE}(f(n))? ทุกคนสามารถชี้ให้ฉันเห็นหลักฐานหรือร่างที่นี่ได้หรือไม่ ขอบคุณ!

1
Splay tree ที่มีการหมุนเป็นจำนวนคี่
เมื่อแทรกรายการลงในแผนภูมิต้นไม้การหมุนจะดำเนินการเป็นคู่โดยยึดตามรูปแบบ zig-zag หรือ zig-zig เมื่อมีการหมุนเป็นจำนวนคี่หนึ่งสามารถทำการหมุนพิเศษเริ่มต้นที่ใบไม้หรือบันทึกการหมุนเพิ่มเติมและทำที่ราก มันสำคัญไหม ตัวอย่างเช่นในภาพที่แนบมาฉันใส่ 4 ลงใน BST และ "splay it" ลงในรูท ที่ด้านบนของรูปฉันแรกหาคู่ซิกแซกที่โหนดใบและดำเนินการสเปรย์ซิกแซกจากด้านล่างออกจากการหมุนขวาสุดท้ายที่ราก ที่ด้านล่างของรูปฉันจะหมุนแปลก ๆ เริ่มจากใบไม้จากนั้นก็ทำรูปซิกซิกซิกไปยังราก อันไหนถูกต้อง? หรือทั้งสองอย่างจะนำไปสู่การแสดงต้นไม้แบบปกติ

1
ทำไมน้ำหนักของ Neural Networks เริ่มต้นด้วยตัวเลขสุ่ม?
ทำไมน้ำหนักเริ่มต้นของโครงข่ายประสาทเทียมเริ่มต้นเป็นตัวเลขแบบสุ่ม? ฉันได้อ่านที่ไหนสักแห่งว่าสิ่งนี้ทำเพื่อ "ทำลายความสมมาตร" และทำให้เครือข่ายประสาทเทียมเรียนรู้เร็วขึ้น การทำลายความสมมาตรทำให้การเรียนรู้เร็วขึ้นอย่างไร จะไม่เริ่มต้นน้ำหนักเป็น 0 เป็นความคิดที่ดีกว่าไหม ด้วยวิธีนี้น้ำหนักจะสามารถค้นหาค่าของพวกเขา (ไม่ว่าจะเป็นบวกหรือลบ) ได้เร็วขึ้น? มีปรัชญาพื้นฐานอื่น ๆ ที่อยู่เบื้องหลังการสุ่มน้ำหนักนอกเหนือจากการหวังว่าพวกเขาจะใกล้เคียงกับค่าสูงสุดของพวกเขาเมื่อเริ่มต้นหรือไม่

3
สุ่มตัวอย่างในรูปหลายเหลี่ยม
ฉันต้องการตัวอย่างจุดสุ่มอย่างสม่ำเสมอในรูปหลายเหลี่ยม ... หากสุ่มตัวอย่างเป็นจำนวนมากพวกเขามีแนวโน้มที่จะตกอยู่ในสองภูมิภาคเท่ากันหากพวกเขามีพื้นที่เดียวกัน นี่จะค่อนข้างง่ายถ้ามันเป็นรูปสี่เหลี่ยมจัตุรัสเนื่องจากฉันจะใช้สองตัวเลขสุ่มใน [0,1] เป็นพิกัดของฉัน รูปร่างที่ฉันมีเป็นรูปหลายเหลี่ยมปกติ แต่ฉันต้องการให้ใช้กับรูปหลายเหลี่ยมใด ๆ /programming/3058150/how-to-find-a-random-point-in-a-quadrangle

2
หลักฐานเชิงโต้ตอบสำหรับ coNP
ฉันกำลังพยายามทำความเข้าใจกับระบบพิสูจน์การโต้ตอบและลองใช้ปัญหาต่อไปนี้เป็นการออกกำลังกาย เรารู้ว่าและดังนั้นมาพร้อมกับระบบการพิสูจน์แบบโต้ตอบ (เข้าใจง่าย) สำหรับ ?PH⊆PSPACEPH⊆PSPACEPH \subseteq PSPACEIP=PSPACEIP=PSPACEIP=PSPACEPHPHPH ระบบหลักฐานโต้ตอบสำหรับเป็นเล็กน้อย แต่ฉันไม่ได้รับการพิสูจน์ระบบโต้ตอบแม้สำหรับcoNPคุณรู้ถึงระบบพิสูจน์แบบโต้ตอบที่ชัดเจน (โดยชัดแจ้งฉันหมายถึงโดยไม่ต้องผ่านเส้นทาง ) สำหรับ ?NPNPNPcoNPcoNPcoNPIP=PSPACEIP=PSPACEIP=PSPACEcoNPcoNPcoNP

2
คณิตศาสตร์ใดที่น่าสนใจสำหรับสาขา CS เหล่านี้
สำหรับปริญญา CS ของฉันฉันมีภูมิหลังทางคณิตศาสตร์ "มาตรฐาน" เป็นส่วนใหญ่: แคลคูลัส: อนุพันธ์, อินทิกรัล, จำนวนเชิงซ้อน พีชคณิต: แนวความคิดจนกระทั่งทุ่ง ทฤษฎีจำนวน: XGCD และสิ่งที่เกี่ยวข้องส่วนใหญ่สำหรับ crypto พีชคณิตเชิงเส้น: จนถึง eigenvector / eigenvalues สถิติ: ความน่าจะเป็นการทดสอบ ลอจิก: เชิงประพจน์ภาคคำกริยาลูกผสม ความสนใจหลักของฉันในพื้นที่ CS คือความปลอดภัยการเข้ารหัสและปัญญาประดิษฐ์ ฉันสงสัยว่ามีคำแนะนำใด ๆ สำหรับหัวข้อทางคณิตศาสตร์ที่น่าสนใจสำหรับสาขาเหล่านี้โดยเฉพาะอย่างยิ่งสำหรับ AI เนื่องจากไม่ใช่สาขาการศึกษาหลักของฉันในขณะนี้

3
ไวยากรณ์ที่ไวต่อบริบทสำหรับภาษาของคำที่ต่อกับตัวเอง
ฉันกำลังมองหาไวยากรณ์ไวตามบริบทที่อธิบายภาษาต่อไปนี้: L = { w w ∣ w ∈ { a , b}* * * *, | w | ≥ 1 }L={ww∣w∈{a,b}∗,|w|≥1}L = \{ ww \mid w ∈ \{a,b\}^{\ast}, |w| ≥ 1\} . ฉันมีปัญหากับความจริงที่ว่าไม่มีกฎเช่น X→ εX→εX \to \varepsilonได้รับอนุญาตและดังนั้นฉันไม่สามารถวาง nonterminal ใด ๆ ที่ระบุ "กลาง" ของคำ มีเคล็ดลับสำหรับปัญหาหรือไม่?

3
ค้นหาว่าใครจะซื้อครัวซองต์บ้าง
ทีมได้ตัดสินใจแล้วว่าทุกคนควรนำครัวซองต์มาให้ทุกคน ไม่ควรเป็นคนคนเดียวกันทุกครั้งดังนั้นควรมีระบบในการพิจารณาว่าใครเป็นเทิร์นถัดไป วัตถุประสงค์ของคำถามนี้คือการกำหนดอัลกอริทึมสำหรับการตัดสินใจว่าใครจะเป็นคนเปิดครัวซองต์ในวันพรุ่งนี้ ข้อ จำกัด สมมติฐานและวัตถุประสงค์: ที่เปิดก็จะนำครัวซองต์จะถูกกำหนดในช่วงบ่ายก่อนหน้า ในบางวันบางคนไม่อยู่ อัลกอริทึมต้องเลือกใครบางคนที่จะนำเสนอในวันนั้น สมมติว่าการขาดทั้งหมดเป็นที่ทราบล่วงหน้าหนึ่งวันดังนั้นผู้ซื้อครัวซองต์สามารถตัดสินใจได้ในช่วงบ่ายก่อนหน้านี้ โดยรวมแล้วคนส่วนใหญ่อยู่ในเกือบทุกวัน เพื่อผลประโยชน์ของความเป็นธรรมทุกคนควรซื้อครัวซองต์หลายครั้ง (โดยทั่วไปสมมติว่าสมาชิกทุกคนในทีมมีจำนวนเงินเท่ากันเพื่อใช้จ่ายกับครัวซองต์) มันจะเป็นการดีถ้ามีองค์ประกอบของการสุ่มหรือการรับรู้อย่างน้อยเพื่อที่จะบรรเทาความเบื่อของบัญชีรายชื่อ นี่ไม่ใช่ข้อ จำกัด อย่างหนัก: มันเป็นการตัดสินใจเชิงสุนทรียะมากกว่า อย่างไรก็ตามบุคคลเดียวกันไม่ควรเลือกสองครั้งติดต่อกัน บุคคลที่นำครัวซองต์มาด้วยควรทราบล่วงหน้า ดังนั้นหากบุคคล P ต้องนำครัวซองต์ในวันที่ D ดังนั้นความจริงข้อนี้ควรถูกกำหนดในวันก่อนหน้าซึ่งมีบุคคล P อยู่ด้วย ตัวอย่างเช่นหากพนักงานเก็บเงินตัวสำรองถูกกำหนดวันก่อนเสมอควรเป็นหนึ่งในบุคคลที่เข้าร่วมเมื่อวานนี้ จำนวนสมาชิกในทีมมีขนาดเล็กเพียงพอที่ทรัพยากรการจัดเก็บและการคำนวณมีไม่ จำกัด อย่างมีประสิทธิภาพ ตัวอย่างเช่นอัลกอริทึมสามารถพึ่งพาประวัติที่สมบูรณ์ของผู้ที่นำครัวซองต์เมื่อในอดีต การคำนวณไม่กี่นาทีบนพีซีที่รวดเร็วทุกวันก็โอเค นี่เป็นรูปแบบของปัญหาในโลกแห่งความเป็นจริงดังนั้นคุณมีอิสระที่จะท้าทายหรือปรับแต่งสมมติฐานหากคุณคิดว่าพวกเขาทำแบบจำลองสถานการณ์ได้ดีขึ้น แหล่งกำเนิดสินค้า: หาผู้ที่จะซื้อครัวซองต์โดยFlorian Margaine การปฏิรูปของฉันที่นี่มีข้อกำหนดแตกต่างกันเล็กน้อย

1
ตัวอย่างของข้อเสนอที่ผิดพลาดเมื่อสมมติว่า Type: Type
ในทฤษฎีประเภทถ้าอนุญาตให้ประเภทเป็นสมาชิกของตัวเองมันทำให้ทฤษฎีไม่สอดคล้องกัน ฉันเข้าใจโดยการเปรียบเทียบความขัดแย้งของ Russel ใน Set Theory แต่อยากเห็นมันทำใน Type Theory มีตัวอย่างสั้น ๆ ของการเทียบเท่าในทฤษฎีประเภทหรือไม่

4
อัลกอริทึมที่ดีสำหรับการสร้าง DFA แบบสุ่มคืออะไร
ฉันกำลังสร้าง DFA แบบสุ่มเพื่อทดสอบอัลกอริทึมการลด DFA กับพวกเขา อัลกอริทึมที่ฉันใช้ตอนนี้มีดังนี้: สำหรับแต่ละรัฐ Qqqสำหรับแต่ละสัญลักษณ์ในตัวอักษร คccเพิ่ม δ( q, c )δ(q,c)\delta (q, c)เพื่อบางรัฐสุ่ม แต่ละรัฐมีความน่าจะเป็นเหมือนกันในการเป็นรัฐสุดท้าย นี่เป็นวิธีที่ดีในการสร้าง DFA ที่เป็นกลางหรือไม่? นอกจากนี้อัลกอริทึมนี้ไม่ได้สร้างการตัดแต่ง DFA (DFA ที่ไม่มีสถานะล้าสมัย) ดังนั้นฉันสงสัยว่าถ้ามีวิธีที่ดีกว่าในการสร้างการสุ่ม DFAs ที่สามารถมั่นใจได้ว่าการตัดแต่งนั้นเป็นอย่างไร

2
เกิดอะไรขึ้นก่อนการเรียนรู้ PAC
ฉันกำลังตรวจสอบการเรียนรู้ PAC (ทฤษฎีการเรียนรู้คอมพิวเตอร์) ในฐานะผู้เริ่มต้นที่ไม่มีความรู้ก่อนหน้านี้เกี่ยวกับการเรียนรู้ของเครื่อง / AI ฉันกำลังตรวจสอบโมเดลส่วนใหญ่จากมุมมองทางประวัติศาสตร์ สำหรับสิ่งนี้สิ่งที่สำคัญที่สุดคือผลลัพธ์ที่ได้จากแบบจำลอง มีเอกสารเพียงพอที่จะบันทึกผลลัพธ์เหล่านี้ แต่ฉันยังต้องการที่จะเขียนอะไรบางอย่างเกี่ยวกับสิ่งที่เกิดขึ้นก่อนการเรียนรู้ PAC เพื่อวาดบริบททางประวัติศาสตร์จนถึงจุดที่องอาจมาพร้อมกับแนวคิดของแบบจำลอง PAC ไม่มีเอกสาร / แบบสำรวจฉันพบเอกสารนี้และในขณะที่คนที่ไม่มีความรู้จริงเกี่ยวกับการเรียนรู้ของเครื่องจึงยากที่จะหาสิ่งนี้ ฉันจึงถามคำถามอ่อนนี้ที่นี่เพราะฉันเชื่อว่ามีผู้เชี่ยวชาญเพียงพอที่สามารถช่วยฉันได้ การอ้างอิงได้รับการชื่นชมอย่างมาก เมื่อฉันสามารถค้นคว้าและศึกษาสิ่งที่เกิดขึ้นก่อน PAC ฉันอาจได้รับการชื่นชมที่ดีขึ้นว่าทำไมโลกการศึกษาจึงกระตือรือร้นเกี่ยวกับแบบจำลอง PAC ซึ่งเป็นสิ่งที่น่าสนใจในการจัดทำเอกสารในงานประวัติศาสตร์ของฉัน!

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