<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Matematik Kafası - Teorik Bilgisayar Bilimi için yeni soru ve cevaplar</title>
<link>http://matkafasi.com/qa/teorik-bilgisayar-bilimi</link>
<description>Powered by Question2Answer</description>
<item>
<title>Yapay Zeka ve Türevleri ile ilgili kaynak önerisi.</title>
<link>http://matkafasi.com/141637/yapay-zeka-ve-turevleri-ile-ilgili-kaynak-onerisi</link>
<description>Uzun bir aranın ardından herkese merhaba,umarım herşey yolundadır.&lt;br /&gt;
&lt;br /&gt;
Yapay zeka ve öğrenme tekniklerinin ,matematik kısımlarıyla ilgili kaynaklar arıyorum ,başlık olarak bahsedecek olursak;&lt;br /&gt;
&lt;br /&gt;
Deep Learning,Doğal Dil İşleme (Natural Language Processing - NLP),Reinforcement Learning&lt;br /&gt;
(dahada epey varmış,yapay zekaya sordum :)) )&lt;br /&gt;
&lt;br /&gt;
cevapları beklemedeyim,herkese iyi çalışmalar .</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/141637/yapay-zeka-ve-turevleri-ile-ilgili-kaynak-onerisi</guid>
<pubDate>Sun, 15 Jun 2025 20:35:37 +0000</pubDate>
</item>
<item>
<title>Grafik Kütüphaneleri</title>
<link>http://matkafasi.com/141054/grafik-kutuphaneleri</link>
<description>Herkese Merhaba&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
C programlama dilindeki standart var olan kütüphaneler ile herhangi bir grafik arayüz tasarlamanın mümkün olmadığına dair yazı okudum.Bununla beraber SDL gibi kütüphaneler ile arayüzler tasarlanabilmektedir.&lt;br /&gt;
&lt;br /&gt;
Peki bu kütüphaneler nasıl yazılmıştır,bu tarz bir içerik üretmek için hangi tür bilgiye veya işletim sisteminin hangi kısımlarına erişmek gerekir ? yoksa daha mı derin ?.</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/141054/grafik-kutuphaneleri</guid>
<pubDate>Fri, 19 Jul 2024 08:52:37 +0000</pubDate>
</item>
<item>
<title>En küçük pisagor üçlüsü</title>
<link>http://matkafasi.com/139807/en-kucuk-pisagor-uclusu</link>
<description>Q(n), a &amp;lt; b &amp;lt; c olmak üzere tam olarak n Pisagor üçlüsünde (a,b,c) oluşan en küçük sayı olarak tanımlanıyor.&lt;br /&gt;
&lt;br /&gt;
Orneğin, 15, tam olarak 5 pisagor üclüsünde meydana gelen en küçük sayidir.&lt;br /&gt;
&lt;br /&gt;
(9,12,15), (8,15,17), (15,20,25), (15,36,39), (15,112,113), yani Q(5) = 15 olur.&lt;br /&gt;
&lt;br /&gt;
Ayrıca Q(10) = 48 ve Q(10^3) = 8064000 olarak veriliyor.&lt;br /&gt;
&lt;br /&gt;
k=1 den 18 e kadar Q(10^k) değerini hesaplayın(Cevabınızı 409120391 modunda verin.)</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/139807/en-kucuk-pisagor-uclusu</guid>
<pubDate>Sat, 13 May 2023 06:15:23 +0000</pubDate>
</item>
<item>
<title>Cevaplandı: $\sqrt[n]{a_1a_2\ldots a_n}=(a_1+a_2+\cdots+a_n)-n$ eşitliği</title>
<link>http://matkafasi.com/137129/sqrt-n-a1a2-ldots-an-a1-a2-cdots-an-n-esitligi?show=137138#a137138</link>
<description>&lt;p&gt;Mathematica ile soyle yapilabilir. Onceleikle&amp;nbsp; 4 ile 10 arasindakie sayilarin n. kuvvetlerini alalim ve bunlar icinde de n basamakli olanlari secelim. &lt;strong&gt;range&lt;/strong&gt; ve &lt;strong&gt;list&lt;/strong&gt; bunu yapar.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;pre&gt;
&lt;code&gt;range = Range[4, 10]^n; list = Pick[range, IntegerLength /@ range, n];&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;$a_1a_2\ldots a_n-(a_1+a_2+\cdots+a_n)-n)^n=0$ olanlar bizim aradiklarimiz.&lt;/p&gt;

&lt;pre&gt;
&lt;code&gt;Pick[list, list - (Total /@ IntegerDigits /@ list - n)^n, 0]&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Bunu verir.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Her bir n icin donguyle hesaplariz..&lt;/p&gt;

&lt;pre&gt;
&lt;code&gt;Table[range = Range[4, 10]^n; list = Pick[range, IntegerLength /@ range, n];
 Pick[list, list - (Total /@ IntegerDigits /@ list - n)^n, 0], {n,2,22}]&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;{{25, 64}, {125, 216,&amp;nbsp; 343}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}}&lt;/p&gt;
&lt;/blockquote&gt;</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/137129/sqrt-n-a1a2-ldots-an-a1-a2-cdots-an-n-esitligi?show=137138#a137138</guid>
<pubDate>Thu, 13 Jan 2022 03:20:36 +0000</pubDate>
</item>
<item>
<title>genelleştirilmiş öklid algoritması ile $Z_n$ de ters bulma algoritması</title>
<link>http://matkafasi.com/135749/genellestirilmis-oklid-algoritmasi-zn-bulma-algoritmasi</link>
<description>Genelleştirilmiş öklid algoritması pc de nasıl kodlanır</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/135749/genellestirilmis-oklid-algoritmasi-zn-bulma-algoritmasi</guid>
<pubDate>Thu, 03 Jun 2021 06:51:43 +0000</pubDate>
</item>
<item>
<title>Cevaplandı: Matiyasevich Teoremi ve Pogramlamanın Doğası</title>
<link>http://matkafasi.com/131346/matiyasevich-teoremi-ve-pogramlamanin-dogasi?show=135350#a135350</link>
<description>&lt;p&gt;Hilbert&amp;#39;in sunduğu problemlerin tam listesi (23 tane) $1902$ de&amp;nbsp;&amp;nbsp;Bulletin of the American Mathematical Society&amp;#39;de yayınlanmıştır.&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;http://matkafasi.com/?qa=blob&amp;amp;qa_blobid=6878879030774872249&quot; style=&quot;height:180px; width:600px&quot;&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. Problem - Bir Diyofant Denkleminin Çözülebilirliğinin Belirlenmesi:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Herhangi bir sayıda bilinmeyen büyüklük ve rasyonel sayı&amp;nbsp;katsayıları olan bir Diyofant&amp;nbsp;denklemi verildiğinde: denklemin rasyonel sayılarda çözülebilir olup olmadığının sınırlı sayıda işlemle belirlenebileceği bir işlemler dizisi (algoritma) tasarlamak.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Sorunun ne dediğiyle ilgili biraz açıklama verebiliriz: Örneğin&lt;/p&gt;

&lt;p&gt;$\bullet$ $a,b,c$ tam sayılar ve $x, y$ tam sayı bilinmeyenler olmak üzere $ax+by=c$ denkleminden $x, y$&amp;nbsp;değerlerini bulmamızı sağlayacak, $x, y$ tam sayıları yoksa da olmadığını söyleyebilecek bir yöntem (varsa) bulunuz. İki değişkenli lineer Diyofant denklemi olup nasıl çözeceğimizi iyi biliyoruz.&lt;/p&gt;

&lt;p&gt;$\bullet$&amp;nbsp;$a,b,c, \dots, n$ tam sayılar ve $x, y, z$ tam sayı bilinmeyenler olmak üzere $ax^2+by^2 + cz^2 +dxy+eyz+fzx + kx +ly +mz +n&amp;nbsp;=0$ denkleminden $x, y, z$&amp;nbsp;değerlerini bulmamızı sağlayacak, $x, y, z$ tam sayıları yoksa da olmadığını söyleyebilecek bir yöntem (varsa) bulunuz. $a=b=1$, $c=-1$, $d=e= \cdots = n=0$ durumunda $x^2 + y^2 = z^2$ denklemi olup Pisagor üçlülerini nasıl bulacağımızı&amp;nbsp;iyi biliyoruz. $x,y,z$ den biri $0$ iken çözümleri bulmak da&amp;nbsp;basittir. Fakat $a, b, \dots $ katsayıları keyfi değişirken nasıl çözüm üretebileceğim ile ilgili bildiğim bir yöntem&amp;nbsp;yok.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;$\bullet$ Yöntemimiz $x^3 + y^3 + z^3 = a&amp;nbsp;$ denklemini de $a$ tam sayısının alacağı değerlere göre çözebilmelidir. Bunun için de genel bir çözüm yöntemim yoktur.&lt;/p&gt;

&lt;p&gt;$\vdots$&lt;/p&gt;

&lt;p&gt;$\bullet$ Bulacağımız yöntem $a_1x^ny^mz^k + a_2x^{n-1}y^mz^k + \cdots + b_1x + b_2y + b_3z +c =0$&amp;nbsp; türündeki bir denklemi de tam sayılarda (veya rasyonel sayılarda) çözebilecek olmalıdır. Problem artık anlaşıldı sanıyorum. Matiyasevich, böyle bir genel yöntem olmadığını kanıtlamıştır.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Görüldüğü gibi bazı özel durumları ifade eden çözüm yöntemleri (algoritmalar) bulunmuştur. İnsan zekasıyla çözüm yöntemi bulduktan sonra bunu bilgisayar diliyle, kodlarla ifade etmek zor olmasa gerek. Hatta yöntemi bulsak bile, kağıt kalemle bu yöntemimizi uygulamak pek pratik olmayabilir. Örneğin sonlu adım olarak $1.000.000.000$ adım uygulamamız gerekiyorsa bunu bir insan ömrü içinde kontrol etmek mümkün olmayacaktır. Hilbert buna da razı, sonlu adımda problemi çözecek yöntem (varsa)&amp;nbsp;bu yeterlidir, diyor. $1900$&amp;#39;de bilgisayar yoktu, bu sebeple &lt;strong&gt;problemin özünde binary (ikilik) sistem kullanıp kullanmama ile ilgili bir kısıtlama&amp;nbsp;yoktur&lt;/strong&gt;. Günümüzde, algotirmamızı yazıp işlemleri bilgisayarlara biraz daha hızlıca yaptırabiliyorsak bu da kabul ediliyor ve problemi çözmüş sayılıyoruz.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;#39;&amp;#39;&lt;strong&gt;Biz çözmesini biliyoruz&amp;nbsp;ama bilgisayar çözemiyor&lt;/strong&gt;&amp;#39;&amp;#39; gibi bir durum yoktur.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Not: &lt;/strong&gt;Hilbert&amp;#39;in $1902$ de tamamı yaynlanan $23$ problemlik listesinin orijinal yaynına&amp;nbsp;&lt;a rel=&quot;nofollow&quot; href=&quot;https://web.archive.org/web/20151002195917/http://www.ams.org/journals/bull/1902-08-10/S0002-9904-1902-00920-8/S0002-9904-1902-00920-8.pdf&quot;&gt;BURADAN&lt;/a&gt;&amp;nbsp;ulaşabilirsiniz.&lt;/p&gt;</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/131346/matiyasevich-teoremi-ve-pogramlamanin-dogasi?show=135350#a135350</guid>
<pubDate>Sun, 02 May 2021 20:57:05 +0000</pubDate>
</item>
<item>
<title>Simülasyon programları.</title>
<link>http://matkafasi.com/135278/simulasyon-programlari</link>
<description>Mathlab simulink,solidworks proteus vs.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Bu tarz simülasyon programları için ihtiyacımız olan programlama ve matematik seviyesi nedir.&lt;br /&gt;
&lt;br /&gt;
veya bir programlama tekniği var mıdır ?&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
**soruş şeklime bakınca,sanki biliyomuşumda sizi sınıyormuşumsu gibi olmuş.yok efendim bilmiyorum</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/135278/simulasyon-programlari</guid>
<pubDate>Fri, 30 Apr 2021 01:25:47 +0000</pubDate>
</item>
<item>
<title>Olasılığı kanıtla</title>
<link>http://matkafasi.com/135155/olasiligi-kanitla</link>
<description>Zarlar üstünde olasılık kavramı var mı?</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/135155/olasiligi-kanitla</guid>
<pubDate>Sat, 24 Apr 2021 20:05:15 +0000</pubDate>
</item>
<item>
<title>Cevaplandı: Curry - Howard - Lambek ilişkisi nedir?</title>
<link>http://matkafasi.com/129097/curry-howard-lambek-iliskisi-nedir?show=134114#a134114</link>
<description>&lt;p&gt;Curry - Howard - Lambek -De Bruijn iliskisi kisaca sunu demektedir: Her sezgisel mantikta her ispatlanabilir onermeye karsilik, tipli-lambda kalkulde (simply typed lambda calculus) bir tip vardir (sanirim Lambek bunun kartezyen kapali kategorilerle bir baglantisini kuruyor ama emin degilim )&lt;/p&gt;

&lt;p&gt;asagida bazi ornekler verdim&lt;/p&gt;

&lt;table border=&quot;1&quot; cellpadding=&quot;1&quot; style=&quot;height:113px; width:557px&quot;&gt;
	&lt;thead&gt;
		&lt;tr&gt;
			&lt;th scope=&quot;col&quot; style=&quot;height:20px&quot;&gt;Manitksal ifade&lt;/th&gt;
			&lt;th scope=&quot;col&quot; style=&quot;height:20px&quot;&gt;Programlama karsiligi&lt;/th&gt;
			&lt;th scope=&quot;col&quot; style=&quot;height:20px&quot;&gt;Aciklama&lt;/th&gt;
		&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;$A \land B$&lt;/td&gt;
			&lt;td&gt;$A \times B$ carpma tipi&lt;/td&gt;
			&lt;td&gt;$A \land B$ yi ispatlamak icin bir tane $A$ tipinde obje ve bir tane de $B$ tipinde obje gosterebilmeliyim. Fonksyonel dilllerde iki tipi yada ifadeyi carpma tipi ile birbirini baglayabilirsiniz. sag ve sol projeksyonlarla orjinal objeleri geri kazanabilirsiniz&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;$A \lor B$&lt;/td&gt;
			&lt;td&gt;$A + B$ toplama tipi&lt;/td&gt;
			&lt;td&gt;
			&lt;p&gt;$A \lor B$ yi ispatlamak icin bir tane $A$ tipinde obje veya bir tane de $B$ tipinde obje gosterebilmeliyim. Bunu Programlama dillerinde toplama tipleri ile yapiyoruz. C biliyorsaniz &lt;code&gt;tagged union&lt;/code&gt; lari dusunebilirsiniz.&lt;/p&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;$A \rightarrow B$&lt;/td&gt;
			&lt;td&gt;$A\rightarrow B$ tipinde total bir fonksiyon&lt;/td&gt;
			&lt;td&gt;$A\rightarrow B$ yi ispatlamak icin, Her $A$ tipindeki objeyi $B$ tipindeki objeye donusturen bir sey lazim. Fonksiyon tipleri!&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;$\neg A$&lt;/td&gt;
			&lt;td&gt;$A \rightarrow \epsilon$ $epsilon$ burada bos tipi ifade ediyor&lt;/td&gt;
			&lt;td&gt;Programiniz coktu , yada sonsuz donguye girdi ve bir sey uretmiyor :(&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td colspan=&quot;3&quot; style=&quot;width:547px&quot;&gt;&amp;nbsp;&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td&gt;$\forall _{ a \in A} X(a)$&lt;/td&gt;
			&lt;td&gt;$\prod_{a:A}X(a)$ tipinde bir fonksiyon&lt;/td&gt;
			&lt;td&gt;bagimli tipler ile alakali (dependent types)&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;
			&lt;td style=&quot;height:1px&quot;&gt;$\exists _ { a \in A} : X(a)$&lt;/td&gt;
			&lt;td style=&quot;height:1px&quot;&gt;$\sum_{a:A}X(a)$ tipinde bir fonskiyon&lt;/td&gt;
			&lt;td style=&quot;height:1px&quot;&gt;bagimli tipler ile alakali (dependent types)&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Evet ispat denetleyecileri/arayacilari/asistanlari bu iliski sayesinde varolabiliyorlar. Bir iki tane ispat asistani ornek vermek gerekirse: &lt;code&gt;Agda&lt;/code&gt; &lt;code&gt;Coq&lt;/code&gt; &lt;code&gt;Lean&lt;/code&gt; &lt;code&gt;Idris&lt;/code&gt; &lt;code&gt;Mizar&lt;/code&gt; &lt;code&gt;Isabelle&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Bildigim kadari ile Lean kullanilarak Ingilterede bir universitede undergrad calculusun cogunu formalize ettiler ve kontrol ettiler. Internette aradim ama bulamadim fakat &lt;a rel=&quot;nofollow&quot; href=&quot;https://xenaproject.wordpress.com/&quot;&gt;Project Xena&lt;/a&gt; adinda bir proje buldum. Ogrenmek icin ilginc olabilir.&lt;/p&gt;

&lt;p&gt;Bundan sonrasi tarih (ne kadar dogru ne kadar yanlis bilemiyorum referans vermeden hatirladiklarimi yazacagim isimler mekanlar ve olarlar karisik olabilir):&lt;/p&gt;

&lt;p&gt;Hilbert matematigi otomatize etmek istiyor ve tutarliligini gostermek istiyor bir de mumkunse matematikcileri isinden etmek istiyor. Tabii ogrencilerine bunu odev olarak veriyor. Ogrencilerinden biri, Gentzen (ogrencisi olmayabilir ama o siralarda Gottingende [azicik dedikodu olacak ama nazi maalesef Gentzen]) bir tumdengelim semasi buluyor. Bu daha sonra onemli olacak. Bir digeri ise amerikali Haskell Curry. Curry kombinatorik mantik uzerine calisiyor.&lt;/p&gt;

&lt;p&gt;Godel Hilbertin girisiminin mumkun olmadigini gosteriyor. Eger matematigi otomatize edecek kadar guclu bir dilimiz varsa o dilin paradoksal ifadelere yolacagini soyluyor.&lt;/p&gt;

&lt;p&gt;Bu sirada Ingilterede hesaplamayi modellemek icin buyuk bir ugras var. Babbage ve Lord Byron in kizi Ada lovelace bir yuzyil oncesinde mekanik bilgisayarlar tasarlamislar oradan gelen bir gelenektir belki de. Alanso Church, lambda kalkulu gelistiriyor icin.,ogrencisi&amp;nbsp; Alan Turing ise Turing makinalarini gelistiriyor hesaplamayi matematiksel olarak modellemek icin. Godelin ispatina analog bir ispat geliyor Alan Turingden. (futbol maci anlatiyor gibi hissettim).&lt;/p&gt;

&lt;p&gt;Turing verilen bir turing makinasinin durup durmayacagini soylemenin imkansiz oldugunu soyluyor. Bu arada gosteriyor ki lambda kalkul ve turing makinalari denk. [lambda kalkul daha bir programlama diline benziyor, turing makinalari ise gercekten makina gibi bilgisayara yakinlar].&lt;/p&gt;

&lt;p&gt;Godel her ne kadar Churchin ve Turingin modelini begenmese de, Church yontemlerin denk oldugunu gosteriyor (en azindan Godelin incompleteness theoreminden daha zayif bir ifadeyi turing makinalarinin durmayacagini gostererek gosterebiliyoruz ).&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Alanso Church lambda kalkulde yazilan bir ifadenin durup durmayacagini bilememekten cok rahatsiz. Bu yuzden tipli-lambda kalkunu gelistiriyor. Bu dil turing complete degil. Yani durup durmayacagini soyleyebiliyoruz.&lt;/p&gt;

&lt;p&gt;Bu sirada Curry farkediyor ki, kombinatorlerin tipleri sezgisel mantiktaki aksyom semalarina benziyor. Daha sonra farkediyor ki Hilbertin gelistirdigi ispat semalari kendi gelistirdigi kombinatorik mantigin hesaplama modelinin bazi kisimlari ile ortusuyor.&lt;/p&gt;

&lt;p&gt;Butun bunlardan sonra Howard farkediyor ki Gentzenin tumdengelim semasi ile tipli-lambda-kalkulun hesaplama modeli ortusuyor. Bu sirada De-Bruijn Automath adi verdigi dilde mantiksel onermeleri tipli lambda kalkulde gosteriyor.&lt;/p&gt;

&lt;p&gt;Atladigim ama bahsetmeye deger diger isimler,Kleene, Per Martin-Löf , Vovodsky.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/129097/curry-howard-lambek-iliskisi-nedir?show=134114#a134114</guid>
<pubDate>Sun, 31 Jan 2021 05:43:12 +0000</pubDate>
</item>
<item>
<title>Bolme Algoritmasi</title>
<link>http://matkafasi.com/131329/bolme-algoritmasi</link>
<description>$b$ tabaninda yazilmis iki sayiyi birbirine bolen verimli bir algoritma tarif edin.</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/131329/bolme-algoritmasi</guid>
<pubDate>Sun, 05 Jul 2020 17:48:58 +0000</pubDate>
</item>
<item>
<title>Cevaplandı: Hizli Fourier Donusumu algoritmasi nasil calisir?</title>
<link>http://matkafasi.com/130756/hizli-fourier-donusumu-algoritmasi-nasil-calisir?show=131326#a131326</link>
<description>&lt;p&gt;Hizli Fourier Donusumu algoritmasi Ayrik Fourier Donusumunu $O(n^2)$ den hizli hesaplamak icin kullanilan tum algoritmalarin genel adiymis. Bilgisiyar biliminde acik sorulardan bir tanesi bu donusumu $O(n\log{n})$ den hizli yapabilirmiyiz imis.&lt;/p&gt;

&lt;p&gt;Ben Cooley-Tukey algoritmasindan bahsedecegim. Ilginc bir anektod olarak bu algoritmayi Cooley ve Tukeyden 160 sene kadar once Gauss&amp;nbsp; astreoidlerin yorungesini hesaplamak icin bulmus/kullanmis.&lt;/p&gt;

&lt;p&gt;$N$ uzunlugundaki $x_n$ dizisinin Ayrik Fourier Transformasyonu su sekilde veriliyor:&lt;/p&gt;

&lt;p&gt;$k \in [0, N-1] \quad X_k = \sum_{n=0}^{N-1}x_n e^{-\frac{2\pi i}{N}nk} $&lt;/p&gt;

&lt;p&gt;$X_k$ yi baska bir sekilde ifade edelim.&lt;/p&gt;

&lt;p&gt;$X_k = \sum_{m=0}^{\frac{N}{2}-1}x_{2m} e^{-\frac{2\pi i}{N}2mk} + \sum_{m=0}^{\frac{N}{2}-1}x_{2m+1} e^{-\frac{2\pi i}{N}(2m+1)k}$&lt;/p&gt;

&lt;p&gt;$X_k = \sum_{m=0}^{\frac{N}{2}-1}x_{2m} e^{-\frac{2\pi i}{N/2}mk} + e^{-\frac{2\pi i}{N}k}\sum_{m=0}^{\frac{N}{2}-1}x_{2m+1} e^{-\frac{2\pi i}{N/2}mk}$&lt;/p&gt;

&lt;p&gt;Dikkatli bakarsaniz toplamanin sagi $x_{2k}$ dizisinin , toplamanin sol tarafi $x_{2k+1}$ dizisinin Ayrik Fourier Donusumu.&lt;/p&gt;

&lt;p&gt;$e^{i\cdot} $ nin periyodikliginden yararlanip gosterebiliriz ki&lt;/p&gt;

&lt;p&gt;$X_k = \sum_{m=0}^{\frac{N}{2}-1}x_{2m} e^{-\frac{2\pi i}{N/2}mk} + e^{-\frac{2\pi i}{N}k}\sum_{m=0}^{\frac{N}{2}-1}x_{2m+1} e^{-\frac{2\pi i}{N/2}mk}$&lt;/p&gt;

&lt;p&gt;$X_{k+\frac{N}{2}} = \sum_{m=0}^{\frac{N}{2}-1}x_{2m} e^{-\frac{2\pi i}{N/2}mk} - e^{-\frac{2\pi i}{N}k}\sum_{m=0}^{\frac{N}{2}-1}x_{2m+1} e^{-\frac{2\pi i}{N/2}mk}$&lt;/p&gt;

&lt;p&gt;Bu sekilde ozyinelemeli olarak yazarsak yapacagimiz islem sayisi $O(n^2)$ den $O(n\log{n})$ duser.&lt;/p&gt;

&lt;p&gt;Python da yazarsak&lt;/p&gt;

&lt;pre&gt;
&lt;code class=&quot;language-python&quot;&gt;def hizli_fourier(x):
    N = len(x)
    if(N &amp;lt;=1):
       return x
    cift = hizli_fourier(x[0::2])
    tek = hizli_fourier(x[1::2])
    T= [ exp(-2j*pi*k/N)*tek[k] for k in range(N//2) ]
    sol = [ cift[k] + T[k] for k in range(N//2)] 
    sag =  [cift[k] - T[k] for k in range(N//2)]
    return sol+sag&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Duzenleme :&lt;/p&gt;

&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://matkafasi.com/9350/kuvvetleri-nasil-hesaplanir-buyuk-sayilar-nasil-carpilir?show=9350#q9350&quot;&gt;Su soruyu&lt;/a&gt; da inceleyebilirsiniz. Verilen cevap matematiksel olarak daha temiz.&lt;/p&gt;</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/130756/hizli-fourier-donusumu-algoritmasi-nasil-calisir?show=131326#a131326</guid>
<pubDate>Sun, 05 Jul 2020 17:29:12 +0000</pubDate>
</item>
<item>
<title>Cevaplandı: Ortak Bilgi (Mutual Information) nedir?</title>
<link>http://matkafasi.com/130760/ortak-bilgi-mutual-information-nedir?show=131163#a131163</link>
<description>Shannon entropisi için, iki rastgele değişken $X$ ve $Y$ alırsak&lt;br /&gt;
&lt;br /&gt;
$$I(X:Y)=H(X)-H(X|Y)=H(Y)-H(Y|X)=H(X)+H(Y)-H(X,Y)$$&lt;br /&gt;
&lt;br /&gt;
bu iki değişkenin ortak bilgisi oluyor.&lt;br /&gt;
Kolmogorov karmaşıklığı için de iki sözcük $x$ ve $y$ alırsak $I(x:y)$ birkaç farklı tanımdan biri olabilir, hepsi diğerlerinin $O(\log n)$ eksik veya fazlası ($n$ burda $x$ ve $y$'den uzun olanın boyu) : $C(x)-C(x|y)$, $C(y)-C(y|x)$, $C(x)+C(y)-C(x,y)$&lt;br /&gt;
&lt;br /&gt;
Her ikisi için de arka plandaki sezgi ikisinin içerdikleri bilgilerin ne kadarının aynı olduğu, ama tabi bu o ortak bilgiyi çekip çıkarmamızı sağlayacak bir rastgele değişken veya sözcük olduğu anlamına gelmiyor.&lt;br /&gt;
&lt;br /&gt;
Bu arada $H(X|Y)=\sum_{x\in\mathcal{X},y\in\mathcal{Y}}p(Y=y)H(X|Y=y)$ yani $\sum_{y\in\mathcal{Y}}p(Y=y)\sum_{x\in\mathcal{X}}p(X=x|Y=y)log\frac1{p(X=x|Y=y)}$,&lt;br /&gt;
&lt;br /&gt;
ve $C(x|y)$ de girdi olarak $y$ verildiğinde çıktı olarak $x$ veren en kısa programın boyu.</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/130760/ortak-bilgi-mutual-information-nedir?show=131163#a131163</guid>
<pubDate>Mon, 29 Jun 2020 20:20:28 +0000</pubDate>
</item>
<item>
<title>Cevaplandı: Birinci mertebeden mantik icin bir grammer veriniz.</title>
<link>http://matkafasi.com/128465/birinci-mertebeden-mantik-icin-bir-grammer-veriniz?show=130817#a130817</link>
<description>$ \begin{align} &amp;nbsp;\text{Formul} \quad :&amp;amp; \quad\text{BasitFormul} \quad \\ |&amp;amp; \quad \lnot \text{Formul} \\ |&amp;amp;\quad \text{Formul} \quad \text{Baglac} \quad \text{Formul} &amp;nbsp;\\ |&amp;amp; \quad \text{Niceleyici} \quad \text{Degisken} \quad \text{Formul}\\ &amp;amp; \\ \text{BasitFormul} :&amp;amp; \quad \text{Oncul}(\text{TerimListesi}) \\ &amp;amp; \\ \text{Terim} :&amp;amp; \quad \text{Fonksiyon}(\text{TerimListesi}) \\ |&amp;amp;\quad \text{Sabit} \\ |&amp;amp; \quad \text{Degisken}\\ &amp;amp; \\ \text{TerimListesi}:&amp;amp; \quad \text{Terim} \\ |&amp;amp; \quad \text{Terim , TerimListesi} \\&amp;amp;\\\text{Baglac} :&amp;amp; \quad \land \\ |&amp;amp; \quad \lor \\|&amp;amp; \quad \Leftrightarrow \\ |&amp;amp; \quad \Rightarrow \\ &amp;amp; \\ \text{Niceleyici} :&amp;amp; \quad \forall \\ |&amp;amp; \quad \exists \\&amp;amp;\\ \text{Sabit} :&amp;amp; \quad \text{degisken oncul yada fonksiyon olarak kullanilmayan her sozcuk} \\&amp;amp;\\ \text{Degisken} :&amp;amp; \quad \text{sabit oncul yada fonksiyon olarak kullanilmayan her sozcuk} \\&amp;amp;\\ \text{Oncul} :&amp;amp; \quad \text{degisken sabit yada fonksiyon olarak kullanilmayan her sozcuk} \\&amp;amp;\\ \text{Fonksiyon} :&amp;amp; \quad \text{degisken sabit yada oncul olarak kullanilmayan her sozcuk}\end{align}$</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/128465/birinci-mertebeden-mantik-icin-bir-grammer-veriniz?show=130817#a130817</guid>
<pubDate>Mon, 22 Jun 2020 23:29:57 +0000</pubDate>
</item>
<item>
<title>Bilgisayar Biliminde Shannon Entropisi nedir?</title>
<link>http://matkafasi.com/130759/bilgisayar-biliminde-shannon-entropisi-nedir</link>
<description>Shannon entropisi nedir ? Fizikteki Boltzmann entropisi ve Gibbs entropisi ile baglantisi nedir? Kuantum sistemlerinde bir analogu var midir ?</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/130759/bilgisayar-biliminde-shannon-entropisi-nedir</guid>
<pubDate>Mon, 22 Jun 2020 03:46:07 +0000</pubDate>
</item>
<item>
<title>Cevaplandı: Bilgi (information content) nedir?</title>
<link>http://matkafasi.com/130647/bilgi-information-content-nedir?show=130754#a130754</link>
<description>&lt;p&gt;kerem.altun hocam cok guzel bir sekilde altta yatan sezgiyi vermis. Ben de Claude E. Shannon in verdigi tanimi vermek istiyorum.&lt;br&gt;
Shannon &amp;quot;Bilgi&amp;quot; nin saglamasi gereken uc tane belit veriyor:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Olmasi kesin olan olay bilgi katmaz.&lt;/li&gt;
	&lt;li&gt;Bir olayin olma olasiligi ne kadar dusukse kattigi bilgi o kadar fazladir.&lt;/li&gt;
	&lt;li&gt;Eger iki bagimsiz olay ayrik bir sekilde olcumlendiyse toplam bilgi olaylarin bilgilerinin toplamidir&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bu kriterlere uyan bir $I(\cdot)$ fonksiyonu bulalim.&lt;/p&gt;

&lt;p&gt;$I$ fonksiyonun $o_n$ olayinin olma olasiliginin bir fonksiyonu oldugu acik.&lt;br&gt;
$I(o_n) = f(P(o_n))$&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
$P(o_n) = 1 \iff I(o_n) = 0$&lt;/p&gt;

&lt;p&gt;$P(o_n) &amp;lt; 1 \iff I(o_n) &amp;gt; 0$&lt;/p&gt;

&lt;p&gt;$A$ ile $B$ bagimsiz ise&lt;/p&gt;

&lt;p&gt;$I(A\cap B) = I(A) + I(B)$ ve $P(A\cap B) = P(A) * P(B)$&lt;/p&gt;

&lt;p&gt;yani bize bir sekilde carpmayi toplamaya ceviren bir fonksiyon lazim. $\log$ isimizi gormeli.&lt;/p&gt;

&lt;p&gt;$I(o_n) = K\log P(o_n)$.&lt;/p&gt;

&lt;p&gt;Bilginin pozitif oldugunu hesaba katip $K=-1$ alirsak bilginin tanimini vermis oluruz.&lt;/p&gt;

&lt;p&gt;Sectigimiz logaritmanin tabanina gore bilginin birimi degisik adlar aliyor. Eger tabani $2$ secerseniz birim &lt;code&gt;bit&lt;/code&gt;, dogal tabani severseniz &lt;code&gt;nat&lt;/code&gt;, $10$ tabanini secerseniz &lt;code&gt;hartley&lt;/code&gt; yada &lt;code&gt;dit&lt;/code&gt; adlarini aliyor&lt;/p&gt;</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/130647/bilgi-information-content-nedir?show=130754#a130754</guid>
<pubDate>Mon, 22 Jun 2020 02:09:34 +0000</pubDate>
</item>
<item>
<title>Cevaplandı: Meyil Yonunde Dusus algoritmasi nasil calisir?</title>
<link>http://matkafasi.com/128044/meyil-yonunde-dusus-algoritmasi-nasil-calisir?show=130750#a130750</link>
<description>&lt;p&gt;&amp;quot;Eğim iniş&amp;quot; algoritması olarak da bilinen bu yöntem, bir $f$ fonksiyonunun&amp;nbsp;minimum değerini bulmak amacıyla kullanılır. Ama her zaman bu amaca erişemezsiniz, bulduğunuz minimum yerel minimum da olabilir. Başka numaralar yapmayıp sadece saf haliyle eğim iniş algoritmasını kullanıyorsanız, bulduğunuz yerel minimumun aynı zamanda&amp;nbsp;global minimum olması için dua etmekten başka yapacak birşeyiniz yok malesef. Algoritmayı açıklamaya çalışayım.&lt;/p&gt;

&lt;p&gt;Öncelikle kolaylık olsun diye tek değişkenli fonksiyon alalım, $f(x)$ olsun. Bunu minimum yapan $x$ değerini bulmak istiyoruz.&lt;/p&gt;

&lt;p&gt;Fonksiyonun kapalı formunu biliyorsak kolay. Türevini alıp sıfıra eşitlersiniz ve yerel maksimum ya da minimum noktalarını bulursunuz. Sonra gerekirse ikinci türev alırsınız, bu $x$ değeri için ikinci türev negatifse maksimum, pozitifse minimum nokta olduğuna karar verirsiniz.&lt;/p&gt;

&lt;p&gt;Çoğu uygulamada fonksiyonun kapalı formu bilinmez, ya da türevini almak için çok karmaşıktır. O zaman şöyle basit bir yöntem uygularsınız: rastgele bir $x_0$ noktası alırsınız ve bu noktada $f&amp;#39;(x_0)$ değerini hesaplarsınız. Bu değer pozitifse, fonksiyon $x_0$ noktası civarında artıyor demektir, negatifse azalıyor demektir. Artıyorsa, yerel minimum nokta soldadır(!), azalıyorsa sağdadır(!).&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Yani diyelim fonksiyon artıyor; $f&amp;#39;(x_0)&amp;gt;0$. O zaman&amp;nbsp;$x_0$&amp;#39;ı azıcık azaltırsak, minimuma daha yakın bir nokta buluruz. Eğer fonksiyon azalıyorsa, $x_0$&amp;#39;ı azıcık artırırsak, minimuma daha yaklaşırız. O zaman şöyle bir tanım yapalım:&lt;/p&gt;

&lt;p&gt;$$x_1=x_0-\alpha f&amp;#39;(x_0)$$&lt;/p&gt;

&lt;p&gt;Burada $\alpha&amp;gt;0$ küçük(!) bir sayı. Dikkat ederseniz,&amp;nbsp;$f&amp;#39;(x_0)&amp;gt;0$ ise $x_1$ değeri, $x_0$&amp;#39;dan azıcık küçük;&amp;nbsp;$f&amp;#39;(x_0)&amp;lt;0$ ise $x_1$ değeri, $x_0$&amp;#39;dan azıcık büyük. Yani tam da istediğimiz gibi, $x_1$, minimum noktaya $x_0$&amp;#39;dan daha yakın.&lt;/p&gt;

&lt;p&gt;Eee madem öyle o zaman aynı şeyi $x_1$ için de yapalım:&lt;/p&gt;

&lt;p&gt;$$x_2=x_1-\alpha f&amp;#39;(x_1)$$&lt;/p&gt;

&lt;p&gt;Ve böyle devam edelim:&lt;/p&gt;

&lt;p&gt;$$x_{i+1}=x_i-\alpha f&amp;#39;(x_i)$$&lt;/p&gt;

&lt;p&gt;Burada $x_i$ değerleri yerel minimuma yaklaştıkça $f&amp;#39;(x_i)$ değerleri sıfıra yaklaşır, yani&amp;nbsp;$x_{i+1}$ ile&amp;nbsp;$x_i$ arasındaki fark giderek azalır. Beğendiğiniz bir yerde durabilirsiniz, yerel minimumu yaklaşık olarak bulmuş olursunuz.&lt;/p&gt;

&lt;p&gt;Elbette ki burada en önemli parametreler, $x_0$ ve $\alpha$. Bunları biz kafamıza göre seçiyoruz. Ve seçtiğimiz değerlere göre farklı sonuçlar elde edebiliriz. Mesela $\alpha$&amp;#39;yı çok küçük seçerseniz, yerel minimuma yavaş yavaş yaklaşırsınız, bulmanız baya uzun sürebilir. Ama eğer çok büyük seçerseniz, bu sefer de yerel minimumu kaçırabilirsiniz, etrafında dönüp durursunuz.&lt;/p&gt;

&lt;p&gt;Bu yöntem üzerine daha birçok şey söylenebilir ama şimdilik burada durup çok değişkenli fonksiyonlardan bahsedelim.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Çok değişkenli fonksiyonlar&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;$f$, $n$ değişkenli bir fonksiyon olsun. Yani, $f=f(x_1,x_2,\ldots,x_n)$ olsun. Bunu minimum yapan $(x_1,x_2,\ldots,x_n)$ değerlerini bulmak istiyoruz. Yazım kolaylığı olsun diye, buna ${\bf x}$ vektörü diyelim ve $n$ boyutlu uzayda bir nokta gibi görelim. Aynı zamanda bunu sütun vektörü olarak göreceğiz, ve $f$&amp;#39;yi de vektör fonksiyonu gibi düşüneceğiz, $f=f({\bf x})$ ve&amp;nbsp;${\bf x}=[x_1\ \ x_2\ \ \ldots \ \ x_n]^T$.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Fonksiyonun kapalı formu biliniyorsa kolay. Türevini (yani gradyanını) alıp sıfıra (yani sıfır vektörüne) eşitlersiniz ve $n$ bilinmeyenli $n$ denklemi çözerek yerel minimum adayı noktayı ya da noktaları bulursunuz. Sonra &lt;a rel=&quot;nofollow&quot; href=&quot;https://en.wikipedia.org/wiki/Hessian_matrix&quot;&gt;Hessian&lt;/a&gt; matrisini yazarsınız, &lt;a rel=&quot;nofollow&quot; href=&quot;https://en.wikipedia.org/wiki/Definite_symmetric_matrix&quot;&gt;pozitif tanımlı&lt;/a&gt; ise yerel minimum noktadır. Ama gördüğümüz gibi, bunlar uzun iş. Eğim iniş ile yaklaşık çözüm bulalım.&lt;/p&gt;

&lt;p&gt;Tek değişkenli fonksiyonlarda yaptığımızın neredeyse aynısını yapacağız. Öncelikle rastgele bir ${\bf x}_0$ noktası alalım. $f$ fonksiyonunun gradyanını bulup yerine&amp;nbsp;${\bf x}_0$ değerlerini yazdığınızda elde ettiğiniz vektör, size $f$&amp;#39;nin en hızlı arttığı yönü verir. Bu vektörü $\nabla&amp;nbsp;f({\bf x}_0)$ ile gösterelim.&amp;nbsp;Bu vektörün tersi yön de $f$&amp;#39;nin&amp;nbsp;en hızlı azaldığı yönü verir. Yani bizim&amp;nbsp;${\bf x}_0$ noktasını,&amp;nbsp;$-\nabla&amp;nbsp;f({\bf x}_0)$ yönünde azıcık hareket ettirirsek, minimum noktaya yaklaşmış oluruz. O zaman tek değişkenli fonksiyonlarda yaptığımızın aynısını yapalım:&lt;/p&gt;

&lt;p&gt;$${\bf x}_1={\bf x}_0-\alpha&amp;nbsp;\nabla&amp;nbsp;f({\bf x}_0)$$&lt;/p&gt;

&lt;p&gt;Bunun bir vektör denklemi olduğuna dikkat edin. Elbette burada da $\alpha&amp;gt;0$ küçük bir skaler sayı. Daha genel olarak yazarsak:&lt;/p&gt;

&lt;p&gt;$${\bf x}_{i+1}={\bf x}_i-\alpha&amp;nbsp;\nabla&amp;nbsp;f({\bf x}_i)$$&lt;/p&gt;

&lt;p&gt;Burada da ${\bf x}_i$ değerleri yerel minimuma yaklaşır. Elbette $\alpha$ ve ${\bf x}_0$ seçimi ile ilgili yukarıda söylediklerim&amp;nbsp;yine geçerli.&lt;/p&gt;

&lt;p&gt;Bu algoritma üzerine de çok şey söylenebilir ama burada duralım.&lt;/p&gt;</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/128044/meyil-yonunde-dusus-algoritmasi-nasil-calisir?show=130750#a130750</guid>
<pubDate>Sun, 21 Jun 2020 21:06:54 +0000</pubDate>
</item>
<item>
<title>Lambda Kalkul nedir?</title>
<link>http://matkafasi.com/128579/lambda-kalkul-nedir</link>
<description>Lambda kalkulu nedir? Turing makinalari ile bagi nedir ?</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/128579/lambda-kalkul-nedir</guid>
<pubDate>Fri, 29 May 2020 15:12:49 +0000</pubDate>
</item>
<item>
<title>Cirkin Ordek Teoremi nedir?</title>
<link>http://matkafasi.com/128040/cirkin-ordek-teoremi-nedir</link>
<description>Ugly Duckling Teoremi nedir? Siniflandirmayla (classification) baglantisi nedir ?</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/128040/cirkin-ordek-teoremi-nedir</guid>
<pubDate>Sun, 24 May 2020 19:31:00 +0000</pubDate>
</item>
<item>
<title>Cevaplandı: Kolmogorov Karmasikligi ispati ?</title>
<link>http://matkafasi.com/118051/kolmogorov-karmasikligi-ispati?show=127417#a127417</link>
<description>Sonat Süer'in şu yazısına bakabilirsiniz: &lt;a href=&quot;https://sonatsuer.github.io/kolmogorov-complexity-1.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://sonatsuer.github.io/kolmogorov-complexity-1.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Verilen bir 0,1-dizesinin Kolmogorov karmaşıklığını hesaplayan bir algoritma $A:x \to C(x)$ &amp;nbsp;olduğunu varsayalım.&lt;br /&gt;
Bu algoritma ile bir dizenin boyu ile karmaşıklığını etkin olarak karşılaştırabiliriz. $|x| \leq C(x)$ ise kısaca $x$'e sıkıştırılamaz diyelim.&lt;br /&gt;
Dolayısıyla doğal sayılardan ikilik dizelere şu kısmi fonksiyonu hesaplayan bir algoritma oluşturabiliriz: $B: n \to \text{ &amp;quot;sıkıştırılamaz n uzunluğundaki ilk dize&amp;quot; }$ (ilk derken dizeleri leksikografik sıraya göre düşünebiliriz: 0, 1; 00, 01, 10, 11 vb.)&lt;br /&gt;
&lt;br /&gt;
Şimdi bu fonksiyonun/algoritmanın girdi boyu log n, yani çıktının karmaşıklığı en fazla log n olabilir (eklenecek O(1)'leri ihmal ediyorum). Oysa çıktının boyu n ve tanım gereği çıktı sıkıştırılamaz. Fonksiyonun hiçbir n için tanımlı olmaması da mümkün değil çünkü tüm dizeler sıkıştırılabilir olamaz, sonsuz tane sıkıştırılamaz dize olmalı (bu cümlenin ispatını bildiğinizi veya sezgisel olarak açık olduğunu varsayıyorum). Çelişki! Demek baştaki varsayımımız yanlışmış. Kolmogorov karmaşıklığını hesaplayan bir algoritma olamazmış.&lt;br /&gt;
&lt;br /&gt;
Biçimsel bir kanıt için sabitleri (O(1)) eklemek gerekiyor, ancak teknik bir zorluk yok çünkü n zaten log n'e asemtotik olarak üstün.</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/118051/kolmogorov-karmasikligi-ispati?show=127417#a127417</guid>
<pubDate>Sun, 17 May 2020 12:43:31 +0000</pubDate>
</item>
<item>
<title>Cevaplandı: Bilgisayar bilimcileri neden kalkulus dersleri alıyorlar? Bu dersler ne ise yarar?</title>
<link>http://matkafasi.com/99829/bilgisayar-bilimcileri-kalkulus-dersleri-aliyorlar-dersler?show=127391#a127391</link>
<description>Veri bilimi için konuşacak olursam, öğrenme algoritmalarının büyük kısmında bir optimizasyon sorusu çözmek gerekir. Optimizasyon işinin temelinde de kalkülüs yatar.</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/99829/bilgisayar-bilimcileri-kalkulus-dersleri-aliyorlar-dersler?show=127391#a127391</guid>
<pubDate>Sun, 17 May 2020 07:14:38 +0000</pubDate>
</item>
<item>
<title>Cevaplandı: &quot;Perceptron&quot; nedir?</title>
<link>http://matkafasi.com/111517/perceptron-nedir?show=127390#a127390</link>
<description>&lt;p&gt;Perceptron (Türkçe&amp;#39;sini bilmiyorum), insan beynindeki nöronlardan esinlenmiş bir hesap modelidir. 1950&amp;#39;lerin sonlarında denetimli öğrenme problemlerinde kullanılmak üzere geliştirilmiştir.&lt;/p&gt;

&lt;p&gt;Girdi değişkenleri $x=(x_1, \dots, x_n$) olan bir perceptronda her bir değişkenin bir ağırlığı vardır, genelde $w=(w_1, \dots, w_n)$ olarak gösterilir. Bunlara ek olarak bir de eşik değer (treshold) olur, $t$ diyelim. Perceptron önce $$w_1x_1 + w_2x_2 + \cdots w_nx_n - t$$ sayısını hesaplar. Bunu vektör iç çarpımıyla $$w \cdot x - t$$ olarak da gösterebiliriz. Sonra bir aktivasyon fonksiyonu kullanarak çıktıyı oluşturur. Bu aktivasyon fonksiyonu için pek çok seçenek vardır, klasik aktivasyon fonksiyonu olarak ikili adım fonksiyonu kullanılır: $$A(x) =&amp;nbsp;\begin{cases} x\leq 0 \text{ ise } 0 \\ x &amp;gt; 0 \text{ ise } 1 \end{cases}$$&lt;/p&gt;

&lt;p&gt;Kısacası eğer&amp;nbsp;$$w_1x_1 + w_2x_2 + \cdots w_nx_n - t$$ sıfırdan büyükse perceptronun çıktısı $1$ olur, değilse $0$. Bu model aşağıdaki gibi görselleştirilir.&lt;/p&gt;

&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;http://matkafasi.com/?qa=blob&amp;amp;qa_blobid=7166148494843477718&quot; style=&quot;height:166px; width:304px&quot;&gt;&lt;/p&gt;</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/111517/perceptron-nedir?show=127390#a127390</guid>
<pubDate>Sun, 17 May 2020 06:58:12 +0000</pubDate>
</item>
<item>
<title>Sayı Ayrıştırma Algoritması (The Number of Partitions Algorithm) adımlarını açıklar mısınız?</title>
<link>http://matkafasi.com/126607/ayristirma-algoritmasi-partitions-algorithm-adimlarini</link>
<description>&lt;p&gt;
	 &lt;code&gt;nrparts:= function(n)&lt;br&gt;local np;&lt;br&gt;np:= function(n, m)&lt;br&gt;local i, res;&lt;br&gt;if n = 0 then&lt;br&gt;return 1;&lt;br&gt;fi;&lt;br&gt;res:= 0;&lt;br&gt;for i in [1..Minimum(n,m)] do&lt;br&gt;res:= res + np(n-i, i);&lt;br&gt;od;&lt;br&gt;return res;&lt;br&gt;end;&lt;br&gt;return np(n,n);&lt;br&gt;end;
&lt;br&gt;nrparts(15);&lt;br&gt;176 &lt;br&gt;&lt;/code&gt; 
&lt;/p&gt;
 
&lt;p&gt;
	 $p(n)$ n tamsayının ayrışım sayısı olmak üzere $GAP$ kullanılarak yazılan $p(15)$ için $176$'yıveren $Sayı $ $ Bölümlemesi(Number \ of \ partitions / Partition \ Integers)$ algoritmasının çalışma aşamalarını açıklamak istiyoruz.  
&lt;/p&gt;
 
&lt;p&gt;
	 $n = 1$           $yol: 1$        $sayı: 1$ 
&lt;/p&gt;
 
&lt;p&gt;
	 $n = 2$           $yol: 1+1$  $ve$ $2$    $sayı: 2$ 
&lt;/p&gt;
 
&lt;p&gt;
	 $n= 3$            $yol: 1 + 2$ $ve$ $1 + 1 + 1$ $ve$ $3$    $sayı: 3$ 
&lt;/p&gt;
 
&lt;p&gt;
	 $n = 4$           $yol: 1 + 2 + 1$ $ve$ $1 + 1 + 1 + 1$ $ve$ $2 + 2 + 1$ $ve$ $1 + 3$ ve $4$      $sayı: 5$ 
&lt;/p&gt;
 
&lt;p&gt;
	 ....... 
&lt;/p&gt;
 
&lt;p&gt;
	 $1 \ 2 \ 3\ 5 \ 7\ 11 \ 15\ 22\ 30 ... 176 ... $ bu sayede ayrışımları gerçekleştiriyoruz.  
&lt;/p&gt;
 
&lt;p&gt;
	 O halde yazılan algoritmanın adımlarını $p(15) = 176$ için açıklamada yardımcı olur musunuz? 
&lt;/p&gt;
 
&lt;p&gt;$m$ değerinin ne olduğunu anlasam devamını getireceğim ama karar veremiyorum. 
&lt;/p&gt;</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/126607/ayristirma-algoritmasi-partitions-algorithm-adimlarini</guid>
<pubDate>Wed, 29 Apr 2020 16:23:05 +0000</pubDate>
</item>
<item>
<title>Trigonometri İspat [Sorusu]</title>
<link>http://matkafasi.com/122669/trigonometri-ispat-sorusu</link>
<description>Sin2a=2.Sina.Cosa formülünün ispatı nedir ?</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/122669/trigonometri-ispat-sorusu</guid>
<pubDate>Sun, 10 Nov 2019 20:14:09 +0000</pubDate>
</item>
<item>
<title>Cevaplandı: Açgözlü algoritma nedir?</title>
<link>http://matkafasi.com/111527/acgozlu-algoritma-nedir?show=119963#a119963</link>
<description>&lt;p&gt;Tarihin geç olmasına karşın yeni görenler için hızlı bir cevap&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
	Açgözlü algoritma 
&lt;/p&gt;
&lt;p&gt;
	iteratif bir algoritmanın her iterasyonda en iyi sonucu seçerek devam etmesidir.
&lt;/p&gt;
&lt;p&gt;örnek bir ağaç üzerindeki en büyük elemanı BFS ile aradığınızı düşünün
&lt;/p&gt;
&lt;p&gt;
	&lt;/p&gt;&lt;p class=&quot;&quot; style=&quot;&quot;&gt;
		&lt;/p&gt;&lt;p class=&quot;&quot; style=&quot;&quot;&gt;
			&lt;span style=&quot;font-family: monospace; white-space: pre; background-color: rgb(238, 238, 238);&quot;&gt;&lt;/span&gt;
		&lt;/p&gt;
		&lt;p class=&quot;&quot; style=&quot;&quot;&gt;
			&lt;code&gt;- 45&lt;br&gt;
-  -├13&lt;br&gt;
- -│ ├28&lt;br&gt;
- -│ `34&lt;br&gt;
- -`25&lt;br&gt;-  - ├1&lt;br&gt;
-  - `2&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
		&lt;/p&gt;
	

&lt;div class=&quot;sceditor-nlf&quot;&gt;
	Eğer bu ağacı greedy yaklaşımı ile ararsanız sonuç 2 çıkacaktır.
&lt;/div&gt;
&lt;div class=&quot;sceditor-nlf&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	çünkü greedy önce roottan başlayacak
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	45
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	sonra rootun çocukları arasından en büyüğü seçecek
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	25
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	en sonunda da onun çocukları arasından en büyüğünü seçecektir
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	2
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	ve sonuç bariz şekilde hatalı çıkacaktır.
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	ki buna da greedy algoritmaların lokal maximuma/minimuma takılması denir.
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	greedy sezgisel bir yaklaşımdır ve ancak veri setiniz tamamını arayamayacağınız büyüklükteyse hızlı sonuç almak için kullanılabilecek diğer sezgisellerden biridir. Ancak oldukça ilkeldir bilinmelidir mecbur değilseniz veya gerçekten faydalı olduğu bir nokta göremezseniz uygulanması iyi sonuç vermez 
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	birde eğer veri setiniz sıralıysa tabiki uygulamanız çok iyi sonuç verecektir.
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;&lt;br&gt;
&lt;/div&gt;</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/111527/acgozlu-algoritma-nedir?show=119963#a119963</guid>
<pubDate>Mon, 15 Apr 2019 12:05:30 +0000</pubDate>
</item>
<item>
<title>Cevaplandı: Sonlu Otomat Nedir?</title>
<link>http://matkafasi.com/111520/sonlu-otomat-nedir?show=119430#a119430</link>
<description>&lt;p&gt;
	Şu anda kullandığımız bilgisayarlarla ilişkisi nedir?
&lt;/p&gt;
&lt;p&gt;
	sorusunu yanıtlamaya çalışayım. Bunun için önce işlem ve işlem ünitelerini anlamak gerek
&lt;/p&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	\(2+2\) işlemini ele alalım bu işlem bir işlem ünitesi gözünden \(toplama(x,y)=x+y\)  olmak üzere; \(toplama(2,2)\) şeklinde değerlendirilir yani input sayısı sınırlıdır aynı şekilde output sayısıda yani \(2+2+2\) işlemi bu işlem ünitesi ile çözülemez bu sorunu aşmanın 2 yolu vardır.
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;ol&gt;
		&lt;li&gt;
			işlem ünitesini arttırmak (daha fazla işlemci):&lt;br&gt;&lt;br&gt;\(toplama_1(x,y)=x+y\),&lt;br&gt;\(toplama_2(x,y)=x+y\) olmak üzere&lt;br&gt;  &lt;br&gt;\(toplama_1(2,toplama_2(2,2))\) &lt;br&gt;&lt;br&gt;$\mathcal{0}(1)$ zaman karmaşıklığı (Big O notation)(problemi tek adımda çözdük demek)&lt;br&gt;&lt;br&gt;
		&lt;/li&gt;
		&lt;li&gt;
			işlemi parçalamak tarihsel kayıt tutarak aynı üniteyi kullanmak (daha fazla hafıza):&lt;br&gt;&lt;br&gt;\(toplama(x,y)=x+y\),&lt;br&gt;\(:= işlemi \) \( f(x,y)=\) \(“y\) \(x\) \(olmak\) \( üzere”\) olmak üzere&lt;br&gt;(C dilinde “=” (atama operatörü) ve “==” (eşitlik kontrolcüsü) arasındaki fark)&lt;br&gt;&lt;br&gt;\(sonuc := toplama(2,2)\),&lt;br&gt;\(sonuc := toplama(2,sonuc)\)&lt;br&gt;&lt;br&gt;$\mathcal{0}(n)$ zaman karmaşıklığı (problemi \(n \pm c(sabit)\) adımda çözdük demek)
		&lt;/li&gt;
		
			
		
	&lt;/ol&gt;
	&lt;div&gt;
		Peki sorarsanız bu adam ne anlatıyor bütün bunların sonlu otomata ile ne alakası var?
	&lt;/div&gt;
	&lt;div&gt;
		sonlu otomatada alfabeniz ile işlem yapar stateler ile de hafızada tuttuğunuzu düşünürseniz
	&lt;/div&gt;
	&lt;div&gt;
		&lt;p class=&quot;&quot; style=&quot;&quot;&gt;
			&lt;/p&gt;&lt;p style=&quot;&quot; class=&quot;&quot;&gt;
				işlem uzayınıza 10 tabanında sayılar derseniz ve sisteme 5 adet 10 tabanında sayı tutabilen hafıza elemanı eklerseniz
			&lt;/p&gt;
		
	&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;sceditor-nlf&quot;&gt;
	hafızanız duruma göre;
&lt;/div&gt;
&lt;div class=&quot;sceditor-nlf&quot;&gt;
	00000  -&amp;gt; boş
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	00001
&lt;/div&gt;
&lt;div class=&quot;sceditor-nlf&quot;&gt;
	00005
&lt;/div&gt;
&lt;div class=&quot;sceditor-nlf&quot;&gt;
	00304
&lt;/div&gt;
&lt;div class=&quot;sceditor-nlf&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;
&lt;div class=&quot;sceditor-nlf&quot;&gt;
	gibi olabileceğini hayal ederseniz ortaya 99999 anlamlı 1 adet boş state çıkar
&lt;/div&gt;
&lt;div class=&quot;sceditor-nlf&quot;&gt;
	başlangıç durumunuzu \(0\) olarak düşünün
&lt;/div&gt;
&lt;div class=&quot;sceditor-nlf&quot;&gt;
	alfabeniz ise &lt;br&gt;\(+0,+1,+2,+3,+4,+5,+6,+7,+8,+9\)
&lt;/div&gt;
&lt;div class=&quot;sceditor-nlf&quot;&gt;
	her state ise final hali olursa
&lt;/div&gt;
&lt;div class=&quot;sceditor-nlf&quot;&gt;
	state geçişlerini ise işlem sonucuna göre ayarlarsanız
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	toplama fonksiyonunu elde etmiş olursunuz
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	otomatamız örneğin \(“1+3+2+9+3+6+0”\) ifadesini güzelce kabul eder ve sonlandığı state de sonuç olur.
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	\(-1,-2,-3,-4,-5,-6,-7,-8,-9\) alfabemize bunları da eklersek ve gerekli düzenlemeleri yaparsak ortaya basit bir hesap makinesi bile çıkar&lt;br&gt;bu arada otomata çizimlerine aldanıp fiziksel nodelarınızın olması gerektiğini düşünmeyin sonlu sayıda durumunuzu nasıl tutacağınız size kalmış 
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	buradan da şu sonuca ulaşabiliriz günümüz bilgisarları sonlu otomatlardır
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	Neden?
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	Ram üzerinde sadece sonlu sayıda durum tutabilirsiniz çünkü. bu kadar net
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	günümüz bilgisayarları turing machine değil miydi?
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	ne yazık ki
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	Neden?
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	Turing machine Alan Turing tarafından tüm hesaplama işlemlerini kapsamak üzere tasarlanmış
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;elde olan işlem ünitelerine ve &lt;span style=&quot;font-weight: bold; font-style: italic; text-decoration: underline;&quot;&gt;SONSUZ&lt;/span&gt; sayıda hafıza elemanına sahip &lt;span style=&quot;font-weight: bold; font-style: italic; text-decoration: underline;&quot;&gt;FARAZİ&lt;/span&gt; bir düşünsel makinadır. 
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	Amacı düşünsel süreci kolaylaştırmak ve sonlu otomatların engellerine takılmadan düşünebilmektir
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	günümüz bilgisayarları devasa hafıza ünitelerine sahip bir insanın kolaylıkla turing machine gibi algılayabileceği sonlu otomatlardır ama ne yazık ki 32 GB Ram i olan bir makine ile boyutu 32 GB olan 2 sayıyı toplayamazsınız bu fiziksel engel 128 GB Ram i olan makineler için geçerli olmayacaktır bu da bilgisayarlara neden turing machine gibi davranıyor olma sebebimiz bilgisayarlara Eventually(önünde sonunda) Turing Machine de denilebilir :)
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	bu arada turing complete olanlar bilgisayarlar değil dillerdir çünkü diller ifade biçimleridir örneğin günümüzde 1024 TB lık Rame sahip bir makinede çalışacak bir program yazılabilir yada daha fazla ama günümüz makineleri bunları çalıştıramaz gelecekte belki
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	sonsuz rame sahip bir bilgisayar turing machinedir sanılanın aksine günümüz bilgisayarları turing machineden daha gelişmiş değildir
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	Turing machine: hesaplanabilir her problemi çözer. (Zaman probleme göre değişir) 
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	Bilgisayar: kapasitesi yeten hesaplanabilir her problemi çözer.(Zaman probleme göre değişir)
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;strong&gt;yani özetle günümüz bilgisayarları turing machine gibi davranılan turing machine'e en yakın şeylerdir ama özlerinde aşırı gelişmiş birer sonlu otomattırlar bu biraz asla gerçek bir kare çizemeyecek olduğunuz gerçeği gibidir kare mükemmel bir soyutlamadır sizin çizdiğiniz hiç bir şekil kare gibi olamayacaktır ama masa yapan bir marangoz yine de kare için geçerli işlemleri kendi mükemmel olmayan masasına uygular bizde elimizdeki aşırı gelişmiş sonlu otomatlarımıza mükemmel turing machine gibi davranıyoruz çünkü aralarındaki fark bizim için ihmal edilebilir&lt;/strong&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;br class=&quot;Apple-interchange-newline&quot;&gt;Düzeltme: Ram olarak yazdığım bölümlerde kastım bilgisayarın sahip olduğu bütün hafıza elemanları Harddisk Network gibi hafıza eklemeleri ile dahi sonlu bir uzayda matematik icra edersiniz.&lt;br&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;
&lt;div style=&quot;&quot; class=&quot;&quot;&gt;
	&lt;br&gt;
&lt;/div&gt;</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/111520/sonlu-otomat-nedir?show=119430#a119430</guid>
<pubDate>Wed, 13 Mar 2019 10:59:08 +0000</pubDate>
</item>
<item>
<title>Knapsack Problem ve Greedy Approach hakkında bilgisi olan var mı?</title>
<link>http://matkafasi.com/117247/knapsack-problem-greedy-approach-hakkinda-bilgisi-olan-var</link>
<description>&lt;p&gt;
	sırt çantası problemi / torba problemi / açgözlü yaklaşımı&lt;br&gt;
&lt;/p&gt;</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/117247/knapsack-problem-greedy-approach-hakkinda-bilgisi-olan-var</guid>
<pubDate>Sun, 11 Nov 2018 15:12:50 +0000</pubDate>
</item>
<item>
<title>Cevaplandı: 1 den 50 ye kadar olan tam sayıları öyle 2 gruba ayırın ki gruplardaki sayıların karekökleri toplamı birbirine en yakın büyüklükte olsun?</title>
<link>http://matkafasi.com/114345/gruplardaki-sayilarin-karekokleri-birbirine-buyuklukte?show=114763#a114763</link>
<description>&lt;p&gt;
	 Mathematica ile (Rastgele Arama yontemi ) ben su  ikiliyi buldum. Bundan daha kucuk ikili bulmak mumkun. 
&lt;/p&gt;
 
&lt;p&gt;
	 Daha hizli versiyon ile da kucuk fark buldum..
&lt;/p&gt;
&lt;p&gt;
	&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;3. deneme:&lt;/strong&gt;&lt;br&gt; 
&lt;/p&gt;
 
&lt;p&gt;
	 &lt;code&gt;list = Table[Partition[RandomSample[Range@50], 25], 20000000];&lt;br&gt;&lt;br&gt;list2 = Abs[(Total[Sqrt[N@#1] - Sqrt[N@#2]]) &amp;amp; @@@ list];&lt;br&gt;&lt;br&gt;&lt;br&gt;min = Min@list2 // DecimalForm&lt;br&gt;&lt;br&gt;0.000000471679&lt;br&gt;&lt;br&gt; Sort /@ Extract[list, First@Ordering[list2, 1]]&lt;br&gt;{{3, 5, 7, 8, 9, 12, 13, 16, 18, 19, 22, 23, 24, 25, 28, 29, 35, 36, &lt;br&gt;  39, 40, 41, 42, 43, 44, 46}, {1, 2, 4, 6, 10, 11, 14, 15, 17, 20, &lt;br&gt;  21, 26, 27, 30, 31, 32, 33, 34, 37, 38, 45, 47, 48, 49, 50}}&lt;br&gt;&lt;/code&gt;
&lt;/p&gt;
&lt;p&gt;
	&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;2. deneme:&lt;/strong&gt;&lt;br&gt; 
&lt;/p&gt;
 
&lt;p&gt;
	 &lt;code&gt;list = Table[Partition[RandomSample[Range@50], 25], 5000000];&lt;br&gt;list2 = Abs[(Total[Sqrt[N@#1] - Sqrt[N@#2]]) &amp;amp; @@@ list];&lt;br&gt;min = Min@list2 // DecimalForm&lt;br&gt;&lt;br&gt;0.000000866643&lt;br&gt;&lt;br&gt; Sort /@ Extract[list, First@Ordering[list2, 1]]&lt;br&gt;{{1, 5, 6, 9, 10, 12, 13, 14, 16, 18, 20, 23, 25, 26, 28, 30, 32, 34, &lt;br&gt;  40, 41, 43, 45, 48, 49, 50}, {2, 3, 4, 7, 8, 11, 15, 17, 19, 21, 22,&lt;br&gt;   24, 27, 29, 31, 33, 35, 36, 37, 38, 39, 42, 44, 46, 47}}&lt;br&gt;&lt;/code&gt;&lt;br&gt; 
&lt;/p&gt;
 
&lt;p&gt;
	   &lt;br&gt; 
&lt;/p&gt;
 
&lt;p&gt;
	 &lt;br&gt; 
&lt;/p&gt;
 
&lt;p&gt;
	 &lt;strong&gt;Ilk deneme:&lt;/strong&gt;&lt;br&gt; 
&lt;/p&gt;
 
&lt;p&gt;
	 &lt;br&gt;&lt;code&gt;list2 = Table[Partition[RandomSample[Range@50, 50], 25], 500000];&lt;br&gt;list3 = Abs[(Total@Sqrt[#1] - Total@Sqrt[#2]) &amp;amp; @@@ list2 // N];&lt;br&gt;&lt;br&gt;min = Min@list3 // DecimalForm&lt;br&gt;0.00000988892&lt;br&gt;Sort /@ Extract[list2, First@Ordering[list3, 1]]&lt;br&gt;&lt;br&gt;{{1, 4, 6, 7, 8, 9, 13, 14, 16, 18, 23, 24, 28, 30, 32, 33, 35, 36, &lt;br&gt;  37, 39, 42, 44, 46, 48, 50}, {2, 3, 5, 10, 11, 12, 15, 17, 19, 20, &lt;br&gt;  21, 22, 25, 26, 27, 29, 31, 34, 38, 40, 41, 43, 45, 47, 49}}&lt;br&gt;&lt;/code&gt; 
&lt;/p&gt;
 
&lt;p&gt;
	   &lt;img alt=&quot;image&quot; src=&quot;http://matkafasi.com/?qa=blob&amp;amp;qa_blobid=6224574443095619878&quot;&gt; &lt;br&gt; 
&lt;/p&gt;
 
&lt;p&gt;
	 &lt;br&gt; 
&lt;/p&gt;
 
&lt;p&gt;
	 &lt;br&gt; 
&lt;/p&gt;
 
&lt;p&gt;
	 Kolay Gelsin..&lt;br&gt; 
&lt;/p&gt;</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/114345/gruplardaki-sayilarin-karekokleri-birbirine-buyuklukte?show=114763#a114763</guid>
<pubDate>Mon, 07 May 2018 20:08:42 +0000</pubDate>
</item>
<item>
<title>Sizden Bilgisiyar bilimi (mühendisliği değil!) bölümü kurulmasını isteselerdi, 4 yıllık programı nasıl hazırlardınız?</title>
<link>http://matkafasi.com/99959/bilgisiyar-muhendisligi-kurulmasini-isteselerdi-hazirlardiniz</link>
<description>&lt;p&gt;
	  Hangi bilgisayar bilimci/matematikçileri bölümünüze almak isterdiniz? Ve ayrıca şöyle bir kıstas olacak: ''&lt;span style=&quot;background-color: rgb(252, 252, 252); font-family: Georgia; font-size: 14px;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;Bölümümüzün ders programı dünyanın ileri gelen bilgisayar bölümlerinin ders programları model alınarak hazırlanacak.''&lt;/span&gt;&lt;/span&gt; 
&lt;/p&gt;</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/99959/bilgisiyar-muhendisligi-kurulmasini-isteselerdi-hazirlardiniz</guid>
<pubDate>Mon, 28 Nov 2016 15:43:33 +0000</pubDate>
</item>
<item>
<title>Bilgisayar bilimleri için Türkçeye çevrilmiş (veya İngilizce de olabilir) popüler kitaplar önerir misiniz?</title>
<link>http://matkafasi.com/99958/bilgisayar-bilimleri-turkceye-cevrilmis-ingilizce-olabilir</link>
<description>&lt;p&gt;
	 
&lt;/p&gt;
&lt;ol&gt;
	  İlk öneri benden olsun.  
	&lt;li&gt;
		 Donald Knuth, Selected Papers on Computer Science.&lt;br&gt; 
	&lt;/li&gt;
	 
	&lt;li&gt;
		 Algoritmalar ve otomatik hesap makinalari / B. A. Trakhtenbrot ; çev.Talat Tuncer., TMD yayınları&lt;br&gt; 
	&lt;/li&gt;
	 
&lt;/ol&gt;</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/99958/bilgisayar-bilimleri-turkceye-cevrilmis-ingilizce-olabilir</guid>
<pubDate>Mon, 28 Nov 2016 15:38:26 +0000</pubDate>
</item>
<item>
<title>Cevaplandı: Bilgisayar programlari nasil rasgele sayi uretiyor..</title>
<link>http://matkafasi.com/66494/bilgisayar-programlari-nasil-rasgele-sayi-uretiyor?show=89060#a89060</link>
<description>true(gerçek) random ve pseudo(sözde) random diye ayrılıyor rastgele sayılar..pseudo random denilen şeyler arkadaşın dediği gibi sistem saatine,donanım kimliğine,cpu ya bağlı bir formül çıktısıdır aslında..Gerçek random ise biraz daha komplextir..Gürülteleri,radyo dalgalarını,havadaki nem oranı gibi &amp;quot;tahmin edilmesi daha zor&amp;quot;  rastgele sayılardır..Ama evren deterministik işlediği için true random da gerçek anlamda rastegele sayılmaz..&lt;br&gt;</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/66494/bilgisayar-programlari-nasil-rasgele-sayi-uretiyor?show=89060#a89060</guid>
<pubDate>Fri, 12 Aug 2016 14:51:32 +0000</pubDate>
</item>
<item>
<title>Cevaplandı: (Guncel) Kuantum aglar ve bilgisayar korsanlari</title>
<link>http://matkafasi.com/38369/guncel-kuantum-aglar-ve-bilgisayar-korsanlari?show=39981#a39981</link>
<description>&lt;p&gt;
	 Önce bir kuantum ağının klasiğinden farkı ne onu yazmak istiyorum.  
&lt;/p&gt;
 
&lt;p&gt;
	 Banka ve internet ortamında kullanılan RSA, e-posta şifrelemesinde kullanılan PGP vs. gibi umumi anahtar şifreleme sistemleri kuantum bilgisayarları tarafından kolaycana kırılabilecek. Ama bu özel anahtar şifreleme sistemleri için mümkün değil. Bunlarda (=tek kullanımlık şerit) iletideki her karakter rastgele yeni bir anahtar karakteriyle şifreleniyor. Ve eğer bu anahtar alıcıya da güvenle ulaştırılabilirse sonunda şifrelenmiş ileti alıcı tarafından çözülüyor. Tek sorun anahtarın karşı tarafa nasıl ulaştırılacağı. İşte tam burada kuantum anahtar dağıtımı (quantum key distribution) devreye giriyor ve Hilbert uzayındaki durumları kullanarak umumi bir kanaldan anahtar bilgisini iletmeye yarıyor. Bir ağdaki bağlantı noktaları aralarında k.a.d. yaparak veri iletimi sağlıyorsa, o ağ bir kuantum ağı.&lt;br&gt; 
&lt;/p&gt;
 
&lt;p&gt;
	 K.a.d.'nın farklı protokolleri (BB84,Ekert 91,Bennett 92, SARG vs.) ve onların daha da farklı uygulamaları var (mesela fotonların kutuplanmalarının iki boyutlu bir Hilbert uzayı oluşturduğunu kullanılıyor). Aslında önemli  olan nokta, birisi gizlice dinlemeye kalkıştığında -yani bir ölçüm yaptığında- anahtar bilgisini iletmekte kullanılan durumun tüm bilgisini elde edememesi&lt;strong&gt;*&lt;/strong&gt;, hatta durumun değişmesi ve tarafların onun farkına varması. Şayet durum önce kopyalanıp sonra kopyası ölçülmeye çalışılıyor ise de, 'kuantum mekaniğinde klonlama yapılamaz' diye bir teorem mevcut (Wootters, W. K., and W. H. Zurek, 1982, Nature 299, 802–803). Durumun bilgisinin birazı çoğaltılabilir ama o da protokollerin hata payi kısımlarında  olası iç çarpımlara bakılıp önemsizleştiriliyor....).&lt;br&gt;&lt;br&gt;Yıldızı&lt;strong&gt;(*) &lt;/strong&gt;bir daha toparlamaya çalışıyım:  Ortogonal olmayan durumlarla anahtar bilgisi gönderiliyor,  ölçüm yapıldığı zaman (Hilbert uzayının bir tabanında gözlenebilir köşegenleştiriliyor malum) ölçülen değer durumun ne olduğunu tam söylemiyor (Bir ölçümde -bkz. &lt;a rel=&quot;nofollow&quot; href=&quot;http://www.matkafasi.com/1933/schrodingerin-kedisine-ne-oldu?show=14808#a14808&quot;&gt;ölçüm&lt;/a&gt;- $\vert 0 &amp;gt;$ 0, $\vert 1 &amp;gt;$ 1 değerini versin,0 ölçünce durumun $\vert 0 &amp;gt;$ olduğunu sanabiliriz  ama mesela $(\vert 0&amp;gt;+\vert 1&amp;gt;)/\sqrt{2}$ %50 olasılıkla da 0 değerini verebilir).&lt;br&gt;&lt;br&gt;Temel olarak şuanda piyasada olup korsan fizikçiler tarafından kırılan (L. Lydersen et al., Nat. Photonics 4, 686 (2010), F. Xu, B. Qi, H.-K. Lo, N. J. Phys. 12, 113026&lt;br&gt;(2010).)kuantum ağları cihazların tasarımından kaynaklanıyor, üsteki temel prensiplerde/protokollerde sorun yok.&lt;br&gt; 
&lt;/p&gt;
 
&lt;p&gt;
	 --------------------------------------------------------------------------------------------------------&lt;br&gt;Ha bi de şuana kadar neler olmuş, şuan neler olmakta, bulabildiklerimi ekleyim:&lt;br&gt;&lt;br&gt;1989 yılında Bennett ile Brassard ilk kuantum kriptografi deneyini yaptı, ancak taa 1992'de yayımlanabildi.&lt;br&gt;C.H. Bennett, F. Besette, G. Brassard, L. Savail, J. Smolin (1992)&lt;br&gt;&lt;br&gt;Avrupa Birliği tarafından yürütülen Altıncı Araştırma ve Teknolojik Geliştirme Çerçeve Programı kapsamında 2004-2008 arasında gerçekleştirilmiş olan Kuantum Kriptografisi temelli Güvenli İletişim (SECOQC) projesi.&lt;br&gt;Peev et. al. The SECOQC quantum key distribution network in Vienna&lt;br&gt;&lt;br&gt;2001'de Cenevre Üniversitesi Uygulamalı Fizik bölümünden ayrılıp kendi firmasını (idQuantique) kuran bir PhD mezunu CERN'i de içeren İsviçre Kuantum Ağı projesini (www.swissquantum.com) yürütüyor. Ayrıca Cenevre Belediyesi'ne de seçim sistemi ağı kurmuş:)&lt;br&gt;&lt;br&gt;Tokyo'da  Toshiba vb. firmalar tarafından görüntülü konuşma, telefon ağ vs. için bir ağ geliştirildi.&lt;br&gt;M. Sasaki, et al.,&amp;quot;Field test of quantum key distribution in the Tokyo QKD Network,&amp;quot;Opt. Express 19 (11), pp10387--10409 (2011)&lt;br&gt;&lt;br&gt;Münih Üniversitesi ve Alman Havauzay Merkezi tarafından  290km/h hızındaki uçakla kuantum anahtar dağıtımını sağladı.Air-to-ground quantum communication Nature Photonics 7, 382 (2013)&lt;br&gt;&lt;br&gt;Avrupa Uzay Ajansı'nın 2002-3 arası Uzayda Kuantum İletişimi(QSpace), 2004 'Bir kuantum iletişim vericisinin optik terminale uyarlanması'(ACCOM, 2005-7 Kuantum iletişiminin deneysel değerlendirilişi (QIPS, meşhur La Palma-Teneriffe deneyini içeriyor: T. Schmitt-Manderbach, Phys. Rev. Lett. 98, 010504 (2007)) projeleri&lt;br&gt;&lt;br&gt;Tabiki Los Alamos Laboratuvarı'nın kuantum ağı arXiv:1305.0305 &lt;br&gt;&lt;br&gt;Ama en günceli  İtalyanların Matera Lazer Hizalama Gözlemevi ile uzaydaki uyduları  arasında yaptıkları şu deney: DOI: 10.1103/PhysRevLett.115.040502&lt;br&gt;&lt;br&gt;2016'da Çin bu amaca adadığı uydusunu fırlatacak (Zeilinger'i bile kendileriyle çalışmaya ikna edebildiler) H. Xin, Science 332, 904 (2011).&lt;br&gt; 
&lt;/p&gt;</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/38369/guncel-kuantum-aglar-ve-bilgisayar-korsanlari?show=39981#a39981</guid>
<pubDate>Tue, 08 Dec 2015 07:33:46 +0000</pubDate>
</item>
<item>
<title>Cevaplandı: Google nasil hemencecik girdigimiz kelimeyle ilgili pek cok siteyi listeleyebiliyor?</title>
<link>http://matkafasi.com/8606/google-hemencecik-girdigimiz-kelimeyle-listeleyebiliyor?show=8610#a8610</link>
<description>Fazla bilgim yok fakat, bildiklerimden bazıları;&lt;br&gt;&lt;br&gt;1) Google tarafından &amp;quot;takip&amp;quot; edilmek isteyen siteler, robots.txt dosyası oluşturuyor.&lt;br&gt;Bu dosyada sitenin bilgileri, bölümleri, değişme sıklığı vs. yer alıyor. Google bu dosyaları okuyarak web'i indeksliyor bir nevi.&lt;br&gt;&lt;br&gt;1a) Google'a sitenizi indekslemesi için istek gönderebiliyorsunuz.&lt;br&gt;1b) Web sitenizdeki html dosyalarının içinde meta taglar vardır, burada site ile ilgili anahtar kelimeler vs. sunabilirsiniz.&lt;br&gt;&lt;br&gt;2) Cache işlemi yapılıyor arama sonuçlarına.&lt;br&gt;&lt;br&gt;3) Daha önce yaptığınız aramalardan faydalanıyor.&lt;br&gt;&lt;br&gt;4) Algoritma konusunu bilmiyorum.&lt;br&gt;</description>
<category>Teorik Bilgisayar Bilimi</category>
<guid isPermaLink="true">http://matkafasi.com/8606/google-hemencecik-girdigimiz-kelimeyle-listeleyebiliyor?show=8610#a8610</guid>
<pubDate>Tue, 21 Apr 2015 14:30:06 +0000</pubDate>
</item>
</channel>
</rss>