Benim sorularım
Soru - 07.03.2010 (Anasayfada yayınlandı.)
40 adet kutunun her birinin içinde 39 kutu,
Bu 39 kutunun her birinin içinde 38 kutu,
Bu 38 kutunun her birinin içinde 37 kutu,
...
Bu 3 kutunun her birinin içinde 2 kutu,
Bu 2 kutunun her birinin içinde 1 kutu bulunmaktadır.
Buna göre toplam kutu sayısı nedir?
Not: Dikkatli düşünün, cevap sandığınızdan çok farklı olabilir.
Yanıt 4 Nisan 2010 tarihinde verilecektir. Sıradaki soru da aynı tarihte yayınlanacaktır.
Ali Eskici tarafından 07.03.2010 tarihinde yayınlandı.
Yanıt
Küçük sayılarla başlayıp genelleştirmeye çalışalım.
Kutu sayısı = 3 için;
Her kutunun içinde 2 kutu, bu 2 kutunun içinde de 1'er kutu var, her 3 nolu kutunun içinde;
2 - 1 ve 2 - 1 = 4 kutu var. Burada sayılar kutuların numaralarıdır. Adetleri de sayıların sayısıdır. Bir kutunun alt kutularını - ile gösteriyorum. Buna göre N = 3 için kutu sayıları;
( 2 - 1 , 2 - 1 ) x 3 + 3 tane de kendileri = 15 adet kutu var.
N = 4 için, her kutu içinde N = 3 için olanlar olacağına göre kutu sayısı;
4 x ( ( 2 - 1 , 2 - 1 ) x 3 + 3 ) + 4 olur.
N'e bağlı olarak bulunan sayıları bir diziye aktarırsak; N=3 için bulunan değere d3 diyelim, N=4 için de bulunan sayı 64'tür ve d4 = 64 olur.
N = 5 için de her 5 nolu kutunun alt kutuları, 4 tane 4'lük olacağı için kutu sayısı;
5 ( 4 x ( ( 2 - 1 , 2 - 1 ) x 3 + 3 ) + 4) + 5 = 325 olur.
Dizin gösterimini uygularsak N=5 için üst satırdaki ifade şöyle yazılabilir:
= 5 ( 4 . d3 + 4) + 5
= 5.d4 + 5 ifadesini genelleştirirsek;
dn+1 = n.dn + n
bulunur. Buna göre; N = 6 için; Kutu sayısı = 6.325 + 6 = 1956 ... iterasyonla N = 40 için sonuç olan kutu sayısı ise:
9.455.729.739.622.441.376
olarak bulunacaktır.
Ben bu sonucu bilgisayarı iterasyon için C# ile programlayarak buldum. Programlama bilmeyorsanız hesap makinesi ile birkaç dakikada hesaplayabilirsiniz.
SORU
Geçen gün (22 Eylül 2001 Cumartesi) sahilde dolaşırken bir otomobilin kavşakta diğer otomobillerin arasında sıkıştığını gördüm. Oldukça uzun uğraşılardan sonra sıkışıklık giderildi. Tabi o zamana kadar her sürücü diğerine edebiyat bilgisini :-) gösterdi. Her sürücü de edebi yeteneğinin değeri ile orantılı olarak alkış topladı (tepki çekti). Bu sahneyi izlerken benim de gözümün önüne içlerinde sayılar olan ve bu sayılar kadar bağlantı yapan kürecikler geldi. Gezimin kalanında temiz havanın tadına varmış bir şekilde eve gittiğimde, kağıt kalemi (kaparcasına) aldım ve büyük olasılıkla matematik dünyasında bu işlerin üzerinden birkaç tur geçilmiş olabilecek olduğunu düşünmeme(me) rağmen bu tür bağlantıların özelliklerini bulmaya çalıştım. Buradaki bağlantıların özelliği şu olmalı: "Kürelerin her biri içindeki sayı kadar bağlantı yapmalı. Bir küreden diğerine bu bağlantılar kullanılarak -gerekirse başka kürelerden de geçilebilir- gidilebilmeli." Bir gruptaki bağlantıların tamam olması gruptaki küreciklerin sayısına bağlıydı. Bağlantıların olasılıkları da küreciklerin sayısına kısmen bağlıydı.(Küre sayısı azaldıkça bağlantı şekillerinin olasılıkları azalır.) Örneğin 3'lü ve 4'lü grupta tüm bağlantılar tamamlanıyordu. Aynı şekilde 7'li ve 11'li grupların bağlantıları da tamamlanıyordu. (Bakınız aşağıdaki şekil.) Dikkatimi bunların asal sayı olması çekti. Çünkü 7'li ve 11'li grupları rasgele seçmiştim. Bu fikrin doğruluğunu kontrol için 5'li grubu da denedim ve bu defa bağlantıların biri açıkta kalmıştı. Demek ki asal sayılarla ilgisi olmayabilirdi. Küreleri çember izdüşümü olarak düşünürsek, 11 çemberli gruptan sonrasını denemek istemedim. Genelleştirmeye çalıştım bunu. Ancak şu ana kadar bir sonuç elde edemedim. Her seferinde çizim yapmak zor olduğu için bu tür bağlantıların tam olduğu durumlarda açık bağlantı kalmaması gerekeceği için en büyük sayılı küreden başlayarak bağlantı sayılarını kontrol eden basit bir yöntem buldum. O da şöyle; Örneğin 4'lü grupta: 4-3=1, 2-1=1, 1-1=0, 5'li grupta; 5-4=1, 3-1=2, 2-1=1. Gördüğünüz gibi 4'lü gruptaki işlemlerin sonucu 0, 5'li grupta +1, oluyor. Sonuç daima ya 0 ya da +1 çıkmalı. Sonuç 0 çıkarsa bu tür gruplarda hiç bir bağlantı açıkta kalmaz. Sonuç +1 ise bağlantı sayısı yukarıda belirtilen iki koşulu aynı anda sağlamaz. Bir örnek daha; 6'lı grup için; 6-5=1 4-1=3 3-3=0 2-1=1. Hesapta dikkat edilmesi gereken her çemberi kullandığımızdan emin olmak ancak işlemi hızlandırmak için sayıları; n (n-1) . . . 2 1 şeklinde yazabiliriz ve her birinin altına yanındakinden başlayarak diğerlerinin bağlantı sayılarını çıkarıp kalan bağlantı sayılarını da diğerlerinden çıkararak devam ederiz. Bu şablonda sonucu kontrol etmek önemli. Koşulların sağlanması değil. Zaten bu işlem, koşulların sağlanabilirliğini önceden test ederek hız kazanmak içindir.
Sorum şu: Bu işlemin genelleştirilmiş algoritması nedir?
 Şekilde bazı bağlantılar üzerindeki sayılar, çoklu bağlantı sayısını, kolaylık amacıyla tekli olarak göstermek içindir.)
İlginç bir günün ürünlerinden biri olan bu sorunun çözümü:
Soruda istenen tüm şartları sağlayan kutu sayıları; 3,4,7,8,11,12,15,16,...,(4n-1),(4m),... şeklindedir. Burada n=1,2,3,... ve m=1,2,3,... olmak üzere iki dizi var: 3,7,11,15,... ve 4,8,12,16,.... Kutu sistemlerinin her birinin toplam bağlantı sayısı da tek sayılı kutular için; 3,14,33,...,n*(4n-1),... ve çift sayılı kutular için; 5,18,39,...,4m*((4m+1)/4),... şeklindedir. Hepsi bu. Bu problemin kullanım alanları ne olabilir bilmiyorum ama kendi yaptığım bazı işlemlerle bazı kimyasal molekülleri inşa ederken kullandım; işe yarıyordu ve Graf (Çizge) Kuramı'yla ilgisine baktım. Belki bilgi ve ağ sistemleri için de ilginç bir şeyler bulunabilir.
SORU
Bilgi iletiminde gizlilik esası üzerine kurulu bir sistem düşünelim. Bir fotoğraf veya resim kullanılacaktır. Fotoğrafın kalitesinin %15'e kadar düşürülmesi mümkündür. Ayrıca verinin yanlış iletilmesi olasılığına karşı doğrulama (sınama) byte'ları da aynı 24bit (16.77 milyon renk) BMP fotoğraf karesi içinde olmalıdır. (İşlenmiş son durumda %100'lük kalite şartıyla format JPG veya GIF olabilir. Sadece bu formatların seçilmiş olmasının nedeni, internet üzerinden de yayın yapabilmektir.) Bu durumda;
-
300 byte verinin gönderilmesinde kullanılması gereken sıkıştırılmamış dosyanın en az büyüklüğü nedir?
- Fotoğraf kalitesinin en az düşüşü ile en fazla sınanabilir veri iletimi için gereken sistem(ler) nasıl olmalıdır?
SORU
Önceki sorudaki şifreli mesaj iletme teknikleri (aynı anda çoklu bilgi iletiminde ikinci katmanın kriptolojik bir yapıya oturtulması) bir müzik eserine de uygulanabilir mi?
Sorularımdan 2. ve 3.'nün cevaplarını bilmekteyim. Bunları otobüsle eve gelirken (17:43 27.11.2001) tasarlamıştım :). Ancak Soru 1'in cevabı için; bu tür sistemlerin pratik kullanım alanlarının neler olabileceğine ilişkin bir bilgim olmadığından ve bu konu ile ilgilenmek zaman alabileceğinden, onun üzerinde çalışmamam nedeniyle aynını söyleyemeyeceğim.
SORU
Düz bir doğrultuda hareket eden otomobile ilk anda dik ve sabit hızda koşmaya başlayan bir köpeğin çizdiği yolun türü ne olur?
By Ali Eskici on Friday, August 18, 2000 - 06:46 am:
Arabaya doğru koşan aynı hızdaki köpek ile ilgili sorunun cevabı şöyle:
Cevap köpeğin ve aracın doğrultularına göre değişir. Bu yüzden farklı cevaplar verilebilir:
1) Köpek ve arabanın doğrultusu aynı ise; köpek bir doğru üzerinde koşar.
2) İkisi birbirine dik açı yapıyorsa köpek bir parabol çizer. Diferansiyel denklemi:
(dy/dx)=k*(ax+b)
Burada hızlar eşit olduğundan k=1 alınabilir.
Denklem çözüldüğünde y değerinin bir parabol eğrisi üzerinde olduğu görülür.
3) Araba ve köpeğin açısı, dik açı ve sıfır dereceli açı arasında ise köpek bir hiperbol çizecektir.
Bunun formülü biraz daha karmaşık olduğundan yazmıyorum.
Not: Cevaplar arasında birinin ters olarak yazıldığını görüyorum. Bu arkadaş kriptolojiye meraklı olabilir. Aynı şekilde bir çok kişi de.. Zihni yoğun çalışmayı gerektiren bu konuda da problemler beklerim. Ihtiyacınız olursa bu konuda sorular gönderebilirim sizlere. Hizmetiniz için teşekkürler. Başarılar dilerim.
--------------------------------------------------------------------------------
By metin on Friday, August 18, 2000 - 07:44 am:
Ali Eskici arkadasim bu diff. denklemi nasil elde ettin anlayamadim.
--------------------------------------------------------------------------------
By lucacen on Friday, August 18, 2000 - 03:21 pm:
ali bey denklem çözme yeteneğine hayran kaldım umarım bizide ufalayıp denklem yapmazsın.herneyse zekı bır ınsansın dogrusunu soylemek gerekırse sorularını beklerız.
--------------------------------------------------------------------------------
By Anonymous on Saturday, August 19, 2000 - 06:28 pm: yakalayamaz
--------------------------------------------------------------------------------
By Ali Eskici on Sunday, August 20, 2000 - 04:55 am:
ARABAYA DOĞRU KOŞAN KÖPEK SORUSUNA VERDİĞİM CEVAP HAKKINDA
Sanırım açıklama yapmam gerekiyor. İkinci ve üçüncü durumu baz alıp işlemleri açıklıyorum.
2. Durum: Ilk anda köpeğin ve arabanın doğrultuları dik ise ise:
Arabanın doğrultusu x eksenine paralel kabul edilirse; köpek ilk anda y doğrultusuna paralel olacaktır. Köpek daima arabaya doğru koşarsa yaptığı hareket y doğrultusunda artan olacaktır.
y=f(x) ise, herhangibir andaki eğim:
y'=f'(x) dir. Iki boyutlu uzayda tek yanlı artan haraketin en fazla bir tane dönüm noktası bulunur. Bu durumda da en fazla bir tane sıfır eğimi vardır. Yani: y'=f'(x)=0 sağlayan bir tane nokta vardır. Köpeğin başlangıç noktasını (x,y)=(0,0) alırsak işlemler kolaylaşır. Bunu yapabiliriz. Bu durumu sağlayan nokta (x,y)=(0,0) ; y'=f'(x)=0 sağlayan noktadır aynı zamanda.
Arabanın doğrultusunu x eksenine paralel yaptığımızdan bu denklemlerin tümü 90 derece dönecektir. Döndürmeyi negatifte yani saat yönünde yapalım. Şimdi yine (x,y)=(0,0) noktası başlangıç noktasıdır. Yani x=0 değerinde köpek ve araba birbirine diktir. Ilk an.
Pratik olarak anlatmak gerekirse. Arabanın durağan olduğunu varsayarsak köpek doğrusal hareket yapacaktı. Böylece y=ax+b köpeğin eğimini ifade edebilirdi. Araba da hareket ettiğinden, ikinci bir denklem hesaba katarız. Birincisi f(x) ikincisi de g(x) olsun. f(x)=ax+b olduğunu az önce gördük. g(x) ise f(x) den doğan ondan bir üst dereceli olması gerektiğinden:
d(g(x))/dx=f(x)
=> d(g(x))=f(x).dx
=> g(x)=int[f(x).dx] (int : belirsiz integral demektir)
=> g(x)=int[(ax+b).dx]
=> g(x)=cx^2+bx
olur.
Bunu alıp y ye eşitleyebiliriz artık. Çünkü hareket denklemi ham olarak tamamlandı.
y=f(x)+g(x)
=> y(x)=(ax+b)+[(ax+b)+(cx^2+bx)]
derecelere göre düzenlenirse:
y(x)=cx^2+(2a+b)x+2b
bulunur. Gördüğümüz gibi bu ikinci dereceden yani bir parabol denklemidir. Tek taraflı dediğimizden de parabolün başlangıç noktası dahil yalnız bir kolu;döndürülmüş halde pozitifte kalan;üst kolu, köpeğin çizdiği yolu gösterir.
3. Durum: Araba ve köpek ilk anda birbirlerine 0-90 derece arasında açı yapıyorlar.
Bu halde arabanın eğimi artık 0 olmayacağından y nin değişimine arabanın eğimi de etki eder. Bu etki y ye çarpım şeklindedir. Formülasyonu şöyledir:
yy'=ax+b
Işlemler:
y.(dy/dx)=ax+b
y.dy=ax.dx+b.dx
y^2=(a/2).x^2+bx
=>y^2-(a/2)x^2=bx
Gördüğümüz gibi bu da bir hiperbol denklemidir.
Denklemlerdeki b: köpeğin başlangıç noktası ile arabaya yetiştiği andaki yeri arasındaki y uzaklığı, a: köpeğin arabaya yetiştiği andaki yeri ile başlangıç noktası arasındaki x uzaklığıdır. Bu değerler, araba-köpek açısı ve hızın bilinmesi halinde bulunabilir.
---------------------------------------------------------------
Istek Üzerine:
Kriptoloji ile ilgili basit bir soru sormak istiyorum. Şimdi zamanım yok bu soruyu pc başında uydurdum ama daha zor ve eğlenceli sorular üretmeye çalışacağım.
Soru:
Temel Bilgi-->
Türk Alfabesi'ndeki her harfe bir kod verin. A=1,...,Z=29 . Büyük küçük harf durumu önemli değil. Tek basamaklı kodlar yazılırken sol tarafa 0 yerleştirilecek. Örneğin B=2 için b yerine alınacak kod 02 olacak.
Kripto-->Anahtar kelime verilir. Anahtar kelime ne çok uzun ne de çok kısa olmalıdır. Bu iki hal de şifrenin anlaşılmasını kolaylaştırır. Bu durum şimdilik bizim için önemsiz.
Anahtar kelime en az iki harften oluşabilir. En fazla uzunluk sınırsız olmaklar beraber, anahtar kelimenin uzunluğu Au, şifrelenecek metnin uzunluğu Mu ise;
max{Au}=Mu+1
olacaktır. Bunun nedeni şudur: Şifrelenecek metnin her karakterinin şifreli kodu, anahtar kelimenin harfleri arasındaki kod farkının toplanması ile bulunur. Örnek:
Şifrelenecek kelime: otomobil
Anahtar kelime: uzay
şifreleme işlemi:
o:18 , t:24 , m:16 , b:02 , i:12 , l:15
u:25 , z:29 , a:01 , y:28
u ile z arasındaki kod farkı: 29-25=-4
bunu o harfinin kod değerine ekleriz: Kod{o}+(-4)=14
Kod{x}=14 => x=k yani "o" harfi "k" harfine dönüştü. Bu şekilde devam edilirken anahtar kelimenin "y" den sonra karşılaştırılacağı harf ilk harf yani "u" olacaktır. Metindeki boşlukların kod değeri 00 olacaktır. Tüm kodlamada metin için 30 luk mod sistemi kullanılacaktır. Böylece örneğin 29+4=33 için 33=3 mod (30) ise 3 kodu "c" harfini gösterir. Örneğimiz şöyle olur:
o => k , t => ç , m => j , b => d , i => m , l => j
Böylece "otomobil" kelimesi "uzay" anahtar kelimesinin şifreli hali şöyle olur:
otomobil => kçkjkdmj
Soru-->
Bu algoritmaya göre, şifrelenmiş bir metnin çözümü nasıl yapılmalı. Deşifre algoritmasını oluşturunuz. Alfabemiz "alfabe" anahtar kelimesine göre şifrelenirse şifreli hali nasıl olur?
Algoritmayı oluştururken kullanılacak ifade ve anlamlar kolaylık ve standardizasyon için şöyle verilebilir:
A: Anahtar kelime veya metin
Au : Anahtar kelime veya metnin uzunluğu
M: Şifrelenmemiş kelime veya metin
Mu: Şifrelenmemiş kelime veya metnin uzunluğu
kod{"a"}: a harfinin kodu
h{x}: Kodu x olan harf
s{M}: Metnin şifreli hali
d{M}: Şifreli metnin deşifresi
A(i): Anahtar kelimenin i. karakteri
M(i): Metnin i. karakteri
ve matematiksel operatörler:
* Sigma yerine: E ve sınırlar şöyle: ilk yazılan alt sınır, ikinci yazılan üst sınır olacak.
Örnek:
[(E,k=1,Mu)(kod{A(k)}+kod{M(k)})]
ifadesi 1'den metnin uzunluğuna kadar, anahtar kelimenin her harfinin kodunun metnin eşleşen harfinin koduna ekleneceğini gösterir. Bilgisayar programı yazanlar bunun yerine for-next döngüsü kullanabilirler. Program anlayabilmem için: QBasic, Visual Basic, C++, Pascal, Delphi, Java dillerinde yazılabilir.
* x=y Mod t : x 'in t moduna göre değeri, y
Anahtar kelime: "Mars" olsun.
Buna göre "Hayat" kelimesinin 3. karakterinin şifresi şöyle alınabilir:
s{"y"}=s{M(3)}=h{kod{M(3)}+(kod{A(4)}-kod{A(1)})}
Algoritmayı her duruma uyarlanabilir yani formülize edilmiş halde olacak şekilde bulunuz.
SORU
Matematiksel programlama sorularım
SORU
Birçok bakımdan ve aynı anda yetkin olabilme gücü üstün olmanın derecesidir. Bu genel kriteri bilgi teorisine uyarlayalım. Sorumuz da şu olsun; aynı anda birçok boyutta ve ilk anda göründüğünden daha çok bilgi içeren bir kodlama sistemi nasıl olmalıdır? [İpucu ve öneri: Bir resim üzerine başka bir resim, ki bu özellikle resme çevrilmiş bir metin olabilir, kodlanabilir ya da hareketli bir görüntü üzerine bir parazit ifadesi verecek şekilde ikinci bir hareketli/hareketsiz görüntü kodlanabilir ya da büyük bir metin üç boyutlu bir matris içerisine yerleştirilip matrisin x,y,z normallerinde çekilen görüntüsü sıkıştırıldıktan sonra bir resim üzerine yerleştirilebilir.]
Bu sayfada yer alan tüm fikir, fotoğraf ve diğer bilgiler benim ürünümdür.
Ali ESKİCİ |