Kontrol kodunun 12 basamaklı barkodu kontrol ederken yanılsama oranı

3 beğenilme 0 beğenilmeme
221 kez görüntülendi

12 basamaklı bir barkod numaramız var. Bu barkod numarası tamamen 0'dan oluşamıyor ama bunun dışında her kombinasyondan oluşabilir. Bu barkod numaramızın bir kontrol kodu var. Kontrol kodu, barkod numarasının tüm rakamlarının toplamının, rakamlarının toplamına eşittir. Yani örneğin barkod numarası;

$$abcdefghijkl$$ şeklinde olsun.

$$a+b+c+d+e+f+g+h+i+j+k+l = xy$$ olsun.

$$x+y=z$$ ise kontrol kodumuz $z$'dir.

Eğer $x+y$ iki basamaklı çıkarsa bu sefer çıkan sayının rakamları toplamı $z$'ye eşittir.

Soru: Bu kontrol kodu bizim barkodumuzun doğruluğunu saptamak için kullanıldığına göre kontrol kodunun doğru bilgiyi gösterme olasılığı nedir?

Not: Kontrol kodu 3 olması gerekirken 4 olduysa buradan barkodumuzun yanlış olduğu sonucuna varırız ve bu durumda da kontrol kodu bize doğru bir bilgi göstermiş olur.

15, Aralık, 2016 Akademik Matematik kategorisinde AHOME (20 puan) tarafından  soruldu
15, Aralık, 2016 AHOME tarafından düzenlendi
Hepsi $9$ olursa $108$ olur toplam, yani uc basamakli, bu durumda da bunu $1+0+8$'e dondurecegimizi anliyorum, orada bi iki basamak sinirmis gibi gozukuyor.


Bu islemi surekli tekrarlamaya gerek yok $xy=x+y\mod 9$ oldugundan (genel olarak) en son bulacagimiz sayi $$a+b+c+\cdots+l\mod 9$$ olur.

Peki olasılık ne olur bu durumda. Bu sadece rakamları toplamınını kontrol kodu cinsinden veriyor anladığım kadarıyla.

Edit: Bir de bu durumda rakamların toplamı $9$'un katı çıktığında verilen kontrol kodu $0$ olmakta ama $9$ olması lazım. Kontrol kodu hiçbir durumda $0$ olmamalı.

$0\equiv 9 \mod 9$. Dedigin gibi toplami $\mod 9$ olarak $1,2,\cdots,9$ rakamlarindan birine doner.

Sorunun kalan kismini tam anlayamadim.


Kod $1345$ olsun bunu $4$ olarak cevirir. Eger ben $1245$ girersem $3$ bulur. Demek ki biri $1$ eksik, Bu durumda $2245,1345,1255,1246$ olabilir. Hatta su durumlar da $10$ da ekleyebiliriz. Bu da $\mod 9$'da $4$ verir. $3469$ gibi. 

Bu sekilde bir onekle aciklayabilmen mumkun mudur?

Şu şekilde. Şimdi TC Kimlik numarasını düşünelim. TC Kimlik numarasında en sağdaki hane hariç kalan hanelerin toplamının birler basamağı, en sağdaki haneyi verir. Benim TC Kimlik numaramı sisteme girerken mesela $12345678804$ mesela (TC Kimlik no her zaman çift haneyle biter, o yüzden en son $8804$ ile bitirdim.). Ben herhangi bir siteye TC Kimlik numaramı girerken yanlışlıkla $12345678604$ olarak girdim diyelim ki. Bu durumda rakamları toplamı $42$ yaptığından en sağdaki hanenin $2$ olması gerekirdi ama değil.O zaman bu TC Kimlik numarasında bir hata var demek oluyor. Bir nevi en sağdaki hane kontrol işlevi görüyor.

Şimdi benzer bir mantığı barkod üzerinden düşünelim. $$123456789012-3$$ bizim barkod numaramız olsun. Neden $3$ dedik, çünkü

$$1+2+3+4+5+6+7+8+9+0+1+2=48$$

$$4+8=12$$

$$1+2=3$$

Bu durumda biz barkodu $$123456789012-3$$ olarak değil de $$123456789011-3$$ olarak girersek kontrol kodumuz uyuşmadığından sistem bize girdiğimiz kodun yanlış olduğunu söyleyecek çünkü

$$1+2+3+...+0+1+1=47$$

$$4+7=11$$

$$1+1=2$$

etmesi gerekirdi ama barkod kontrol kodumuz $3$.

Şimdi buraya kadar hiçbir sorun yok. Sorun şurada başlıyor. Benim barkodum $$123456789012-3$$ olması gerekirken eğer ben büyük bir hata yapıp $$123456780012-3$$ girersem ne olur?

Olan sorun şu:

$$1+2+3+4+5+6+7+8+0+0+1+2=39$$ verir.

$$3+9=12$$

$$1+2=3$$

Şu anda sadece $9$ hanesi yerine yanlışlıkla $0$ girdim ve kontrol kodum barkodumun doğru olduğunu söylüyor çünkü yine gelen değer $3$ oldu. Bu durumda kontrol kodum yanlış bilgi veriyor. İşte kontrol kodumun yanlış bilgi verme oranı % kaçtır? Ben bunun çözümü için bir formül çıkardım ama formül yanlış gibi duruyor çünkü $$doğru bilgiyi verme oranı+yanlış bilgiyi verme oranı=1$$ olmuyor. Bulduğum formüle göre kontrol kodunun hata oranı kontrol kodunun $1$ olması durumunda farklı, $2$ olması durumunda farklı... bu şekilde değişmekte. Bu konuda yardım istiyorum. Şimdiden teşekkürler.

urun veya kitap barkotlarinda da benzer yontem kullaniliyor. hepsinin bazi hata veren durumlari var.


https://en.wikipedia.org/wiki/Check_digit

$0\equiv 9 \mod  9$ oldugundan tek girdi hatasi $0\leftrightarrow 9$ ise hata bulunmaz. Yani makinanin hata bulmama oran sadece bu durumda gerceklesebilir. Yani tum $a\leftrightarrow b$'lerden sadece ikisinde hata cikmaz: $0\leftrightarrow 9$ ve $9\leftrightarrow 0$.

Hocam ne demek istediğinizi tam anlayamadım, biraz açıklayabilir misiniz?

Galiba anladım demek istediğinizi fakat şu durum var. İki haneyi de yanlış girebiliriz barkodda. Asıl olay da burada zaten. Barkodun tamamını yanlış da girebiliriz sadece bir haneyle kısıtlı değiliz.

Evet, birkac ust yorumda bunu ogrenmek istemistim. 

Makinanin duzeltmesi nasil mesela?

Ornegin dogrulama kodu $3$ ise ve onumuze baska bir dogrulama kodu $3$ olan gelirse bunun icin olasi tum $3\mod 9$ sayilari olabilir. $(10^{12}-1)/9$ taneden biri sadece bizimkisi.

Hocam makinenin düzeltmesi diye bir durum yok da. Şimdi o zaman kontrol kodumuzun baştan $0$ olamayacağını söylediğimiz için herhangi bir barkod için $9$ farklı kontrol kodu gösterilebilir. Bunlardan $8$ tanesi geldiği takdirde biz barkodda hata olduğunu anlarız. Bunun için $8/9$ ihtimal doğru saptar diyorum. Buna ek olarak kalan $1/9$ yani kontrol kodunun barkod için doğru dediği ama aslında barkodun doğru olmayabileceği durumlar için de kontrol kodunun doğru saptadığı oran $(10^{12}-1)/9$'da $1$ dediniz. Bu iki oranı toplarsam

$$(10^{12}-1)/9=111111111111$$

$$1/111111111111+8/9=0.88888888889788888888889788888889$$ oranında yani yaklaşık $$\%88.88$$ oranında kontrol kodu doğru saptar mi diyoruz?

Evet, ben de boyle dusunuyorum. Fakat $z=9$ durumunda iki katina cikiyor. Yine de sonucu cok etkilemiyor, cunku $$\frac89=\%88.\bar8$$ ve olasilik yaklasik olarak bu.

Pardon, $z=9$ durumunda da ayni sonucta $\mod{}$ olarak bakiyoruz. 

...