คำถามติดแท็ก applied-theory

ผลทางทฤษฎีและเทคนิคที่ใช้ในการตั้งค่าการปฏิบัติ

4
ทำไมต้นไม้สีแดงดำจึงเป็นที่นิยม
ดูเหมือนว่าทุกที่ที่ฉันมองมีการใช้โครงสร้างข้อมูลโดยใช้ต้นไม้สีแดงดำ ( std::setใน C ++, SortedDictionaryใน C #, ฯลฯ ) มีต้นไม้ปกคลุม (a, b), สีแดง - ดำและ AVL ในชั้นเรียนอัลกอริทึมของฉันนี่คือสิ่งที่ฉันได้ออกไป (จากการถามอาจารย์, มองผ่านหนังสือสองสามเล่มและ googling เล็กน้อย): ต้นไม้ AVL มีความลึกเฉลี่ยน้อยกว่าต้นไม้สีแดงดำดังนั้นการค้นหาค่าในต้นไม้ AVL จึงเร็วขึ้นอย่างต่อเนื่อง ต้นไม้สีแดงดำทำการเปลี่ยนแปลงโครงสร้างน้อยกว่าเพื่อความสมดุลตัวเองมากกว่าต้นไม้ AVL ซึ่งอาจทำให้พวกเขาเร็วขึ้นสำหรับการแทรก / ลบ ฉันกำลังพูดถึงสิ่งที่อาจเกิดขึ้นเพราะสิ่งนี้จะขึ้นอยู่กับต้นทุนของการเปลี่ยนแปลงโครงสร้างของต้นไม้เนื่องจากมันจะขึ้นอยู่กับรันไทม์และการดำเนินการ (อาจแตกต่างกันโดยสิ้นเชิงในภาษาที่ใช้งานได้เมื่อต้นไม้ไม่เปลี่ยนรูป) มีมาตรฐานออนไลน์มากมายที่เปรียบเทียบ AVL กับต้นไม้สีแดง - ดำ แต่สิ่งที่ทำให้ฉันสะดุดคือศาสตราจารย์ของฉันพูดโดยทั่วไปว่าโดยปกติคุณจะทำสองอย่าง: ไม่ว่าคุณจะไม่สนใจเรื่องประสิทธิภาพมากนักซึ่งในกรณีนี้ความแตกต่างระหว่าง 10-20% ของ AVL กับสีแดง - ดำในกรณีส่วนใหญ่ไม่สำคัญเลย หรือคุณสนใจเกี่ยวกับการแสดงอย่างมากในกรณีที่คุณทิ้งทั้งต้นไม้ AVL และต้นไม้สีแดงดำและไปกับต้นไม้ …

6
สิ่งที่ใช้เป็นกลุ่ม, monoids, และเสียงเรียกเข้าในการคำนวณฐานข้อมูล?
ทำไม บริษัท เช่น Twitter ถึงสนใจในแนวคิดเกี่ยวกับพีชคณิตเช่นกลุ่ม, monoids และ ring? ดูพื้นที่เก็บข้อมูลของพวกเขาที่GitHub: Twitter / algebird สิ่งที่ฉันหาได้คือ: การดําเนินการของ Monoids สำหรับขั้นตอนวิธีการประมาณที่น่าสนใจเช่นกรองบลูม , HyperLogLogและCountMinSketch สิ่งเหล่านี้ช่วยให้คุณคิดถึงการดำเนินการที่ซับซ้อนเหล่านี้เช่นคุณอาจใช้ตัวเลขและเพิ่มพวกมันใน hadoop หรือออนไลน์เพื่อสร้างสถิติและการวิเคราะห์ที่มีประสิทธิภาพ และอีกส่วนหนึ่งของหน้า GitHub: มันได้รับการพัฒนามาเป็นส่วนหนึ่งของลวกของเมทริกซ์ API ที่เมทริกซ์มีค่าซึ่งเป็นองค์ประกอบของ Monoids , กลุ่มหรือแหวน ต่อจากนั้นเป็นที่ชัดเจนว่ารหัสมีแอปพลิเคชันที่กว้างขึ้นภายใน Scalding และโครงการอื่น ๆ ภายใน Twitter แอปพลิเคชันที่กว้างขึ้นนี้จะเป็นอย่างไร ภายใน Twitter และเพื่อความสนใจทั่วไป ดูเหมือนว่าการรวมองค์ประกอบของฐานข้อมูลจะมีโครงสร้างคล้าย monoid คำถามเดียวกันเกี่ยวกับ Quora: อะไรคือความสนใจของ Twitter ในพีชคณิตนามธรรม (กับ algebird)? ฉันมีพื้นฐานทางคณิตศาสตร์ แต่ฉันไม่ใช่นักวิทยาศาสตร์คอมพิวเตอร์ …

9
ความสำคัญของภาษาตามบริบท (ประเภท 1) คืออะไร
เห็นได้ว่าในรัฐChomsky Hierarchy Type 3 สามารถรับรู้โดยเครื่องของรัฐที่ไม่มีหน่วยความจำภายนอก (เช่นเครื่อง จำกัด อัตโนมัติ), Type 2 โดยเครื่องของรัฐที่มีสแต็กเดียว (เช่นเครื่องกดลง) และ Type 0 โดย เครื่องรัฐที่มีสองกอง (หรือเทียบเท่าเทปเช่นเดียวกับกรณีของทัวริงเครื่อง) ภาษาประเภท 1 พอดีกับภาพนี้ได้อย่างไร และข้อดีอะไรบ้างที่นำมาพิจารณาว่าภาษาไม่เพียง แต่พิมพ์ 0 แต่พิมพ์ 1

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

2
การเข้ารหัสข้อ จำกัด 1-out-of-n สำหรับนักแก้ปัญหา SAT
ฉันใช้ตัวแก้ SAT เพื่อเข้ารหัสปัญหาและเป็นส่วนหนึ่งของอินสแตนซ์ SAT ฉันมีตัวแปรบูลีนซึ่งมีจุดประสงค์ว่าหนึ่งในนั้นควรเป็นจริงและส่วนที่เหลือควรเป็นเท็จ . (บางครั้งฉันเคยเห็นสิ่งนี้อธิบายว่าเป็นการเข้ารหัส "one-hot")x1,x2,…,xnx1,x2,…,xnx_1,x_2,\dots,x_n ฉันต้องการเข้ารหัสข้อ จำกัด "ตรงหนึ่งจากต้องเป็นจริง" ใน SAT วิธีที่ดีที่สุดในการเข้ารหัสข้อ จำกัด นี้เพื่อให้นักแก้ปัญหา SAT ทำงานได้อย่างมีประสิทธิภาพมากที่สุดเท่าที่จะเป็นไปได้x1,…,xnx1,…,xnx_1,\dots,x_n ฉันเห็นการเข้ารหัสข้อ จำกัด นี้ได้หลายวิธี: ข้อ จำกัด แบบคู่ ฉันสามารถเพิ่มข้อ จำกัด แบบ pairwiseสำหรับทั้งหมดเพื่อให้แน่ใจว่าอย่างน้อยที่สุดหนึ่งนั้นเป็นจริงแล้วเพิ่มเพื่อให้แน่ใจว่าอย่างน้อยก็เป็นจริง .¬xi∨¬xj¬xi∨¬xj\neg x_i \lor \neg x_ji,ji,ji,jx 1 ∨ x 2 ∨ ⋯ ∨ x nxixix_ix1∨x2∨⋯∨xnx1∨x2∨⋯∨xnx_1 \lor x_2 \lor \cdots \lor x_n สิ่งนี้เพิ่มส่วนคำสั่งและไม่มีตัวแปรบูลีนพิเศษΘ(n2)Θ(n2)\Theta(n^2) การเข้ารหัสแบบไบนารี …

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

3
การใช้งานจริงของ Radix Sort
Radix จัดเรียงเป็นทฤษฎีอย่างรวดเร็วเมื่อคุณรู้ว่ากุญแจอยู่ในขอบเขต จำกัด บางอย่างบอกว่าค่าในช่วงตัวอย่างเช่น หากคุณเพิ่งแปลงค่าเป็นฐานซึ่งใช้เวลาเวลาให้ทำการจัดเรียงฐาน radix จากนั้นแปลงกลับเป็นฐานเดิมของคุณเพื่ออัลกอริทึมโดยรวมnnn[ 0 … nk- 1 ][0...nk-1][0\dots n^k -1]k &lt; lgnk&lt;LG⁡nk<\lg nnnnΘ ( n )Θ(n)\Theta(n)nnnΘ ( n k )Θ(nk)\Theta(nk) อย่างไรก็ตามฉันได้อ่านแล้วว่าโดยทั่วไปแล้วการเรียงลำดับของ Radix ในทางปฏิบัติจะช้ากว่าการทำ Quicksort แบบสุ่มมาก : สำหรับอาร์เรย์ขนาดใหญ่การเรียงลำดับแบบ Radix มีจำนวนการเรียนการสอนต่ำที่สุด แต่เนื่องจากประสิทธิภาพแคชค่อนข้างต่ำประสิทธิภาพโดยรวมจึงแย่กว่ารุ่นที่ผสานหน่วยความจำและการรวมแบบรวดเร็ว การจัดเรียงของ Radix เป็นเพียงแค่อัลกอริธึมทางทฤษฎีที่ดีหรือว่ามันมีประโยชน์ในทางปฏิบัติทั่วไปหรือไม่?

1
การเกิดขึ้นตามธรรมชาติของพระที่ใช้ประโยชน์จากกรอบหมวดหมู่ตามทฤษฎี
วันนี้คำปราศรัยของ Henning Kerstan ("ร่องรอยความหมายสำหรับระบบการเปลี่ยนผ่านน่าจะเป็น") เผชิญหน้ากับฉันด้วยทฤษฎีหมวดหมู่เป็นครั้งแรก เขาได้สร้างกรอบทางทฤษฎีสำหรับการอธิบายระบบการเปลี่ยนแปลงที่น่าจะเป็นไปได้และพฤติกรรมของพวกเขาในลักษณะทั่วไปคือด้วยชุดของรัฐที่ไม่มีที่สิ้นสุดนับไม่ถ้วนและความคิดที่แตกต่างกันของร่องรอย ด้วยเหตุนี้เขาจะไปผ่านหลายชั้นของนามธรรมไปจนจบลงด้วยความคิดของmonadsซึ่งเขารวมกับทฤษฎีการวัดในการสร้างรูปแบบที่เขาต้องการ ในที่สุดเขาใช้เวลา 45 นาทีในการสร้างกรอบเพื่ออธิบายแนวคิดที่เขาอธิบายไว้ใน 5 นาที ฉันซาบซึ้งกับความงามของวิธีการ (มันใช้งานได้ดีกับความคิดที่แตกต่างกันของร่องรอย) แต่มันก็ทำให้ฉันรู้สึกเหมือนเป็นความสมดุลที่แปลกประหลาด ฉันต่อสู้เพื่อดูว่า monad คืออะไรจริง ๆและแนวคิดทั่วไปมีประโยชน์อย่างไรในแอปพลิเคชัน (ทั้งในทางทฤษฎีและปฏิบัติ) มันคุ้มค่ากับความพยายามหรือไม่ผลที่ตามมาคืออะไร? ดังนั้นคำถามนี้: มีปัญหาที่เกิดขึ้นตามธรรมชาติ (ในแง่ของ CS) หรือไม่ซึ่งความคิดเชิงนามธรรมของพระสงฆ์สามารถนำไปใช้และช่วย (หรือเป็นเครื่องมือ) เพื่อให้ได้ผลลัพธ์ที่ต้องการ (ไม่ว่าจะด้วยวิธีใดก็ตาม

1
Universal Hashing ในทางปฏิบัติ
ตระกูลของฟังก์ชันแฮชเป็นสากลถ้า คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับวิกิพีเดียคร่ำเครียดสากลนี้บทความHHHh : คุณ→ { 0 , … , M- 1 }ชั่วโมง:ยู→{0,...,M-1}h: U \rightarrow \{0,\ldots,M-1\}∀ x , y∈ คุณ, x ≠ y⇒ ประชาสัมพันธ์h ∈ H[ h ( x ) = h ( y) ] ≤ 1M∀x,Y∈ยู,x≠Y⇒ราคาชั่วโมง∈H[ชั่วโมง(x)=ชั่วโมง(Y)]≤1M\forall x,y \in U, x \neq y \Rightarrow \Pr_{h \in H}[h(x) = h(y)] \leq \frac{1}{M} …

1
การใช้การค้นหาจำนวนเส้นตรงขั้นต่ำเพื่อครอบคลุมชุดของคะแนนคืออะไร
มีปัญหาที่ได้รับความนิยม[1] [2]ในวิทยาการคอมพิวเตอร์ที่กำลังค้นหาจำนวนเส้นตรงขั้นต่ำที่ครอบคลุมชุดของจุดใน 2D แม้ว่าฉันจะสแกนเอกสารจำนวนมาก แต่ก็ไม่มีใครมีแรงจูงใจที่ชัดเจนสำหรับปัญหานี้ การใช้การแก้ไขปัญหานี้คืออะไร? มีกระดาษที่อธิบายเรื่องนี้หรือไม่?

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

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