จำนวนที่คาดหวังของบัตรที่มองไม่เห็นเมื่อวาด


10

เรามีไพ่ใบ เราสุ่มไพ่จากมันโดยการสุ่มพร้อมกับการแทนที่ หลังจากวาดจำนวนบัตรที่คาดหวังไม่เคยเลือกคืออะไร?n2n

คำถามนี้เป็นส่วนที่ 2 ของปัญหา 2.12 ใน

M. Mitzenmacher และ E. Upfal, ความน่าจะเป็นและการคำนวณ: อัลกอริธึมแบบสุ่มและการวิเคราะห์ความน่าจะเป็น , สำนักพิมพ์มหาวิทยาลัยเคมบริดจ์, 2005

นอกจากนี้สำหรับสิ่งที่คุ้มค่านี่ไม่ใช่ปัญหาการบ้าน เป็นการศึกษาด้วยตนเองและฉันก็ติดอยู่

คำตอบของฉันคือ:

ให้เป็นจำนวนบัตรที่แตกต่างกันเห็นได้หลังจากที่ TH วาด แล้ว:Xผมผม

E[Xi]=k=1nk(knP(Xi1=k)+nk1nP(Xi1=k1))

แนวคิดที่นี่คือทุกครั้งที่เราวาดเราจะวาดไพ่ที่เราเคยเห็นหรือเราวาดไพ่ที่เราไม่ได้เห็นและเราสามารถกำหนดแบบวนซ้ำได้

สุดท้ายคำตอบให้กับคำถามที่ว่ามีหลายคนที่เราไม่ได้เห็นหลังจากดึงจะ{2n}]2nnE[X2n]

ฉันเชื่อว่าสิ่งนี้ถูกต้อง แต่ต้องมีวิธีแก้ไขที่ง่ายกว่า

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก.


คุณจำลองและเปรียบเทียบผลลัพธ์แล้วหรือยัง
อดัม

คำตอบ:


10

คำแนะนำ: ในการจับรางวัลใด ๆ ความน่าจะเป็นที่ไม่ได้เลือกไพ่คือ . และเนื่องจากเราวาดด้วยการแทนที่ฉันถือว่าเราสามารถพูดได้ว่าการจับสลากแต่ละครั้งนั้นไม่ขึ้นอยู่กับคนอื่น ดังนั้นน่าจะเป็นที่การ์ดจะไม่ได้รับการแต่งตั้งใน2nดึงคือ ...n1n2n


3
(+1) นี่เป็นการเริ่มต้นที่ดี การรวมสิ่งนี้เข้ากับความเป็นเส้นตรงของความคาดหวังนำไปสู่ทางออกที่ประหยัดและสง่างาม
พระคาร์ดินัล

6

ขอบคุณไมค์สำหรับคำใบ้

นี่คือสิ่งที่ฉันมาด้วย

XผมXผม=1ผมเสื้อชั่วโมงพีผม=P(Xผม=1)=(n-1n)2nพีผมผมพี=พีผม

X=Σผม=1nXผม2n

E[X]=E[Σผม=1nXผม]=Σผม=1nE[Xผม]=Σผม=1nพี=nพี

และฉันก็คิดอย่างนั้น


4
nพีอี-2

อาจซับซ้อนกว่านั้นเล็กน้อย ความน่าจะเป็นที่การ์ด (i) พลาดนั้นเป็นอย่างที่คุณเขียน อย่างไรก็ตามเมื่อเรารู้ว่าการ์ด (i) พลาดไปแล้วความน่าจะเป็นที่หายไปของการ์ด (j) นั้นเปลี่ยนแปลง ฉันไม่รู้ว่าปัญหาความเป็นอิสระจะเปลี่ยนผลลัพธ์สุดท้ายหรือไม่
Emil Friedman

@Emil Friedman: ความคาดหวังเป็นเส้นตรงไม่ว่าการเรียกนั้นเป็นอิสระหรือไม่ การขาดความเป็นอิสระส่งผลกระทบต่อปริมาณเช่นความแปรปรวน แต่ไม่ใช่ความคาดหวัง
Douglas Zare

4

นี่คือรหัส R เพื่อตรวจสอบทฤษฎี

evCards <- function(n) 
{
    iter <- 10000;
    cards <- 1:n;
    result <- 0;
    for (i in 1:iter) {
        draws <- sample(cards,2*n,T);
        uniqueDraws <- unique(draws,F);
        noUnique <- length(uniqueDraws);
        noNotSeen <- n - noUnique;
        result <- result + noNotSeen;
    }
    simulAvg <- result/iter;
    theoryAvg <- n * ((n-1)/n)^(2*n);
    output <-list(simulAvg=simulAvg,theoryAvg=theoryAvg);
    return (output);
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.