Bomba nerede: Satır ve sütun toplamları verildiğinde olasılık nasıl tahmin edilir?


14

Bu sorudan Pokemon Soulsilver'in mini oyunundan esinlenilmiştir:

Bu 5x6 alanda gizli 15 bomba olduğunu düşünün (EDIT: maksimum 1 bomba / hücre):

toplamları

Şimdi, satır / sütun toplamları göz önüne alındığında, belirli bir alanda bomba bulma olasılığını nasıl tahmin edersiniz?

Sütun 5'e bakarsanız (toplam bomba = 5), o zaman düşünebilirsiniz: Bu sütun içinde 2. sıradaki bir bomba bulma şansı 1. sıradaki birini bulma şansının iki katıdır.

Temel olarak standart bağımsızlık testi operasyonlarının (Chi-Square'de olduğu gibi) yanlış bağlama çekilmesi olarak tarif edilebilecek bu (yanlış) doğrudan orantılılık varsayımı, aşağıdaki tahminlere yol açacaktır:

Ki-Kare

Gördüğünüz gibi, doğrudan orantılılık% 100'ün üzerinde olasılık tahminlerine yol açar ve hatta bundan önce yanlış olur.

Bu nedenle, olası tüm permütasyonların hesaplamalı bir simülasyonunu yaptım ve bu da 276 benzersiz bomba yerleştirme olasılığına yol açtı. (verilen satır ve sütun toplamları)

İşte 276 çözümün ortalaması: Hesaplamalı çözüm

Bu doğru çözümdür, ancak üstel hesaplama çalışması nedeniyle bir tahmin yöntemi bulmak istiyorum.

Sorum şu: Bunu tahmin etmek için belirlenmiş bir istatistiksel yöntem var mı? Bunun bilinen bir sorun olup olmadığını, nasıl çağrıldığını ve önerebileceğiniz kağıtlar / web siteleri olup olmadığını merak ediyordum!


1
Hızlı ve kolay yaklaşım: Daha fazla sayıda satır ve sütun için, toplam olasılık sayısından daha düşük olan olası yapılandırmaların rastgele alt örneğini kontrol edeceğiniz bir Monte Carlo simülasyonu gerçekleştirebilirsiniz. Size yaklaşık bir çözüm sunar.
Tim

1
Hesaplamalı çözümünüzü anlamıyorum. Hücrelerdeki sayılar nedir? Kesinlikle% 100'e kadar eklemiyorlar, PMF değil. Ayrıca CDF'ye benzemiyorlar, sağ / alt hücre% 100 değil
Aksakal

2
@Aksakal Bunlar herhangi bir hücrenin bomba içermesinin marjinal olasılıklarıdır. Rakamlar, tahtadaki toplam bomba sayısı olan 15'e eklenir.
Dougal

2
İki kenar boşluğunun bağımsız olduğunu varsayıyorsanız, kenar boşluklarına bağlı olarak tabloların dağılımından (Patefield algoritması aracılığıyla) örnek almak nispeten kolaydır. Bu, R'nin standart dağılımında uygulanır r2dtable(ve bazı durumlarda chisq.testve fisher.testbazı durumlarda da kullanılır ).
Glen_b

2
@Glen_b Ancak Patefield algoritmasında hücre başına olay sayısı bir ile sınırlı değildir.
Jarle Tufto

Yanıtlar:


4

Çözelti alanı (geçerli bomba konfigürasyonları), verilen derece sırasına sahip iki parçalı grafikler kümesi olarak görülebilir. (Izgara çift taraflılık matrisidir.) Bu alanda tek tip bir dağılım oluşturmak Markov Zinciri Monte Carlo (MCMC) yöntemleri kullanılarak ele alınabilir: her çözüm, bulmaca formülasyonunuzda bir dizi "anahtar" kullanılarak diğerlerinden elde edilebilir. gibi görünmek:

(x--x)(-xx-)

Bunun hızlı karıştırma özelliğine sahip olduğu kanıtlanmıştır. Bu nedenle, geçerli herhangi bir yapılandırmadan başlayarak ve bir süre MCMC'yi çalıştırırken, aradığınız olasılıklar için ortalama olarak puanlayabileceğiniz, çözümler üzerindeki tekdüze dağılımın yaklaşık bir sonucunu bulmalısınız.

Ben sadece bu yaklaşımlara ve onların hesaplama yönlerine aşinayım.

Konuyla ilgili literatüre bir başlangıç:
https://faculty.math.illinois.edu/~mlavrov/seminar/2018-erdos.pdf
https://arxiv.org/pdf/1701.07101.pdf
https: // www. tandfonline.com/doi/abs/10.1198/016214504000001303


Bu inanılmaz bir fikir! Sanırım anladım! Bilinen herhangi bir çözümle (kağıtlarda bulmayı umduğum) belirli miktarda yineleme için karıştırıyorum ve daha sonra benzersiz çözümlere göre ortalama, çoğunun bulunmasını umuyorum. Çok teşekkürler!
KaPy3141

2
MCMC tam olarak gitmek için bir yol ve bunu da buldum: arxiv.org/pdf/1904.03836.pdf
KaPy3141

@ KaPy3141 Yukarıdaki satır ve sütun toplamları için, (arXiv ön baskı inç) dikdörtgen halka algoritması zaman uygulanması sadece ziyaret 276 benzersiz durumları I birçok olarak algoritması çalıştırmak bile yineleme. 106
Jarle Tufto

Bu, @Aksakal tarafından önerildiği gibi numaralandırmanın daha verimli olabileceğini düşündürmektedir.
Jarle Tufto

@JarleTufto, ancak OP sadece 276 benzersiz (geçerli) durum olduğunu söylüyor; hepsini buldunuz!
Ben Reiniger

5

Benzersiz bir çözüm yok

Bazı ek varsayımlar yapmadıkça, gerçek ayrık olasılık dağılımının kurtarılabileceğini düşünmüyorum. Durumunuz temel olarak marjinallerden ortak dağılımı kurtarma sorunudur. Bazen sektörde, örneğin finansal risk yönetimi, ancak genellikle sürekli dağılımlar için kopulalar kullanılarak çözülür .

Varlık, Bağımsız, AS 205

Varlık probleminde , bir hücrede birden fazla bombaya izin verilmez. Yine, özel bağımsızlık durumu için, nispeten etkili bir hesaplama çözümü vardır.

Eğer FORTRAN biliyorsanız, kullanabilirsiniz bu kodu Ian Saunders, Algoritma AS 205: R sayımı Tekrarlanan Sıra Toplamları, Uygulamalı İstatistik, Cilt 33, Sayı 3, 1984, sayfa 340-352 ile C Tabloları x uygular AS 205 Algoritması söyledi. @Glen_B'nin bahsettiği Panefield algo ile ilgilidir.

Bu algo tüm varlık tablolarını numaralandırır, yani bir alanda sadece bir bombanın olduğu tüm olası tablolardan geçer. Ayrıca çokluğu, yani aynı görünen birden çok tabloyu hesaplar ve bazı olasılıkları hesaplar (ilgilendiklerinizi değil). Bu algoritma ile tüm numaralandırmayı daha önce olduğundan daha hızlı çalıştırabilirsiniz.

Varlık, bağımsız değil

AS 205 algoritması, satırların ve sütunların bağımsız olmadığı bir duruma uygulanabilir. Bu durumda, numaralandırma mantığı tarafından oluşturulan her tabloya farklı ağırlıklar uygulamanız gerekir. Ağırlık, bombaların yerleştirilme sürecine bağlı olacaktır.

Sayılar, bağımsızlık

Sayım sorun verir Birden fazla elbette, bir hücreye konur bomba. Bağımsız sıralar ve sayım problemi sütunlarının özel durumu kolaydır: Pbenj=PbenxPj burada Pben ve Pj , satır ve sütunların marjinalleridir. Örneğin, sıra P6=3/15=0.2 ve sütun P3=3/15=0.2 , bu nedenle bir bomba satır 6'da olma olasılığı ve sütun 3,P63=0.04 . Aslında bu dağılımı ilk tablonuzda ürettiniz.

Sayımlar, Bağımsız değil, Ayrık Copulalar

Satır ve sütunların bağımsız olmadığı sayma problemini çözmek için ayrık kopulalar uygulayabiliriz. Sorunları var: benzersiz değiller. Yine de onları işe yaramaz yapmaz. Bu yüzden ayrık kopulaları uygulamayı denerdim. Bunlara Genest, C. ve J. Nešlehová'da (2007) iyi bir genel bakış bulabilirsiniz . Sayma verileri için copulas üzerine bir astar. Astin Bull. 37 (2), 475-515.

Kopulalar genellikle bağımlılığı açıkça indüklemelerine veya veriler mevcut olduğunda verilerden tahmin etmelerine izin verdikleri için özellikle yararlı olabilir. Bombaları yerleştirirken satır ve sütunların bağımlılığını kastediyorum. Örneğin, bombanın ilk sıradan biri olması durumunda, ilk sütundan biri olması daha olasıdır.

Misal

θ

C(u,v)=(u-θ+u-θ-1)-1/θ
θ

Bağımsız

θ=0.000001

resim açıklamasını buraya girin

Sütun 5'te ikinci sıra olasılığının ilk sıradan iki kat daha yüksek olasılığa sahip olduğunu görebilirsiniz. Bu, sorunuzda ima ettiğinizin aksine yanlış değil. Tüm olasılıklar, elbette, panellerdeki marjinaller frekanslarla eşleştiğinde% 100'e kadar ekler. Örneğin, alt paneldeki sütun 5, beklendiği gibi toplam 15'ten 5 bombaya karşılık gelen 1/3 değerini gösterir.

Pozitif korelasyon

θ=10

resim açıklamasını buraya girin

Negatif korelasyon

θ=-0.2

resim açıklamasını buraya girin

Elbette tüm olasılıkların% 100'e kadar çıktığını görebilirsiniz. Ayrıca, bağımlılığın PMF'nin şeklini nasıl etkilediğini görebilirsiniz. Pozitif bağımlılık (korelasyon) için diyagonal üzerinde en yüksek PMF elde edilirken, negatif bağımlılık için diyagonal değildir


Cevabınız ve copulas'a ilginç bağlantılarınız için çok teşekkürler! Ne yazık ki, hiç kopula kullanmadım, bu yüzden hücre başına sadece 1 bomba uygulayan bir çözüm bulmak benim için zor olacak, ama daha iyi bir anlayışa sahip olduktan sonra kesinlikle deneyeceğim!
KaPy3141

@ KaPy3141, sorunu çözmek için kullanabileceğiniz koda referans ekledim. F90'da, ancak Python'a numpy ile dönüştürmek nispeten basit
Aksakal

θθ

Parametreleri işleme uydurmanız gerekir. Eğer oluşturma süreci onunla tutarlıysa sorun saf birleştiricidir.
Aksakal

4

Sorunuz bunu netleştirmiyor, ancak bombaların başlangıçta hücrelerin yerine değiştirilmeden basit rastgele örnekleme yoluyla dağıtıldığını varsayacağım (böylece bir hücre birden fazla bomba içeremez). Ortaya koyduğunuz soru, esasen tam olarak hesaplanabilen (teoride), ancak büyük parametre değerleri için hesaplamaya olanaksız hale gelen bir olasılık dağılımı için bir tahmin yöntemi geliştirilmesini istemektir.


Kesin çözüm var, ancak hesaplama açısından yoğun

nxmb

x=(x1,...,xnm)s=(r1,...,rn,c1,...,cm)S:xs, ayırma vektöründen satır ve sütun toplamlarına eşlenir.

P(x)α1

P(x|s)=P(x,s)P(s)=P(x)ben(S(x)=s)ΣxP(x)ben(S(x)=s)=ben(S(x)=s)Σxben(S(x)=s)=1|Xs|ben(S(x)=s)=U(x|Xs),

Xs{x{0,1}nm|S(x)=s}sx|s~U(Xs). Yani, bombalar için tahsis vektörünün koşullu dağılımı, gözlemlenen satır ve sütun toplamlarıyla uyumlu tüm tahsis vektörleri kümesi üzerinde eşittir. Belirli bir hücrede bir bombanın marjinal olasılığı daha sonra bu eklem dağılımı üzerinde marjinalleştirilerek elde edilebilir:

P(xbenj=1|s)=Σx:xbenj=1U(x|Xs)=|XbenjXs||Xs|.

Xbenj{x{0,1}nm|xbenj=1}benjXs|Xs|=276Xsnmb


İyi tahmin yöntemlerini arama

Xs

Saf ampirik tahminci: Yeşil tablonuzda önerdiğiniz ve kullandığınız tahminci:

P^(xbenj=1|s)=rbenbcjbb=rbencjb.

b


Derinlemesine cevabınız için çok teşekkürler! Aslında, yeşil grafiğimde zaten% 133'e kadar değerler var. Bu sorun için popüler bir yöntem olmadığını bilmek iyidir ve kendini denemek kabul edilebilir! En doğru tahmincim "yeşil" yaklaşıma benzer, ancak bombaları P (sıra) / toplamla (P (satırlar)) * P (c) / toplamla (P (sütunlar)) orantılı olarak ayırmak yerine, hayali P (r) / (1-P (r)) / sum (satırlar) ve daha sonra ürünü geri getirin: P (gerçek) = P (görüntü) / (1 + P (görüntü). Şimdi sanırım, sadece (hafifçe ihlal edilmiş) satır / sütun toplamlarını hesaplamalı olarak
zorlamam gerekiyor

@ KaPy3141, belirli bir bombanın bir hücrede olduğu değeri (1'in üzerinde olma sorunu olmayan) kullanabilir ve daha sonra, sorunu her hücrenin yalnızca 0 veya 1 değerleri (değiştirmeden çizim). Bu size 1'i aşmayan bir olasılık sağlayacaktır.
Sextus Empiricus
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.