Akademisyenler öncülüğünde matematik/fizik/bilgisayar bilimleri soru cevap platformu
1 beğenilme 0 beğenilmeme
5.2k kez görüntülendi

Bir çekmecede 8 çift (16 tane) çorap vardır. Her çift kendi içinde aynı renktedir. Bu çekmeceden rastgele 4 çorap seçildiğinde bu çorapların en az bir aynı çift içermesi ihtimali kaçtır?

C(8,1).C(14,2)/C(16,4) düşündüm. Bir tane çift seçeriz garanti olsun diye, diğer 2 çorabı da kalan 14 çoraptan seçeriz. Çift çıkabilir de çıkmayabilir de. Sonuç bana göre 728/1820 çıkıyor fakat cevap anahtarı 720/1820 diyor. Neden 8 çıkarmış?

Orta Öğretim Matematik kategorisinde (21 puan) tarafından  | 5.2k kez görüntülendi
A ciftini alip B ile onu sayinca
ve
B ciftini alip A ile onu sayinca
iki kere saymis olursun degil mi?

Yontem olarak da: Toplamdan hic cift icermeyeni cikartabilirsin.

C(16,4) den neyi çıkarıyoruz? Benim de aklıma geldi ama tam olarak neyi çıkaracağız? 16.14.12.10 olur diye düşündüm ama 26680 oluyor yani permütasyon yapmış oluyorum.

Coraplari $$\boxed{S_1L_1} \ \ \boxed{S_2L_2}\ \  \cdots\ \ \boxed{S_8L_8}$$ olarak yazarsak hic cift olmasini istemiyorsak dort cekmeceden sadece bir corap secmeliyiz, degil mi?

Cevaptaki 720 mi 700 mu?

Evet, yani iki iki ayırırsak 8 parçaya ayrılmış oluyor 4 çorap seçeceğimiz için C(8,4)=70 oluyor ama çok küçük bir değer. Aslında yukarıdaki işlemimde sonuca çok yaklaşmıştım ama bir nedenden dolayı cevap  8 çıkarılmış hali. Neden 8 çıkarmış olabilirler? Ya da yukarıdaki yorumunuzdan doğan başka bir çözüm yöntemi var mıdır?

$2^4$ ile carpman gerekli... Her birinde iki secenek var...

Cevaptaki $720$ degil de, $700$ olmali sanki. Yani $28$ cikartilmis.

Bu da dedigim sebepten: $C(8,2)=28$ fazla saymandan...

Cevap $\frac{700}{1820}$ olmalıydı.Ben bunun python'da sağlamasını yaptım.kod:


import itertools as it


A = [1,9,2,10,3,11,4,12,5,13,6,14,7,15,8,16]


set_E = list(it.combinations(A,4))


set_prob = list()

for i in set_E:

    sayac = 0

    for j in i:

        if j+8 in i or j - 8 in i:

            sayac += 1

        else:

            continue

    sayac /= 2 #iki defa ekliyeceğinden ötürü


    if sayac > 0:

        set_prob.append(i)

        


print(len(set_prob))

print(len(set_E))


A çorapları temsil ediyor.her sayı ile 8 fazlası bir çifti temsil ediyor.set_E evrensel kümeyi ve set_prob ise istenen durumları.en sonda bunları ekrana yazdırıyor.(Bilerek bölmeden gösterdim.Ondalıklı gösterir diye) .

len() fonksiyonu verideki eleman sayısını gösterir. append() fonksiyonu listeye eleman ekler. 


Kodu iyi yazmissin +8 dusuncesi iyi...
j+8 ya da j-8 yerine mod 16 uzerinde de bakilabilir gibi, tabi 16'yi 0'la degisitirsek...

Evet öyle daha verimli bir işlem olur.Daha yüksek sayılarda yüksek verim sağlayacaktır fakat o zamanda sayacı artırmak için dizide sayının mod 8'in kaç tane olduğunu bulacak bir fonksiyona ve  mod 8 sayısının mod 2'sinin(iki tane olursa alacağımızdan) 0 olduğu takdirde set_prob'a eleman eklenecektir.Elbet daha iyi bir ifade vardır.Hatta j-8 'i silip sadece j+8'i bırakırsak ve sayac/2'yi kaldırır isek de sonuç aynı olacaktır. Ama burada küme daha farklı olsaydı şimdi dediğim sıkıntı çıkarabilirdi.Daha genel olması adına böyle yaptım. Ama dediğiniz daha genel ifadeler için daha verimli ve daha havalı olacaktır.

1 cevap

0 beğenilme 0 beğenilmeme
En İyi Cevap

Tum durumlari ayri ayri bulabiliriz: 


Iki tane cift secme durumumuz $$\dbinom 82=28.$$ (Soru sahibi bu kismi iki kere saydigindan $28$ fazla bulmustur).

Hic cift secmeme durumumuz: (ek aciklama icin yorumlara bakabilirsiniz) $$2^4\cdot \dbinom 84=1120.$$

Dolayisiyla tam olarak bir tane cift secilme olasiligi: $$\dbinom{16}{4}-28-1120=672$$ olur.

(25.5k puan) tarafından 
tarafından seçilmiş
20,280 soru
21,813 cevap
73,492 yorum
2,484,449 kullanıcı