คำถามติดแท็ก randomized-algorithms

คำถามเกี่ยวกับอัลกอริทึมที่พฤติกรรมถูกกำหนดไม่เพียง แต่จากข้อมูลที่ป้อนเท่านั้น แต่ยังรวมถึงแหล่งที่มาของตัวเลขสุ่มด้วย

1
วิธีการพิสูจน์ความถูกต้องของอัลกอริทึมแบบสุ่ม?
ฉันมีสองวิธีในการสร้างรายการสิ่งของตามลำดับแบบสุ่มและต้องการตรวจสอบว่ามีความยุติธรรมเท่ากันหรือไม่ วิธีแรกที่ฉันใช้คือการสร้างรายการทั้งหมดขององค์ประกอบแล้วทำการสับเปลี่ยนมัน (พูดสับเปลี่ยน Fisher-Yates) วิธีที่สองเป็นวิธีการวนซ้ำซึ่งเก็บรายการที่สับในทุกการแทรก ในโค้ดหลอกฟังก์ชันการแทรกคือ: insert( list, item ) list.append( item ) swap( list.random_item, list.last_item ) ฉันสนใจที่จะแสดงความเป็นธรรมของการสับคันนี้โดยเฉพาะ ข้อดีของอัลกอริทึมนี้ซึ่งใช้อยู่ก็เพียงพอแล้วแม้ว่ามันจะไม่ยุติธรรมก็ตาม ในการตัดสินใจว่าฉันต้องการวิธีประเมินความเป็นธรรมของมัน แนวคิดแรกของฉันคือฉันต้องคำนวณพีชคณิตทั้งหมดที่เป็นไปได้ด้วยวิธีนี้เทียบกับการเรียงสับเปลี่ยนทั้งหมดที่เป็นไปได้สำหรับชุดของความยาวสุดท้าย ฉันสูญเสียนิดหน่อย แต่วิธีคำนวณพีชคณิตที่เกิดจากอัลกอริทึมนี้ ฉันยังไม่แน่ใจว่านี่เป็นวิธีที่ดีที่สุดหรือง่ายที่สุด

4
การเรียงลำดับอัลกอริธึมที่ยอมรับตัวเปรียบเทียบแบบสุ่ม
อัลกอริทึมการเรียงแบบทั่วไปโดยทั่วไปจะใช้ชุดข้อมูลเพื่อจัดเรียงและฟังก์ชันตัวเปรียบเทียบซึ่งสามารถเปรียบเทียบองค์ประกอบสองอย่าง หากตัวเปรียบเทียบเป็นความสัมพันธ์ตามลำดับ output ผลลัพธ์ของอัลกอริทึมจะเป็นรายการ / อาร์เรย์ที่เรียงลำดับ ฉันสงสัยว่าอัลกอริธึมการเรียงลำดับใดที่จะใช้งานร่วมกับเครื่องมือเปรียบเทียบที่ไม่ใช่ความสัมพันธ์ในการสั่งซื้อ (โดยเฉพาะอย่างยิ่งที่ส่งคืนผลลัพธ์แบบสุ่มในการเปรียบเทียบแต่ละครั้ง) โดย "งาน" ฉันหมายถึงที่นี่ว่าพวกเขายังคงกลับมาเรียงลำดับของข้อมูลของพวกเขาและเรียกใช้ที่ซับซ้อนเวลาของพวกเขามักจะอ้างถึง (ตรงข้ามกับการย่อยสลายไปยังสถานการณ์กรณีที่เลวร้ายที่สุดเสมอ การเรียงลำดับของผลลัพธ์จะไม่ได้กำหนดอย่างไรก็ตาม ยิ่งไปกว่านั้นการเรียงลำดับผลลัพธ์จะเป็นการกระจายแบบสม่ำเสมอเมื่อตัวเปรียบเทียบเป็นแบบพลิกเหรียญ จากการคำนวณทางจิตคร่าวๆของฉันดูเหมือนว่าการเรียงแบบผสานจะดีกับสิ่งนี้และรักษาค่าใช้จ่ายรันไทม์เท่าเดิมและสร้างการสั่งซื้อแบบสุ่มอย่างยุติธรรม ฉันคิดว่าบางสิ่งบางอย่างเช่นการเรียงลำดับอย่างรวดเร็วอาจทำให้เสื่อมโทรมอาจไม่เสร็จและไม่ยุติธรรม อัลกอริทึมการเรียงลำดับอื่นใด (นอกเหนือจากการจัดเรียงผสาน) จะทำงานตามที่อธิบายไว้ด้วยตัวเปรียบเทียบแบบสุ่มหรือไม่ สำหรับการอ้างอิงตัวเปรียบเทียบคือลำดับความสัมพันธ์ถ้ามันเป็นฟังก์ชันที่เหมาะสม (กำหนดขึ้น) และสอดคล้องกับหลักการของความสัมพันธ์ของลำดับ: มันเป็นการกำหนดขึ้น: compare(a,b)สำหรับสิ่งใดสิ่งหนึ่งaและbส่งกลับผลลัพธ์เดียวกันเสมอ มันเป็นสกรรมกริยา: compare(a,b) and compare(b,c) implies compare( a,c ) มันเป็น antisymmetric compare(a,b) and compare(b,a) implies a == b (สมมติว่าองค์ประกอบอินพุตทั้งหมดนั้นแตกต่างกันดังนั้นการสะท้อนกลับจึงไม่เป็นปัญหา) เครื่องมือเปรียบเทียบแบบสุ่มละเมิดกฎเหล่านี้ทั้งหมด อย่างไรก็ตามมีผู้เปรียบเทียบที่ไม่ได้มีความสัมพันธ์ในการสั่งซื้อ แต่ยังไม่ได้สุ่ม (ตัวอย่างเช่นพวกเขาอาจละเมิดกฎเพียงข้อเดียวและสำหรับองค์ประกอบเฉพาะในชุด)

6
เราสามารถสร้างตัวเลขสุ่มโดยใช้ตัวเลขไม่ลงตัวเช่น like และ e ได้หรือไม่?
หมายเลขที่ไม่มีตัวตนเช่น ,และมีลำดับที่ไม่ซ้ำกันและไม่ซ้ำกันหลังจากจุดทศนิยม หากเราแยกตัวเลข -th จากตัวเลขดังกล่าว (โดยที่คือจำนวนครั้งที่เรียกว่าวิธีการ) และสร้างตัวเลขด้วยตัวเลขตามที่เป็นอยู่เราจะไม่ได้รับตัวสร้างตัวเลขสุ่มสมบูรณ์หรือไม่ ตัวอย่างเช่นหากเราใช้ ,และตัวเลขแรกคือ 123, อันที่สองคือ 471, อันถัดไปคือ 184 เป็นต้นππ\piอีอีe2-√2\sqrt{2}nnnnnn2-√2\sqrt{2}อีอีeππ\pi

3
ปัญหาใน P ด้วยอัลกอริทึมแบบสุ่มที่พิสูจน์ได้เร็วขึ้น
มีปัญหาใด ๆ ในPP\mathsf{P}ที่มีอัลกอริทึมแบบสุ่มที่เต้นต่ำกว่าขอบเขตของอัลกอริทึมที่กำหนดหรือไม่? ยิ่งขึ้นอย่างเป็นรูปธรรมเรารู้จักใดที่ ? ที่นี่\ mathsf {PTIME} (f (n))หมายถึงชุดภาษาที่ decidable โดย TM แบบสุ่มที่มีข้อผิดพลาดแบบ จำกัด ขอบเขต (หนึ่งหรือสองด้าน) ในขั้นตอนf (n)kkkDTIME(nk)⊊PTIME(nk)DTIME(nk)⊊PTIME(nk)\mathsf{DTIME}(n^k) \subsetneq \mathsf{PTIME}(n^k)PTIME(f(n))PTIME(f(n))\mathsf{PTIME}(f(n))f(n)f(n)f(n) การสุ่มซื้อของเราไว้ในPP\mathsf{P}หรือไม่? เพื่อความชัดเจนฉันกำลังมองหาบางสิ่งที่แตกต่างคือแบบอะซิมโทติค (พหุนามโดยเฉพาะอย่างยิ่ง แต่ฉันจะเลือกโพลีโลมาติกแบบไมโคร) ไม่ใช่แค่ค่าคงที่ ฉันกำลังมองหาอัลกอริทึมแบบไม่มีอาการในกรณีที่แย่ที่สุด อัลกอริทึมที่มีความซับซ้อนที่คาดหวังดีกว่าไม่ใช่สิ่งที่ฉันกำลังมองหา ฉันหมายถึงอัลกอริทึมแบบสุ่มเช่นเดียวกับใน RP หรือ BPP ไม่ใช่ ZPP

1
อัลกอริทึมในการไล่ล่าเป้าหมายที่กำลังเคลื่อนที่
สมมติว่าเรามีกล่องดำfffซึ่งเราสามารถสอบถามและรีเซ็ต เมื่อเราตั้งค่าfffรัฐfSfSf_Sของfffถูกตั้งค่าเป็นองค์ประกอบได้รับการแต่งตั้งอย่างสม่ำเสมอโดยการสุ่มจากชุดที่{0,1,...,n−1}{0,1,...,n−1}\{0, 1, ..., n - 1\}ที่nnnได้รับการแก้ไขและรู้จักการให้Ffffในแบบสอบถามfff , องค์ประกอบxxx (เดา) จาก{0,1,...,n−1}{0,1,...,n−1}\{0, 1, ..., n - 1\}ให้บริการและความคุ้มค่าที่ส่งกลับเป็นn นอกจากนี้สถานะของถูกกำหนดเป็นค่าโดยที่ถูกเลือกแบบสุ่มโดยสุ่มจาก(fS−x)modn(fS−x)modn(f_S - x) \mod nfSfSf_Sffff′S=fS±kfS′=fS±kf_S' = f_S \pm kkkk{0,1,2,...,⌊n/2⌋−((fS−x)modn)}{0,1,2,...,⌊n/2⌋−((fS−x)modn)}\{0, 1, 2, ..., \lfloor n/2 \rfloor - ((f_S - x) \mod n)\} โดยการคาดเดาสุ่มเหมือนกันกับแต่ละแบบสอบถามคาดว่าจะต้องให้คาดเดาก่อนที่จะเดินทางกับความแปรปรวน (ตามที่ระบุไว้โดยไม่ต้องพิสูจน์)nnnfS=xfS=xf_S = xn2−nn2−nn^2 - n อัลกอริทึมสามารถออกแบบให้ดีขึ้นได้อย่างไร (เช่นทำการเดาน้อยลงอาจมีความแปรปรวนน้อยลงในจำนวนการเดา) จะดีกว่านี้ได้อีก (เช่นอัลกอริธึมที่เหมาะสมที่สุดและประสิทธิภาพของมันคืออะไร) การแก้ปัญหาที่มีประสิทธิภาพสำหรับปัญหานี้อาจมีผลกระทบต่อการประหยัดต้นทุนที่สำคัญสำหรับการถ่ายภาพที่กระต่าย

1
มีอัลกอริทึม O (n log n) สำหรับการทำให้เป็นเส้น 4D ง่ายขึ้นหรือไม่?
อัลกอริทึม Ramer-Douglas-Peuckerสำหรับสายเรียบง่ายมีกรณีที่แย่ที่สุดรันไทม์ สำหรับอินพุตสุ่มแบบกระจายที่เหมาะสมจะมีความซับซ้อนรันไทม์ใน 2D มีอัลกอริธึมอื่นที่มีความซับซ้อนของ runtime caseแย่ที่สุดซึ่งคำนวณผลลัพธ์แบบเดียวกับอัลกอริทึม Ramer-Douglas-Peucker เนื่องจากอัลกอริธึมเหล่านี้มีพื้นฐานมาจากโครงสร้างข้อมูล "path (convex) hull" จึงไม่ชัดเจนว่าจะสามารถใช้กับบรรทัด 4D ได้หรือไม่O(n2)O(n2)O(n^2)O(nlogn)O(nlog⁡n)O(n \log n)O(nlogn)O(nlog⁡n)O(n \log n) มีอัลกอริทึม (สุ่ม) ซึ่งมี (คาดว่า)รันไทม์ (เป็นอิสระจากอินพุต) สำหรับกรณีของเส้น 4D หรือไม่? คุณอาจถือว่าระยะทางแบบยุคลิดและความอดทนแบบสัมบูรณ์ทั่วโลกO(nlogn)O(nlog⁡n)O(n \log n)

4
จำลองการตายแบบยุติธรรมด้วยการตายแบบลำเอียง
เมื่อพิจารณาจากการตายของNNNด้านแล้วจะมีการสร้างตัวเลขสุ่มในช่วง[1,N][1,N][1,N]ได้อย่างไร? การแจกแจงความน่าจะเป็นของใบหน้าตายนั้นไม่เป็นที่รู้จักทั้งหมดที่รู้กันคือใบหน้าแต่ละใบหน้ามีความเป็นไปได้ที่ไม่ใช่ศูนย์ นี่คือลักษณะทั่วไปที่เห็นได้ชัดของแฟร์ผลกับการตายที่ไม่เป็นธรรม วางนี้ในแง่วิทยาศาสตร์คอมพิวเตอร์เรามีคำพยากรณ์ที่เป็นตัวแทนของม้วนตาย: D:N→[1,N]D:N→[1,N]D : \mathbb{N} \to [1,N]เช่นว่าจะไม่ใช่ศูนย์และเป็นอิสระจากkเรากำลังมองหาขั้นตอนวิธีการกำหนดซึ่งเป็น parametrized โดย (เช่นอาจโทรไปยัง ) เช่นว่า N อัลกอริทึมจะต้องจบลงด้วยความน่าจะเป็น 1 นั่นคือความน่าจะเป็นที่ทำให้มากกว่าการเรียกถึงต้องมาบรรจบกันเป็นk A D A D Ppi=P(D(k)=i)pi=P(D(k)=i)p_i = P(D(k)=i)kkkAAADDDAAADDDA n D D 0 n → ∞P( A ( ) = i ) = 1 / NP(A()=ผม)=1/ยังไม่มีข้อความP(A()=i) = 1/NAAAnnnDDD000n → ∞n→∞n\to\inftyn สำหรับ (จำลองเหรียญยุติธรรมจากการโยนเหรียญด้วยเหรียญลำเอียง) มีอัลกอริทึมที่รู้จักกันดี:ยังไม่มีข้อความ= 2ยังไม่มีข้อความ=2N=2 …

2
ข้อได้เปรียบของ Randomized Quicksort คืออะไร
ในหนังสือของพวกเขาแบบสุ่มอัลกอริทึม , Motwani และ Raghavan เปิดการแนะนำที่มีคำอธิบายของฟังก์ชั่น RandQS ของพวกเขา - quicksort สุ่ม - ที่หมุนที่ใช้สำหรับการแบ่งชุดออกเป็นสองส่วนคือการสุ่มเลือก ฉันได้รับสมองของฉัน (ค่อนข้างอ่อนแอภายใต้การยอมรับ) ในช่วงเวลานี้ แต่ฉันไม่สามารถเห็นได้ว่าข้อดีของอัลกอริทึมนี้มีมากกว่าการเลือกพูดองค์ประกอบกลาง (ในดัชนีไม่ใช่ขนาด) ในแต่ละครั้ง ฉันคิดว่าสิ่งที่ฉันไม่เห็นคือ: ถ้าชุดเริ่มต้นอยู่ในลำดับสุ่มความแตกต่างระหว่างการเลือกองค์ประกอบที่ตำแหน่งสุ่มในชุดและเลือกองค์ประกอบที่ตำแหน่งคงที่คืออะไร ใครบางคนสามารถสอนฉันในแง่ที่ค่อนข้างง่าย?

1
แพ้ในคอนเสิร์ต "ทิศทางเดียว"
คุณและเพื่อนสูญเสียกันและกันในคอนเสิร์ตและไม่แน่ใจว่าใครในอนาคตข้างหน้า อย่างเป็นทางการแต่ละคนอยู่ในพิกัดจำนวนเต็มบางส่วนและอาจเดินไปทางพิกัดที่สูงขึ้นหรืออยู่ในสถานที่ สมมติว่าคุณและเพื่อนของคุณกำลังติดตามอัลกอริทึมที่แน่นอน (และไม่คุณอาจไม่พูดว่า "if (name ==" R B ") ทำอะไร :)) และระยะทางเริ่มต้นระหว่างคุณสองคนคือ (ซึ่งไม่ใช่ รู้จักคุณ)xxx อัลกอริธึมที่ลดระยะทางเดินที่คาดไว้ให้น้อยที่สุดจนกว่าคุณและเพื่อนของคุณจะพบกันคืออะไร คุณอาจคิดว่าทั้งเพื่อนและตัวคุณเองกำลังเคลื่อนไหวด้วยความเร็วคงที่เท่ากัน อัลกอริธึมตัวอย่างง่าย ๆ จะเป็นดังนี้: ที่เวที (เริ่มต้นจาก0 ):nnn000 เดินขั้นตอนในการงาน wp ขวา13n3n3^nหรือรอเวลา3nหน่วยเป็นอย่างอื่น1212\frac{1}{2}3n3n3^n หากต้องการดูขั้นตอนวิธีการนี้จะทำให้เพื่อน ๆ พบกับความน่าจะเป็นที่ 1 พิจารณาสิ่งที่เกิดขึ้นในขั้นตอน ) แม้ว่าเพื่อนที่เป็นxก้าวไปข้างหน้าเสมอเดินและอื่น ๆ มักจะอยู่ในสถานที่ที่ระยะห่างระหว่างทั้งสองจะเป็น: x + 1 + 3 + 9 + ... + 3 บันทึก3 x = 2 …

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

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

1
การเลือกแบบสุ่ม
อัลกอริทึมการเลือกแบบสุ่มมีดังต่อไปนี้: อินพุต: อาร์เรย์ของn (แตกต่างกันเพื่อความง่าย) ตัวเลขและตัวเลขk ∈ [ n ]AAAnnnk∈[n]k∈[n]k\in [n] เอาท์พุท: "อันดับองค์ประกอบ" ของA (กล่าวคือหนึ่งในตำแหน่งkถ้าAถูกจัดเรียง)kkkAAAkkkAAA วิธี: หากมีองค์ประกอบหนึ่งในให้ส่งคืนAAA เลือกองค์ประกอบ ("pivot") อย่างสม่ำเสมอโดยการสุ่มppp คำนวณชุดและR = { a ∈ A : a &gt; p }L={a∈A:a&lt;p}L={a∈A:a&lt;p}L = \{a\in A : a < p\}R={a∈A:a&gt;p}R={a∈A:a&gt;p}R = \{a\in A : a > p\} ถ้ากลับยศkองค์ประกอบของL|L|≥k|L|≥k|L| \ge kkkkLLL มิฉะนั้นส่งคืนอันดับองค์ประกอบของRk−|L|k−|L|k - |L|RRR …

2
กรณีพิเศษของปัญหาการตั้งเวลาสามารถแก้ไขได้ในเวลาเชิงเส้นหรือไม่?
อลิซนักเรียนทำการบ้านมากมายในสัปดาห์หน้า การบ้านแต่ละรายการจะใช้เวลาหนึ่งวัน แต่ละรายการมีกำหนดเวลาและผลกระทบทางลบต่อผลการเรียนของเธอ (สมมติว่าเป็นจำนวนจริงคะแนนโบนัสสำหรับการเปรียบเทียบเท่านั้น) หากเธอพลาดกำหนดเวลา เขียนฟังก์ชั่นที่ให้รายการของ (กำหนดเวลาผลกระทบระดับคะแนน) กำหนดตารางเวลาสำหรับการทำการบ้านในวันที่ลดผลรวมของผลกระทบที่ไม่ดีต่อเกรดของเธอ การบ้านทั้งหมดจะต้องทำในที่สุด แต่ถ้าเธอพลาดกำหนดเวลาสำหรับรายการมันไม่สำคัญว่าเธอจะเปิดช้าแค่ไหน ในสูตรทางเลือก: ACME corp ต้องการส่งน้ำให้กับลูกค้า พวกเขาทั้งหมดอาศัยอยู่ตามถนนสายเดียว ACME มีหลุมหลายแห่งกระจายอยู่ตามถนน แต่ละบ่อมีน้ำเพียงพอสำหรับลูกค้าหนึ่งราย ลูกค้าเสนอราคาเป็นจำนวนเงินที่แตกต่างกัน น้ำไหลลงเขาเท่านั้น เพิ่มรายได้ให้สูงสุดด้วยการเลือกลูกค้าที่จะจัดหา เราสามารถจัดเรียงกำหนดเวลาโดยใช้การจัดเรียงกลุ่ม (หรือสมมติว่าเราได้เรียงลำดับตามกำหนดเวลาแล้ว) เราสามารถแก้ปัญหาได้อย่างง่ายดายด้วยอัลกอริธึมโลภหากเราจัดเรียงโดยการกระทบจากระดับสูงสุดก่อน ทางออกนั้นจะไม่ดีไปกว่า O (n log n) ได้รับแรงบันดาลใจจากMedian of MediansและอัลกอริทึมSpanning Tree แบบขั้นต่ำแบบเส้นตรงฉันสงสัยว่าเราสามารถแก้ปัญหาการตั้งเวลา / การไหลแบบง่าย ๆ ของฉันในเวลาเชิงเส้น (แบบสุ่ม?) ได้เช่นกัน ฉันกำลังมองหา: อัลกอริทึมเวลาเชิงเส้น (อาจสุ่ม) หรือมิฉะนั้นก็โต้แย้งว่าไม่สามารถใช้เวลาเชิงเส้นได้ ในฐานะที่เป็นหินก้าว: ฉันได้พิสูจน์แล้วว่าเพิ่งรู้ว่ารายการใดที่สามารถทำได้ก่อนกำหนดเวลาของพวกเขาเพียงพอที่จะสร้างตารางเวลาที่สมบูรณ์ในเวลาเชิงเส้น (ข้อมูลเชิงลึกนั้นเป็นรากฐานของสูตรที่สองที่ฉันถามเกี่ยวกับใบรับรองเท่านั้น) โปรแกรมเชิงเส้นตรง (integral!) สามารถจำลองปัญหานี้ได้ …

3
ความแตกต่างระหว่างหัวและก้อย
พิจารณาลำดับของการโยนnnnเหรียญที่ไม่มีอคติ ให้HiHiH_iแทนค่าสัมบูรณ์ของส่วนเกินของจำนวนหัวเหนือก้อยที่เห็นในแรกiiiพลิก กำหนดH=maxiHiH=maxiHiH=\text{max}_i H_iฉัน แสดงว่าE[Hi]=Θ(i√)E[Hi]=Θ(i)E[H_i]=\Theta ( \sqrt{i} )และE[H]=Θ(n−−√)E[H]=Θ(n)E[H]=\Theta( \sqrt{n} ) ) ปัญหานี้ปรากฏในบทแรกของ `อัลกอริทึมแบบสุ่ม 'โดย Raghavan และ Motwani ดังนั้นอาจมีหลักฐานเบื้องต้นของข้อความข้างต้น ฉันไม่สามารถแก้ไขได้ดังนั้นฉันจะขอขอบคุณความช่วยเหลือใด ๆ

1
การแยกประเภทการปรับแต่ง
ที่ทำงานฉันได้รับมอบหมายให้อนุมานข้อมูลบางประเภทเกี่ยวกับภาษาแบบไดนามิก ฉันเขียนลำดับของข้อความไปยังletนิพจน์ที่ซ้อนกันเช่น: return x; Z =&gt; x var x; Z =&gt; let x = undefined in Z x = y; Z =&gt; let x = y in Z if x then T else F; Z =&gt; if x then { T; Z } else { F; Z } เนื่องจากฉันเริ่มต้นจากข้อมูลประเภททั่วไปและพยายามอนุมานประเภทที่เฉพาะเจาะจงมากขึ้นตัวเลือกที่เป็นธรรมชาติคือประเภทการปรับแต่ง ตัวอย่างเช่นตัวดำเนินการตามเงื่อนไขส่งคืนการรวมของประเภทของสาขาที่เป็นจริงและเท็จ …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

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