<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bilgisayar Kavramları &#187; bilgisayar felsefesi</title>
	<atom:link href="http://www.bilgisayarkavramlari.com/category/bilgisayar-felsefesi/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bilgisayarkavramlari.com</link>
	<description>www.bilgisayarkavramlari.com</description>
	<lastBuildDate>Sun, 29 Jan 2012 21:38:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Apriori (Malum), APosteriori, AFortiori</title>
		<link>http://www.bilgisayarkavramlari.com/2011/08/13/apriori-malum-aposteriori-afortiori/</link>
		<comments>http://www.bilgisayarkavramlari.com/2011/08/13/apriori-malum-aposteriori-afortiori/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 22:23:08 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[bilgisayar felsefesi]]></category>
		<category><![CDATA[Bilgisayar Kavramları]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/?p=5895</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Bir bilginin malum olması, daha önceki bilgilere ihtiyacı olmadan, ispata gerek duymadan doğruluğunun kabul edilmesi. Örneğin &#8220;bir bütünün parçalarının, bütünden küçük olması&#8221; gibi. Bu bilginin ispata ihtiyacı yoktur ve doğru olarak kabul edilebilir, bu bilgi üzerine ispat kurulabilir. Türkçede ayrıca &#8220;önsel&#8221; kelimesi de kullanılmaktadır ve literatürde &#8220;a priori&#8221; şeklinde ayrı [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER<br />
Bir bilginin malum olması, daha önceki bilgilere ihtiyacı olmadan, ispata gerek duymadan doğruluğunun kabul edilmesi.<br />
Örneğin &#8220;bir bütünün parçalarının, bütünden küçük olması&#8221; gibi.<br />
Bu bilginin ispata ihtiyacı yoktur ve doğru olarak kabul edilebilir, bu bilgi üzerine ispat kurulabilir.<br />
Türkçede ayrıca &#8220;önsel&#8221; kelimesi de kullanılmaktadır ve literatürde &#8220;a priori&#8221; şeklinde ayrı yazılması söz konusudur.</p>
<p>Ayrıca tersini ifade sadedinden &#8220;a posteriori&#8221; terimi de kullanılmaktadır. Bu terim de Türkçede &#8220;sonsal&#8221; olarak geçebilir. Buradaki ifade edilmek istenen ise bir olaydan / eylemden sonra elde edilen bilgidir. Örneğin bir deney sonucunda elde edilen ve deneysel temele dayanan bilgilerin tamamı aposteriori olarak kabul edilebilir.</p>
<p>A Fortiori olarak geçen terim ise, kesin sonuca varan yargı anlamındadır. Liteartürde bir sonuca ulaşırken kullanılan ve sonucu etkileyen etkenlere verilen isimdir ve genelde &#8220;a fortiori argument&#8221; olarak geçer. Örneğin &#8220;bir insan ölmüşse, bu insanın nefes almadığı&#8221; kabul edilebilir ve bu kabulün ispatına ihtiyaç duyulmadan üzerine bir yargı inşa edilebilir.</p>
<p>Ayrıca veri madeciliğinde (datamining) kullanılan ve veriler arasındaki ilişki modelini belirleyen bir algoritmaya da apriori ismi verilmiştir. Bu isim karmaşasından dolayı şayet algoritmanın açıklamasını arıyorsanız, devam etmek için aşağıdaki yazıyı tıklayabilirsiniz.</p>
<p><a href="http://www.bilgisayarkavramlari.com/2011/09/07/apriori-algoritmasi/">Apriori Algoritması </a></p>

<p class="sayac_bilgi">147 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2011/08/13/apriori-malum-aposteriori-afortiori/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yeknesan (Invariant , Değişmez)</title>
		<link>http://www.bilgisayarkavramlari.com/2011/07/19/yeknesan-invariant-degismez/</link>
		<comments>http://www.bilgisayarkavramlari.com/2011/07/19/yeknesan-invariant-degismez/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 07:53:50 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[algoritma analizi (teory of algorithms)]]></category>
		<category><![CDATA[bilgisayar felsefesi]]></category>
		<category><![CDATA[Bilgisayar Matematiği]]></category>
		<category><![CDATA[Programlama Dilleri]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2011/07/19/yeknesan-invariant-degismez/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, bir programın incelenmesi sırasında, herhangi bir kaziyenin (predicate, haber, önerme), çeşitli işlemler uygulanmasına karşılık yeknesan olması halidir. Diğer bir deyişle, program çalışır ve çeşitli işlemlerden geçer, ancak bazı şeyler değişmeden kalıyor ve ne kadar işlem yapılırsa yapılsın değişmiyorsa buna yeknesan (değişmez, invariant) ismi verilir. En basit örneği, bir [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER
</p>
<p>Bilgisayar bilimlerinde, bir programın incelenmesi sırasında, herhangi bir <a href="http://www.bilgisayarkavramlari.com/2009/05/07/haber-predicate/">kaziyenin (predicate, haber, önerme)</a>, çeşitli işlemler uygulanmasına karşılık yeknesan olması halidir.
</p>
<p>Diğer bir deyişle, program çalışır ve çeşitli işlemlerden geçer, ancak bazı şeyler değişmeden kalıyor ve ne kadar işlem yapılırsa yapılsın değişmiyorsa buna yeknesan (değişmez, invariant) ismi verilir.
</p>
<p>En basit örneği, bir <a href="http://www.bilgisayarkavramlari.com/2008/09/08/degisken-variable/">değişkenin (variable)</a> içine değer atanması ama hiç değiştirilememesidir. </p>
<pre>
int a = 10;
// işlemler
printf("%d",a);
</pre>
</p>
<p>Yukarıdkai kodda, a değerini ilgilendiren işlemler yapılmıyorsa, a için yeknesan olmuş denilebilir. Farklı bir örnek de döngülerde görülür:</p>
<pre>
for(int i = 0;i&lt;10;i++){
   printf("%d",i);
}
</pre>
</p>
<p>Yukarıdaki döngüde, i&lt;10 şartında bulunan 10&#8242;dan küçük olma şartı yeknesan olmuştur. Yani döngünün dönmesi sırasında değişmeden kalmaktadır. Hemen bu noktada önemli bir farkı belirtmek gerekir. Yeknesean kavramı, sabit kavramı ile (constant) karıştırılabilmektedir. Örneğin yukarıdaki döngüde bulunan 10 sayısı bir sabittir ve yeknesan değildir. 10&#8242;dan küçük olma durumu ise değişmeden kalan bir yeknesan olarak düşünülmelidir.<br />
Yukarıdaki tip yeknesan örneklerine, özel olarak daire yeknesanı (loop invariant, döngü değişmezi) ismi de verilebilir.
</p>
<p>Bu yaklaşım, ayrıca program analizi veya problem analizi sırasında da kullanılabilir. Örneğin <a href="http://www.bilgisayarkavramlari.com/2011/07/19/mu-bulmacasi-mu-puzzle/">MU Probleminin</a> çözümünde, yeknesan bir değer yakalamaya çalışmak gerekir. Benzer şekilde <a href="http://www.bilgisayarkavramlari.com/2009/09/10/hoare-mantigi-hoare-logic/">Hoare Mantığı (Hoare Logic),</a> programların belirli bölümlerinde, ön ve son koşullar belirleyerek bunların yeknesan olmasını sağlamaktadır.
</p>
<p>Bu yöntem, bilgisayar bilimleri dışında da kullanılır. Örneğin, kanun yapım sürecinde, bütün kanunlarda değişmeyen kötü hasletler vardır. Bu yüzden, hırsızlık veya cinayet gibi suçlar, kanunlar değişmesine karşılık, bütün kanunlarda yerini almaktadır. Bu anlamda, değişen kanun sistemleri için, hırsızlık, yeknesan bir suçtur denilebilir. </p>

<p class="sayac_bilgi">243 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2011/07/19/yeknesan-invariant-degismez/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Algoritma (Algorithm)</title>
		<link>http://www.bilgisayarkavramlari.com/2011/04/25/algoritma-algorithm/</link>
		<comments>http://www.bilgisayarkavramlari.com/2011/04/25/algoritma-algorithm/#comments</comments>
		<pubDate>Mon, 25 Apr 2011 18:23:52 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[algoritma analizi (teory of algorithms)]]></category>
		<category><![CDATA[bilgisayar felsefesi]]></category>
		<category><![CDATA[Bilgisayar Kavramları]]></category>
		<category><![CDATA[Programlama Dilleri]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2011/04/25/algoritma-algorithm/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Bazan biz insanlar için çok kullanılan kelimeler, tanımlanması en güç kelimeler haline dönüşebiliyor. Algoritma da sanırım bilgisayar bilimleri için benzer özellikte olan bir kelime. Sanırım bu kelimeyi tanımlarken &#8220;bir dizi matematiksel adım&#8221; ifadesini kullanmak yerinde olur. Bütün algoritmalar, matematiksel olarak ispatlanabilen ve dizilimi kesinlikle önem taşıyan ve bir metot anlatmasıdır. [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER
</p>
<p>Bazan biz insanlar için çok kullanılan kelimeler, tanımlanması en güç kelimeler haline dönüşebiliyor. Algoritma da sanırım bilgisayar bilimleri için benzer özellikte olan bir kelime.
</p>
<p>Sanırım bu kelimeyi tanımlarken &#8220;bir dizi matematiksel adım&#8221; ifadesini kullanmak yerinde olur.
</p>
<p>Bütün algoritmalar, matematiksel olarak ispatlanabilen ve dizilimi kesinlikle önem taşıyan ve bir metot anlatmasıdır.
</p>
<p>Aslında bir kelimeyi başka bir kelime ile ifade etmek bir hatadır. Şayet iki kelime aynı şeyi anlatıyorsa, o zaman bir tanesi fazla demektir ama genelde algoritma için bu &#8220;metot&#8221; veya &#8220;sistem&#8221; kelimeleri sıkça kullanılıyor. Oysaki algoritma bunlardan farklı olarak bir, matematiksel bir dizilimdir. Evet, bir problemi çözmek için gerek metodu anlatır bu çözümde kullanılan sistemi gösterir ama atlanmaması gereken ispat edilebilirlik, karmaşıklığının ölçülebilirliği aslında bilgisayar bilimlerinin de temelini oluşturur.
</p>
<p>Bu durumu bir örnek üzerinden açıklamaya çalışalım.
</p>
<p>Örneğin sık kullanılan <a href="http://www.bilgisayarkavramlari.com/2008/08/09/siralama-algoritmalari-sorting-algorithms/">sıralama problemini (sorting problem)</a> ele alalım. Elimizde bir dizi karıştırılmış sayı var ve biz bunları küçükten büyüğe doğru sıralamak istiyoruz. Bu durumda birisinin çıkıp ben bunları sıraladım demesi bir algoritma olmaz. Çünkü algoritmanın sistematik olarak probleme yaklaşması gerekir.
</p>
<p>Ben bunları sıralayan bir sistem yaptım demesi de algoritma olmaz. Çünkü sistemin bütün adımlarını belirli olması ve analiz edilebilir olması gerekir.
</p>
<p>Ben bunları sıralayan ve şu adımlardan oluşan bir sistem yaptım demesi de yeterli olmaz çünkü bu algoritmanın her durumda çalışacağının matematiksel olarak ispatlanabilmesi gerekir.
</p>
<p>Ancak bu aşamadan sonra bir algoritmadan bahsediyoruz demektir ve tam da bu aşamadan sonra artık algoritmanın performansından bahsetmeye başlar ve algoritmamızın hafıza ve zaman ihtiyaçlarını ölçebilmeyi isteriz.
</p>
<p>Yukarıdaki bütün bu tanımların yanında, bir algoritma elde ettikten sonra ayrıca bu algoritmanın uygulanabilir oluşu da tartışmaya açıktır. Örneğin geliştirilen algoritma, günümüz bilgisayarları için uygulanabilir olmayabilir. Bu durum algoritmamızı , algoritma olmakta çıkarmaz ancak uygulanamaz bir hale sokar (örneğin şu anda yeni yeni gelişen kuantum hesaplama algoritmaları buna birer örnek olabilir).
</p>
<p>Ayrıca algoritmaların yaklaşımlarına göre sınıflandırılması da mümkündür. Hatta bu sınıflandırmaya uygun olarak algoritma geliştirilme metodolojileri de bulunmaktadır. Örneğin <a href="http://www.bilgisayarkavramlari.com/2007/04/14/nesne-yonelimli-programlama-object-oriented-programming/">nesne yönelimli programlama (object oriented programming)</a> , <a href="http://www.bilgisayarkavramlari.com/2007/12/18/yapisal-programlama-structured-programming/">yapısal programlama (structured programming)</a> veya <a href="http://www.bilgisayarkavramlari.com/2007/12/18/fonksiyonel-programlama-procedural-programming-functional-programming/">fonksiyonel programlama (functional programming)</a> , <a href="http://www.bilgisayarkavramlari.com/2009/11/16/emirli-programlama-imperative-programming/">Emirli programlama (Imperative Programing)</a>, <a href="http://www.bilgisayarkavramlari.com/2007/12/18/otomat-yonelimli-programlama-automata-based-programming/">özdevinirli programlama (automat based programming)</a> gibi.</p>

<p class="sayac_bilgi">566 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2011/04/25/algoritma-algorithm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Birbirini Dışlama (Mutually Exclusive)</title>
		<link>http://www.bilgisayarkavramlari.com/2011/01/05/birbirini-dislama-mutually-exclusive/</link>
		<comments>http://www.bilgisayarkavramlari.com/2011/01/05/birbirini-dislama-mutually-exclusive/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 16:29:20 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[bilgisayar felsefesi]]></category>
		<category><![CDATA[Bilgisayar Kavramları]]></category>
		<category><![CDATA[işletim sistemleri]]></category>
		<category><![CDATA[Network(Ağ)]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2011/01/05/birbirini-dislama-mutually-exclusive/</guid>
		<description><![CDATA[Yazan: Yrd. Doç. Dr. Şadi Evren ŞEKER Birbirini dışlama özelliği, birden fazla işin birbiri ile ilişkisizliğini belirtmek için kullanılan bir terimdir. Örneğin iki işlem (process) veya iki lifin (thread) birbirinden bağımsız çalışmasını, aynı anda bir işlemi yapmamasını istediğimiz zaman birbirini dışlama özelliğini kullanabiliriz. Bazı kaynaklarda, kısaca mutex (mutually exclusive kısaltması) olarak da geçer. İki adet [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan: Yrd. Doç. Dr. Şadi Evren ŞEKER</p>
<p>Birbirini dışlama özelliği, birden fazla işin birbiri ile ilişkisizliğini belirtmek için kullanılan bir terimdir. Örneğin iki <a href="http://www.bilgisayarkavramlari.com/2007/11/18/islem-process/">işlem (process)</a> veya iki <a href="http://www.bilgisayarkavramlari.com/2010/03/22/thread-iplik/">lifin (thread)</a> birbirinden bağımsız çalışmasını, aynı anda bir işlemi yapmamasını istediğimiz zaman birbirini dışlama özelliğini kullanabiliriz. Bazı kaynaklarda, kısaca mutex (mutually exclusive kısaltması) olarak da geçer.</p>
<p>İki adet <a href="http://www.bilgisayarkavramlari.com/2009/10/09/eslemeli-metotlar-synchronized-methods/">birbirine paralel ilerleyen iş için (concurrent)</a> aynı anda bir kaynağa erişme veya birbirleri için kritik olan işlemler yapma ihtimali her zaman bulunur. Örneğin bilgisayarda çalışan iki ayrı <a href="http://www.bilgisayarkavramlari.com/2010/03/22/thread-iplik/">lifin (thread)</a> JAVA dilinde ekrana aynı anda bir şeyler basmaya çalışması veya paylaşılan bir dosyaya aynı anda yazmaya çalışması, eş zamanlı programlamalarda, sıkça karşılaşılan problemlerdendir. Bu problemin çözümü için, <a href="http://www.bilgisayarkavramlari.com/2009/10/09/eslemeli-metotlar-synchronized-methods/">işlemlerin senkronize edilmesi</a> gerekir ve temel işletim sistemleri teorisinde 4 yöntem önerilir:</p>
<ul>
<li>Koşullu Değişkenler (Conditional Variable)</li>
<li><a href="http://www.bilgisayarkavramlari.com/2009/03/30/semafor-semaphore-flama-isaret/">Semaforlar (Semaphores)</a></li>
<li>Kilitler (Locks)</li>
<li>Monitörler (Monitors)</li>
</ul>
<p>Yukarıda sayılan bu 4 yöntem, basitçe iki farklı işi senkronize hale getirmeye yarar. Şayet iki ayrı işin birbirine hiçbir şekilde karışmaması isteniyorsa (mutex) bu durumda çeşitli algoritmaların kullanılmasıyla sistemdeki işlerin ayrılması sağlanabilir. Örneğin aşağıda, iki çok kullanılan algoritmaya bağlantı verilmiştir:</p>
<ul>
<li><a href="http://www.bilgisayarkavramlari.com/2011/01/06/dekker’s-algorithm/">Dekker Algoritması </a></li>
<li><a href="http://www.bilgisayarkavramlari.com/2011/01/06/peterson%e2%80%99s-algorithm/">Peterson Algoritması </a></li>
</ul>

<p class="sayac_bilgi">300 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2011/01/05/birbirini-dislama-mutually-exclusive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WOLG (Genelliğini Kaybetmeden)</title>
		<link>http://www.bilgisayarkavramlari.com/2010/06/01/wolg-genelligini-kaybetmeden/</link>
		<comments>http://www.bilgisayarkavramlari.com/2010/06/01/wolg-genelligini-kaybetmeden/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 10:31:28 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[bilgisayar felsefesi]]></category>
		<category><![CDATA[Bilgisayar Matematiği]]></category>
		<category><![CDATA[wolg]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2010/06/01/wolg-genelligini-kaybetmeden/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin de temellerini oluşturan matematik&#8217;te kullanılan bir tabirdir. İngilizcede &#8220;without loss of generality&#8221; kelimelerinin baş harflerinden oluşur ve Türkçede &#8220;genelliğini kaybetmeden&#8221; şeklinde kullanılabilir. Genelde matematiksel bir ispat yapılması veya bir çıkarım sırasında kullanılır. Buradaki genellik ile kastedilen bir ispattan veya çıkarımdan önceki adımda kabul edilen genel durumun, ispatın sonuna [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Bilgisayar bilimlerinin de temellerini oluşturan matematik&#8217;te kullanılan bir tabirdir. İngilizcede &#8220;without loss of generality&#8221; kelimelerinin baş harflerinden oluşur ve Türkçede &#8220;genelliğini kaybetmeden&#8221; şeklinde kullanılabilir.</p>
<p>Genelde matematiksel bir ispat yapılması veya bir çıkarım sırasında kullanılır. Buradaki genellik ile kastedilen bir ispattan veya çıkarımdan önceki adımda kabul edilen genel durumun, ispatın sonuna kadar saklanmasıdır.</p>
<p>Örneğin bir ispat sırasında x ve y şeklinde iki değişken rastgele olarak alınıyor. (bunlar birer sayı veya sembol de olabilir)</p>
<p>İspat sonucunda örneğin F(x,y) sonucunun doğru olduğu gösterilirse, genelliğini kaybetmeden F(y,x) sonucunun da doğru olduğu gösterilmiş olur. Burada ilk olarak seçilen x ve y sayılarının rast gele seçildiğini kabul edebilir ve bu rastgelelikten dolayı F(x,y) veya F(y,x) sonucunun elde edilmesi bu sayıların seçimindeki genelliğin kaybolmasını gerektirmez.</p>

<p class="sayac_bilgi">58 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2010/06/01/wolg-genelligini-kaybetmeden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zamansal Mantıklarda Etki Alanı Yapısı (Temporal Domain Structure)</title>
		<link>http://www.bilgisayarkavramlari.com/2010/04/13/zamansal-mantiklarda-etki-alani-yapisi-temporal-domain-structure/</link>
		<comments>http://www.bilgisayarkavramlari.com/2010/04/13/zamansal-mantiklarda-etki-alani-yapisi-temporal-domain-structure/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 10:12:36 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[bilgisayar felsefesi]]></category>
		<category><![CDATA[yapay zeka (artificial intelligence)]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2010/04/13/zamansal-mantiklarda-etki-alani-yapisi-temporal-domain-structure/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin özellikle yapay zeka konusu altında yer alan ve zamansal modelleme / problem çözümü konularında kullanılan bir yapıdır. Bu yazıyı, zamansal mantıklar (temporal logic) üzerinde çalışan bir etki alanı sınıflandırması olarak düşünmek mümkündür. Yukarıdaki şekilde, bu seviyelendirme 3 katmanda gösterilmiştir. Buna göre bir zamansal mantığın (temporal logic) seviyesi, üzerine [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Bilgisayar bilimlerinin özellikle yapay zeka konusu altında yer alan ve zamansal modelleme / problem çözümü konularında kullanılan bir yapıdır. Bu yazıyı, zamansal mantıklar (temporal logic) üzerinde çalışan bir etki alanı sınıflandırması olarak düşünmek mümkündür.</p>
<p><img src="http://www.bilgisayarkavramlari.com/wp-content/uploads/041310_1012_ZamansalMan1.png" alt="" /></p>
<p>Yukarıdaki şekilde, bu seviyelendirme 3 katmanda gösterilmiştir. Buna göre bir <a href="http://www.bilgisayarkavramlari.com/2009/05/06/zamansal-mantik-temporal-logic/">zamansal mantığın (temporal logic)</a> seviyesi, üzerine kurulu olduğu mantık seviyesine bağlıdır. Klasik mantıkları seviyelendirirken 3 seviyeden bahsetmek mümkündür:</p>
<p><img src="http://www.bilgisayarkavramlari.com/wp-content/uploads/041310_1012_ZamansalMan3.png" alt="" /></p>
<p>Yukarıdaki bu seviyelendirmede, <a href="http://www.bilgisayarkavramlari.com/2010/03/24/birinci-derece-mantik-first-order-logic/">birinci derece mantık (first order logic)</a> için düşük seviye mantık (lower order logic) veya <a href="http://www.bilgisayarkavramlari.com/2010/03/27/ikinci-derece-mantik-second-order-logic/">ikinci derece mantığa (second order logic) yüksek seviye mantık (higher order logic)</a> isimleri de verilmektedir. Sonuçta bir zamansal mantık yukarıda gösterilen 3 seviyeden herhangi birisi üzerine kurulu bir mantık olarak düşünülebilir.</p>
<p>Bu durumda bir zamansal mantığın seviyesinden bahsedilmesi demek, bu zamansal mantığın üzerine inşa edildiği mantığın seviyesinden bahsedilmesi demektir.</p>
<p>Bu yazıda incelenecek olan, zamansal mantıkların etki alanı yapısı ise, zamansal mantıklarda ortak olan ve ilişkileri analiz etmeye yarayan bir yaklaşımdır.</p>
<p>Bu yaklaşımda öncelikle temel işlem özelliklerini tanımlayabiliriz.</p>
<p>Örneğin iki zamansal belirleyici (quantifier) arasında tanımlı olan bir ilişkiye (relation) R ismini verecek olursak:</p>
<p>Geçişlilik özelliği  (transitivity) :<span>∀</span><span style="font-size:10pt"><span style="font-family:Times New Roman"><em>xyz</em></span><span style="font-family:Times New Roman">. </span><span style="font-family:Times New Roman"><em>x </em></span><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>y </em></span><span style="font-family:Symbol"></span><span style="font-family:Times New Roman"><em>y </em></span><span style="font-family:Arial">R </span><em><span style="font-family:Times New Roman">z</span></em></span><span>⇒</span><span style="font-size:10pt"><em><span style="font-family:Times New Roman"> x </span></em><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>z<br />
</em></span></span></p>
<p>Yansımama özelliği (nonreflexivity) : <span>∀</span><span style="font-size:10pt"><span style="font-family:Times New Roman"><em>x</em></span><span style="font-family:Times New Roman">. </span><span style="font-family:Symbol"></span><span style="font-family:Times New Roman"><em>x </em></span><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>x<br />
</em></span></span></p>
<p>Doğrusallık özelliği (linearity) : <span>∀</span><span style="font-size:10pt"><span style="font-family:Times New Roman"><em>xy</em></span><span style="font-family:Times New Roman">. </span><span style="font-family:Times New Roman"><em>x </em></span><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>y </em></span><span style="font-family:Symbol"></span><span style="font-family:Times New Roman"><em>x </em></span><span style="font-family:Arial">= </span><span style="font-family:Times New Roman"><em>y </em></span><span style="font-family:Symbol"></span><span style="font-family:Times New Roman"><em>y </em></span><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>x<br />
</em></span></span></p>
<p>Sol doğrusallık (left linearity)<span style="font-size:10pt"><span style="font-family:Arial"><br />
</span></span><span>∀</span><span style="font-size:10pt"><span style="font-family:Times New Roman"><em>xyz</em></span><span style="font-family:Times New Roman">.</span><span style="font-family:Times New Roman"><em>y </em></span><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>x </em></span><span style="font-family:Symbol"></span><span style="font-family:Times New Roman"><em>z </em></span><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>x </em></span></span><span>⇒</span><span style="font-size:10pt"><span style="font-family:Times New Roman"> </span><span style="font-family:Times New Roman"><em>y </em></span><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>z </em></span><span style="font-family:Symbol"></span><span style="font-family:Times New Roman"><em>y </em></span><span style="font-family:Arial">= </span><span style="font-family:Times New Roman"><em>z </em></span><span style="font-family:Symbol"></span><span style="font-family:Times New Roman"><em>z </em></span><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>y</em></span></span></p>
<p>Sağ doğrusallık (right linearity)<span style="font-size:10pt"><span style="font-family:Arial"><br />
</span></span><span>∀</span><span style="font-size:10pt"><span style="font-family:Times New Roman"><em>xyz</em></span><span style="font-family:Times New Roman">. </span><span style="font-family:Times New Roman"><em>x </em></span><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>y </em></span><span style="font-family:Symbol"></span><span style="font-family:Times New Roman"><em>x </em></span><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>z </em></span></span><span>⇒</span><span style="font-size:10pt"><span style="font-family:Times New Roman"> </span><span style="font-family:Times New Roman"><em>y </em></span><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>z </em></span><span style="font-family:Symbol"></span><span style="font-family:Times New Roman"><em>y </em></span><span style="font-family:Arial">= </span><span style="font-family:Times New Roman"><em>z </em></span><span style="font-family:Symbol"></span><span style="font-family:Times New Roman"><em>z </em></span><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>y<br />
</em></span></span></p>
<p>Başlama (begin)<span style="font-size:10pt"><span style="font-family:Arial"><br />
</span></span><span>∃</span><span style="font-size:10pt"><span style="font-family:Times New Roman"><em>x</em></span><span style="font-family:Times New Roman">. </span><span style="font-family:Symbol"></span></span><span>∃</span><span style="font-size:10pt"><span style="font-family:Times New Roman"><em>y</em></span><span style="font-family:Times New Roman">.</span><span style="font-family:Times New Roman"><em>y </em></span><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>x<br />
</em></span></span></p>
<p>Bitme (end)<span style="font-size:10pt"><span style="font-family:Arial"><br />
</span></span><span>∃</span><span style="font-size:10pt"><span style="font-family:Times New Roman"><em>x</em></span><span style="font-family:Times New Roman">. </span><span style="font-family:Symbol"></span></span><span>∃</span><span style="font-size:10pt"><span style="font-family:Times New Roman"><em>y</em></span><span style="font-family:Times New Roman">. </span><span style="font-family:Times New Roman"><em>x </em></span><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>y<br />
</em></span></span></p>
<p>Takip (precedence) <span style="font-size:10pt"><span style="font-family:Symbol">&#8220;</span><span style="font-family:Times New Roman"><em>x</em></span><span style="font-family:Times New Roman">.</span><span style="font-family:Arial"><br />
</span></span><span>∃</span><span style="font-size:10pt"><span style="font-family:Times New Roman"><em>y</em></span><span style="font-family:Times New Roman">.</span><span style="font-family:Times New Roman"><em>y </em></span><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>x<br />
</em></span></span></p>
<p>Yoğunluluk (density)<span> ∀</span><span style="font-size:10pt"><span style="font-family:Times New Roman"><em>xy</em></span><span style="font-family:Times New Roman">. </span><span style="font-family:Times New Roman"><em>x </em></span><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>y </em></span></span><span>⇒</span><span> ∃</span><span style="font-size:10pt"><span style="font-family:Times New Roman"><em>z</em></span><span style="font-family:Times New Roman">. </span><span style="font-family:Times New Roman"><em>x </em></span><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>z </em></span><span style="font-family:Arial">R </span><span style="font-family:Times New Roman"><em>y<br />
</em></span></span></p>
<p>Yukarıda sıralanan özelikler bir zamansal mantığın taşıyabileceği özelliklerdir. Genellikle bir zamansal mantıktaki bütün ilişkiler geçişli, yansımasız ve doğrusaldır.</p>
<p>Yukarıdaki özellikleri açıklamaya çalışalım.</p>
<p>Bir zamansal mantığın başlama / bitme özelliğinin bulunması bu mantığın zamanda bir geçmiş ve bir de gelecek limitinin olması anlamına gelir. Tam tersi olarak takip (precedence / successor ) ise zamanda sonsuz olduğu anlamına gelir. Yani bir zamansal mantığın geçmişte ve gelecekte bir sonunun olmaması demektir.</p>
<p>Bir zamansal mantığın yoğun olması, iki ilişki arasına üçüncü bir ilişki girebilmesi anlamına gelmektedir. Öte yandan kesikli olması bunun tam tersi şeklinde üçüncü bir ilişkinin, iki ilişki arasına girememesi anlamına gelir.</p>
<p>Yukarıda geçen doğrusallık ise 3 farklı şekilde anlaşılabilir. Zamanı doğrusal bir çizgi üzerine oturtursak iki yöne gidilen doğrusallık ve taraflardan birine gidilen doğrusallık şeklinde anlayabiliriz.</p>
<p>Örneğin aşağıda bu 3 farklı durum için gösterilen doğrusallık örnekleri bulunmaktadır:</p>
<p><img src="http://www.bilgisayarkavramlari.com/wp-content/uploads/041310_1012_ZamansalMan5.png" alt="" /></p>
<p>Yukarıdaki şekillerden 1 numara ile gösterilen şekilde tam doğrusallıktan yani iki uca doğru giden doğrusallıktan bahsedilebilir. 2 numara ile gösterilen çizimde ise sol doğrusallık gösterilmektedir. Bu gösterimde dikkat edilirse sağ cihette bir doğrusallık bulunmamakta buna mukabil sola doğru bir doğrusal zaman çizgisi gösterilmektedir.</p>
<p>3 numaralı çizim, 2 numaralı çizimin tersine sağda doğrusallığın olduğu ve sol tarafta doğrusallığın olmadığı bir çizimdir. 4 numaralı çizim ise iki tarafta da doğrusallık bulunmayan dolayısıyla doğrusal olmayan çizimdir.</p>
<p>Yukarıda açıklanan zamansal mantık etki alanı yapılarına ilave olarak, zamansal mantıklarda bulunan fasıla işlemleri de ayrıca incelenmelidir. Bir zamansal mantıkta 13 temel fasıla bulunur. Bunlar aşağıdaki şekilde gösterilmiştir:</p>
<p><img src="http://www.bilgisayarkavramlari.com/wp-content/uploads/041310_1012_ZamansalMan7.png" alt="" /></p>
<p>Yukarıdaki şekilde görülen bu temel 13 bağlantı hemen hemen bütün zamansal mantıklarda bulunan fasıla durumunu ifade eder.</p>
<p><img src="http://www.bilgisayarkavramlari.com/wp-content/uploads/041310_1012_ZamansalMan8.png" alt="" /></p>
<p>Yukarıda P. Bellini tarafından yayınlanan ve &#8220;Temporal Logics for Real-Time System Specification&#8221; başlıklı çalışmadan alınan gösterimde de bir önceki şekilde bulunan çizimin biraz daha değiştirilmiş hali görülebilir.</p>

<p class="sayac_bilgi">109 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2010/04/13/zamansal-mantiklarda-etki-alani-yapisi-temporal-domain-structure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cardinality (Sayısallık)</title>
		<link>http://www.bilgisayarkavramlari.com/2010/03/31/cardinality-sayisallik/</link>
		<comments>http://www.bilgisayarkavramlari.com/2010/03/31/cardinality-sayisallik/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 18:27:42 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[algoritma analizi (teory of algorithms)]]></category>
		<category><![CDATA[bilgisayar felsefesi]]></category>
		<category><![CDATA[Bilgisayar Matematiği]]></category>
		<category><![CDATA[cardinality]]></category>
		<category><![CDATA[countability]]></category>
		<category><![CDATA[rasyonel sayılar]]></category>
		<category><![CDATA[reel sayılar]]></category>
		<category><![CDATA[sayılabilirlik]]></category>
		<category><![CDATA[sayılamazlık]]></category>
		<category><![CDATA[sayısallık]]></category>
		<category><![CDATA[tam sayılar]]></category>
		<category><![CDATA[uncountable]]></category>
		<category><![CDATA[uncountablity]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2010/03/31/cardinality-sayisallik/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER 1. Rasyonel / Tamsayı ilişkisi 2. Sayılabilirlik (Countability) 3. Reel / Tamsayı ilişkisi Şayet aynı isme sayıp ERD (Entity relationship diagram) üzerindeki sayısallık konusu ile ilgili yazıyı arıyorsanız bu bağlantıdan erişebilirsiniz. Algoritma analizi (algorithm analysis) ve hesaplama teorisinde (theory of computation) sıkça kullanılan anlamıyla bir kümenin eleman sayısını belirtir. Ayrıca [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p class="shutter"><a href="#1">1. Rasyonel / Tamsayı ilişkisi</a><br />
<a href="#2">2. Sayılabilirlik (Countability)</a><br />
<a href="#3">3. Reel / Tamsayı ilişkisi</a></p>
<p>Şayet aynı isme sayıp ERD (Entity relationship diagram) üzerindeki sayısallık konusu ile ilgili yazıyı arıyorsanız <a href="http://www.bilgisayarkavramlari.com/2008/11/25/sayisallik-cardinality/">bu bağlantıdan </a>erişebilirsiniz.</p>
<p>Algoritma analizi (algorithm analysis) ve hesaplama teorisinde (theory of computation) sıkça kullanılan anlamıyla bir kümenin eleman sayısını belirtir.</p>
<p>Ayrıca matematik ve bilgisayar bilimleri açısından önemli bir yönü de kümelerin sonsuz olması durumunda kümeler arasındaki ilişkinin gösterilmesinde işe yaramasıdır.</p>
<p>Bu durumu öncelikle sonsuz iki küme tanımlayarak anlamaya çalışalım.</p>
<p>Tam sayılar kümesini ele alalım. Tam sayılar kümesi sonsuz eleman içermektedir. Eksi sonsuzdan 0&#8242;a kadar ve 0&#8242;dan da artı sonsuza kadar giden sayılardan oluşur.</p>
<p><img src="http://www.bilgisayarkavramlari.com/wp-content/uploads/033110_1827_Cardinality1.png" alt="" /></p>
<p>Dolayısıyla tam sayılar kümesinde, sonsuz eleman olduğunu söylememiz doğrudur.</p>
<p>Benzer şekilde pozitif tamsayılar kümesi sıfırdan artı sonsuza kadar sonsuz sayıda eleman içerir:</p>
<p><img src="http://www.bilgisayarkavramlari.com/wp-content/uploads/033110_1827_Cardinality3.png" alt="" /></p>
<p>Bu iki kümenin de sonsuz olduğunu söylediğimize göre gerçekten bu iki kümenin sonsuzlukları aynı mıdır? Yoksa kümelerden birisi daha büyük diğeri daha küçük sonsuz mudur?</p>
<p>Bu soru ile kardinallik (sayısallık, cardinality) konusuna başlayabiliriz. Bu soruyu cevaplamadan önce iki küme arasında eşit miktarda eleman bulunmasını tanımlamamız gerekir:</p>
<p>Sayısallık açısından iki küme birbirine bağlanmak istenirse, bunun anlamı bu kümeler arasında birebir (one-to-one) ve üzerine (onto) bağlantı bulunması demektir.</p>
<p><img src="http://www.bilgisayarkavramlari.com/wp-content/uploads/033110_1827_Cardinality5.png" alt="" /></p>
<p>Yukarıdaki örnekte, iki küme arasında bire bir ve örten bir bağlantı gösterilmektedir. Burada birebir olması, birinci kümeden her elemanın ikinci kümeden tek bir elemanı gösteriyor olmasını ve ikinci kümedeki her elemanın da birinci kümede tek elemanı gösteriyor olması demektir. Şayet örneğin &#8220;a&#8221; elemanı hem 1 hem de 2 ile ilişkilendirilmiş olsaydı bu durumda birebir ilişkiden bahsedilemezdi. Örten olma özelliği (onto) ise boşta hiç eleman kalmamış olması yani bütün elemanların bir şekilde diğer kümede ilişkilendirilmiş olması anlamındadır.</p>
<p><a href="http://www.bilgisayarkavramlari.com/2009/06/24/kume-teorisi-set-theory/">Kümeler teorisi (set theory)</a> ile ilgili bu kısa hatırlatmadan sonra konumuz olan sayısallık ilişkisine dönebiliriz.</p>
<p>Şayet kümelerin ikisi de yukarıdaki örnekte olduğu gibi sonlu değil de yazının başında verildiği gibi sonsuz ise bu durumda sayısallık bağlantısını nasıl kurabiliriz?</p>
<p>Sayısallık açısından, tam sayılar kümesi ve pozitif tam sayılar kümesinin eşit olduğunu söyleyebiliriz. Bunu göstermek için yukarıda bahsettiğimiz üzere, iki küme arasındaki ilişkinin örten ve birebir olduklarını göstermemiz gerekir.</p>
<p>Bunu daha iyi modelleyebilmek için sonsuzluk yönünü aynı tarafa çevirip ardından sayıları sıralayalım:</p>
<p><img src="http://www.bilgisayarkavramlari.com/wp-content/uploads/033110_1827_Cardinality7.png" alt="" /></p>
<p>Tamsayılar kümesini yukarıdaki şekilde çevirecek olursak kümenin elemanlarını aşağıdaki şekilde yazabiliriz:</p>
<p><img src="http://www.bilgisayarkavramlari.com/wp-content/uploads/033110_1827_Cardinality9.png" alt="" /></p>
<p>Yukarıdaki resimde solda gösterilen pozitif tam sayılar (Z+) kümesi ile sağda gösterilen tamsayılar kümesi (Z) arasında birebir ve örten bir ilişki kurulmuş olunur. Bunun sebebi iki kümedeki her eleman diğer kümedeki bir elemana mutlaka ilişkilendirilmiş ve bu ilişki birebir olmuştur.</p>
<p>Yukarıdaki bu görsel ilişkiyi matematiksel olarak aşağıdaki şekilde yazmak da mümkündür:</p>
<p>X e Z ve Y e Z+ olmak üzere X  = Y / 2 * ( -1 )  <sup>Y mod 2</sup></p>
<p>Yukarıdaki formülde tam sayı bölmesi yapıldığı kabul edilmiştir. (yani noktadan sonraki değerler göz ardı edilmiştir)</p>
<p>Gerçekten de Y = 1 için X = ½ *1 = 0 sonucu veya Y = 15 için X = 15 / 2 * -1 = -7 sonucu bulunmaktadır.</p>
<p>Bu bağlantının tersini yazmak da mümkündür:</p>
<p><img src="http://www.bilgisayarkavramlari.com/wp-content/uploads/033110_1827_Cardinality11.png" alt="" /></p>
<p>Örneğin X = 0 için Y = -1 * 0 * 2 + 1  = 1 olarak bulunur veya diğer bir örnek olarak X = -7 için Y = -1 * -7 *2 + 1= 15 olarak bulunur.</p>
<p>Görüldüğü üzere iki yönlüde bütün elemanları diğer kümedeki elemanlara bağlayan bir bağlantı yazılması mümkündür.</p>
<p>Böylelikle yukarıdaki şartımızı sağlamış ve iki küme arasında eşit miktarda eleman bulunduğunu göstermiş oluyoruz.</p>
<p>Bu konuyu anlatırken sorulmuş bir soruyu cevaplamak istiyorum: &#8220;Kümelerin venn diyagramlarında da, denklemlerin her ikisinde de Z kümesi, Z+ kümesine göre daha yavaş ilerliyor. Yani Y için 16 sayısına ulaşıldığında X için henüz 8 sayısına yeni ulaşılmış olunuyor. Bu durumda tam sayılar kümesi, pozitif tam sayılar kümesinden daha büyük değil midir?&#8221;</p>
<p>Bu soru ilk başta mantıklı gibi görülse de cevabı kesin olarak hayırdır. Bunun sebebi kümelerin sonsuz oluşudur. Yani sonsuzun sonu yoktur <span style="font-family:Wingdings">J</span> Bu durumu şöyle açıklayalım, yukarıdaki formülde yazılan X ve Y sayıları arasında neredeyse X=Y/2 veya Y = 2*X gibi bir bağlantı vardır. Bu durumda yukarıdaki soruya temel teşkil eden düşünceyi cevaplamak için sonsuzdaki bir sayıya n diyerek X=n için Y = 2n &#8216;dir sonucuna ulaşmak ve dolayısıyla n sonsuz ise 2n sonsuzdan daha büyük bir sonsuzdur gibi bir hataya düşmek mümkündür. Ancak buradaki hata iki türlü cevaplanabilir,</p>
<ol>
<li>Örnekteki n bir sayı olmak üzere, kümelerdeki son sayının n olduğunu söyleyemeyiz</li>
<li>Sayı kümesindeki n, sonsuzda bir sayı olmak şartıyla 2n&#8217;in sonsuzda olmadığını söyleyemeyiz.</li>
</ol>
<p>Dolayısıyla bu iki kümede de eşit sayıda eleman bulunur denilebilir.</p>
<p><strong><a name="1"></a>Rasyonel sayılar (kesirli sayılar, rational numbers) ile pozitif tam sayılar kümesi arasındaki sayısallık ilişkisi<br />
</strong></p>
<p>Yukarıdaki bu yaklaşım kullanılarak, kesirli sayılar ( rational numbers) kümesinin, tam sayılar kümesi ile aynı miktarda sonsuz eleman içerdiğini de ispatlayabiliriz. İhtiyacımız olan tek şey yukarıdaki örnekte bahsedildiği üzere pozitif tam sayılar kümesi, veya tam sayılar kümesi ile, kesirli sayılar (rasyonel sayılar) arasında bir bağlantı kurabilmek ve bu bağlantıyı modellemektir.</p>
<p>Öncelikle kesirli sayıları, iki boyutlu uzayda modellemekle işe başlayabiliriz. Kesirli sayılar kümesini aşağıdaki tabloda olduğu gibi yazmak mümkündür:</p>
<table style="border-collapse:collapse" border="0">
<colgroup>
<col style="width: 28px;"></col>
<col style="width: 38px;"></col>
<col style="width: 38px;"></col>
<col style="width: 38px;"></col>
<col style="width: 19px;"></col>
<col style="width: 38px;"></col>
</colgroup>
<tbody>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"></td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">1</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">2</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">3</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">.</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">n</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">1</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">1/1</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">1/2</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">1/3</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">.</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">1/n</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">2</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">2/1</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">2/2</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">2/3</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">.</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"></td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">3</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">3/1</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">3/2</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">3/3</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">.</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"></td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">.</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">.</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">.</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">.</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">.</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"></td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">n</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">.</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">.</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">.</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">.</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">n/n</td>
</tr>
</tbody>
</table>
<p>Yukarıdaki tabloda görüldüğü üzere ilk satır ve ilk sütun birer pozitif tam sayı içermek üzere, tablonun diğer elemanları bu iki sayının (üsttekinin soldakine) bölümüdür. Dolayısıyla aslında problemi aşağıdaki şekilde pozitif tamsayılar olarak modellemiş oluruz:</p>
<p><img src="http://www.bilgisayarkavramlari.com/wp-content/uploads/033110_1827_Cardinality13.png" alt="" /></p>
<p>Diğer bir deyişle şimdilik elimizde (Z+ x Z+) &lt;-&gt; Q+ şeklinde bir bağlantı bulunmaktadır. Bu bağlantıyı biraz daha ilerleterek Z &lt;-&gt; Q şeklinde çevirmeye çalışalım. Çünkü bu şekilde bir bağlantı bizim bu iki kümedeki eleman sayılarının eşit olduğunu kardinallik açısından ispatlamamız olacaktır.</p>
<p><img src="http://www.bilgisayarkavramlari.com/wp-content/uploads/033110_1827_Cardinality15.png" alt="" /></p>
<p>Yukarıdaki şekilde gösterilen ok yönlerinde bu sayıları, pozitif tam sayılar kümesi ile ilişkilendirirsek hem bir bağlantı yakalamış hem de birebir ve örten bir ilişki elde etmiş oluruz. Bu durumda sayılarımızı aşağıdaki şekilde ilişkilendireceğiz:</p>
<table style="border-collapse:collapse" border="0">
<colgroup>
<col style="width: 66px;"></col>
<col style="width: 76px;"></col>
</colgroup>
<tbody>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">Z+</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">Q+</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">1</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">1/1</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">2</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">2/1</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">3</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">1/2</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">4</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">3/1</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">5</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">1/3</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">6</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">4/1</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">7</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">3/2</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">…</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">…</td>
</tr>
</tbody>
</table>
<p>Yukarıda görüldüğü üzere, tam sayılar kümesindeki bütün sayılar, rasyonel sayılar kümesi ile ilişkilendirilmiştir. Ayrıca dikkat edilmesi gereken bir husus, 2/2 veya 3/3 gibi tam sayı karşılığı 1 olan ve aslında eşit olan sayıların bu ilişkide yer almamasıdır. Bu sayıların ilişkiye yerleştirilmesi durumunda birebir olma özelliği bozulacaktır.</p>
<p>Yukarıdaki gösterim sayesinde, bu iki kümenin, yani rasyonel sayılar kümesi ile tam sayılar kümesi arasında bir ilişki birebir ve örten olarak kurulmuş ve bu sayede bu iki kümenin eleman sayısının eşit olduğu ve dolayısıyla bu iki kümenin sayısallık (kardinallik, cardinality) açısından eşit olduğu söylenebilir.</p>
<p><strong><a name="2"></a>Sayılabilirlik (countability)<br />
</strong></p>
<p>Diğer bir deyişle rasyonel sayılar kümesi sayılabilir bir kümedir (countable set) denilebilir. Aslında sayılabilirliğin (countability) tanımı, bir kümenin pozitif tam sayılar kümesi ile aynı kardinalliğe getirilebilmesidir. Yani herhangi bir kümeyi, yukarıdaki örneklere benzer şekilde pozitif tam sayılar ile birebir ve örten bir şekilde ilişkilendirebiliyorsak bu küme sayılabilir kümedir, aksi halde sayılamaz bir kümedir (uncountable set).</p>
<p>Bu sayılamazlık durumunu ve dolayısıyla kardinallik açısından eşit olmayan iki sonsuz kümeyi aşağıda örneklemeye çalışalım. Bu sefer kullanacağımız örnek gerçek sayılar (real numbers, reel sayılar) ile tam sayılar kümesi (integers) olsun.</p>
<p><strong><a name="3"></a>Tam sayılar ve Reel sayılar arasında sayısallık ilişkisi<br />
</strong></p>
<p>Bu örnekte, tam sayılar kümesi ve reel sayılar kümesi arasında sayısallık açısından eşitlik olmadığını ispatlamaya çalışalım.</p>
<p>Öncelikle ispatımızı, <a href="http://www.bilgisayarkavramlari.com/2008/08/02/burhan-i-mutenakis-proof-by-contradiction-olmayana-ergi/">olmayana ergi (proof by contradiction)</a> olarak modelliyoruz. Yani öncelikle reel sayılar kümesinin sayılabilir olduğunu kabul edip, bu sayı kümesi ile pozitif tam sayılar kümesi arasında bir ilişki kuracağız. Ardından bu ilişkinin kurulamayacağını ispatlamaya çalışacağız.</p>
<p>Öncelikle ilişki gösterimini ve ispatı daha iyi anlayabilmek için bu ispatta <a href="http://www.bilgisayarkavramlari.com/2009/10/08/sayi-tabanlari-number-bases-2/">ikilik tabanda sayılar</a> kullanalım. Yani 2 sayısı ikilik tabanda 10 olarak gösterilir. Dolayısıyla 0.2 sayısı 0.10 olarak gösterilir. Benzer şekilde 0.15438 sayısı 0.11110001001110 olarak gösterilecektir. Aslında bu gösterimin herhangi özel bir önemli olmamakla birlikte ispatı daha görülür kılmak için kullanacağız.</p>
<p>Şimdi doğru çalışan bir ilişkimiz olduğunu kabul edelim ve aşağıdaki şekilde gösterildiği gibi, tam sayılar ile reel sayılar kümesini ilişkilendirelim:</p>
<table style="border-collapse:collapse" border="0">
<colgroup>
<col style="width: 37px;"></col>
<col style="width: 151px;"></col>
</colgroup>
<tbody>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">Z+</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">Q+</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">1</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">0.110101010100101…</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">2</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">0.010101010110101…</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">3</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">0.100100100101110…</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">4</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">0.001010101010001…</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">5</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">0.111110101010000…</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">6</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">0.111000011111111…</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">…</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">…</td>
</tr>
</tbody>
</table>
<p>Yukarıdaki şekilde görüldüğü üzere, Z+ &lt;-&gt; Q+ ilişkisi kurulmuştur. Bu ilişkide herhangi bir matematiksel bağlantı bulunmadığı gibi sonuçta bütün ilişkilerde yukarıdakine benzer bir tablo ortaya çıkacaktır. Okuyucu birazdan yapacağımız ispatı, farklı sayılar veya herhangi bir matematiksel bağlantı için de deneyebilir sonuç değişmez.</p>
<p>Yukarıdaki şekilde tamsayılar ve reel sayılar arasında bir ilişki kurduktan sonra, kantor (Georg Cantor) tarafından ilk kez ispatlanan sayılamazlık durumu, köşegende (diagon) bulunan sayıların ters çevrilmesi ile elde edilir.</p>
<p>Yukarıdaki her sayının kaçıncı satırdaysa, o bitini alarak yeni bir sayı oluşturuyoruz.</p>
<table style="border-collapse:collapse" border="0">
<colgroup>
<col style="width: 37px;"></col>
<col style="width: 151px;"></col>
</colgroup>
<tbody>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">Z+</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">Q+</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">1</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">0.<strong>1</strong>10101010100101…</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">2</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">0.0<strong>1</strong>0101010110101…</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">3</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">0.10<strong>0</strong>100100101110…</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">4</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">0.001<strong>0</strong>10101010001…</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">5</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">0.1111<strong>1</strong>0101010000…</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">6</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">0.11100<strong>0</strong>011111111…</td>
</tr>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">…</td>
<td style="padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt">…</td>
</tr>
</tbody>
</table>
<p>Yukarıda, siyah renkle gösterilen bu sayılardan oluşan yeni sayımız: 0.110010… olarak belirlenebilir. Şimdi bu sayıdaki bütün bitlerin tersini alalım : 0.001101… olarak yeni bir sayı bulunacaktır.</p>
<p>Şimdi bu iki kümenin eşit olmadığını gösteren sorumuzu sorabiliriz, bulduğumuz bu yeni sayı, acaba yukarıdaki ilişkide hangi satırda yer almaktadır?</p>
<p>Cevap: Hiçbir satırda.</p>
<p>Bunun sebebi, her satırdan 1 bit alınarak oluşturulan yukarıdaki örnek sayının, tersi alındığında, her satırdan alınan bu bitin tersi alınmış ve dolayısıyla her satıra denk gelen bitin tersinden oluşan yeni bir sayı üretilmiş olmasıdır. Dolayısıyla hiçbir satırda ürettiğimiz bu yeni sayı bulunamaz.</p>
<p>Öyleyse, Z+ kümesi ile Q+ kümesini bağlamak için hangi bağlantı kullanılırsa kullanılsın, nasıl bir sayma yöntemi geliştirilirse geliştirilsin sonuçta yukarıdakine benzer bir durum olacak ve bu ilişkide bulunmayan bir reel sayı üretilerek iki küme arasındaki örten (onto) bağlantısı bozulacak ve reel sayılar kümesinde, tam sayılar kümesi ile ilişkilendirilmemiş bir eleman bulunacaktır.</p>
<p>Bu durumda reel sayılar kümesinin, tam sayılar kümesinden daha büyük olduğunu ve dolayısıyla sayılamaz olduğunu söyleyebiliriz.</p>

<p class="sayac_bilgi">431 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2010/03/31/cardinality-sayisallik/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>İkinci Derece Mantık (Second Order Logic)</title>
		<link>http://www.bilgisayarkavramlari.com/2010/03/27/ikinci-derece-mantik-second-order-logic/</link>
		<comments>http://www.bilgisayarkavramlari.com/2010/03/27/ikinci-derece-mantik-second-order-logic/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 13:17:23 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[bilgisayar felsefesi]]></category>
		<category><![CDATA[high order logic]]></category>
		<category><![CDATA[ikinci derece mantık]]></category>
		<category><![CDATA[predicate]]></category>
		<category><![CDATA[quantifier]]></category>
		<category><![CDATA[second oder logic]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2010/03/27/ikinci-derece-mantik-second-order-logic/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Bilgisayar bilimleri de dahil olmak üzere, felsefe, matematik veya dilbilim gibi pek çok alanda kullanılan bir mantık modellemesinin ismidir. Buna göre modellenecek sistemdeki varlıklar ve bu varlıklar üzerine uygulanacak olan işlemler ayrı ayrı ele alınır ve sistemde modellenen hem varlıkların hem de işlemlerin geçerli olduğu bir etki alanından söz edilebilir. [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Bilgisayar bilimleri de dahil olmak üzere, felsefe, matematik veya dilbilim gibi pek çok alanda kullanılan bir mantık modellemesinin ismidir. Buna göre modellenecek sistemdeki varlıklar ve bu varlıklar üzerine uygulanacak olan işlemler ayrı ayrı ele alınır ve sistemde modellenen hem varlıkların hem de işlemlerin geçerli olduğu bir etki alanından söz edilebilir.</p>
<p>İkinci derece mantığı anlamak için <a href="http://www.bilgisayarkavramlari.com/2010/03/24/birinci-derece-mantik-first-order-logic/">basitçe birinci derece mantık (first order predicate calculus, first order logic)</a> ile farkını anlamamız yeterlidir.</p>
<p>Birinci derece mantıkta, klasik mantıktan farklı olarak niceleyiciler (quantifiers) kullanılmakta ve bu niceleyicilerin geçerli olduğu bir etki alanından (domain) bahsetmek mümkündü. Ancak bu niceleyiciler üzerindeki tanımları ve işlemleri ifade eden <a href="http://www.bilgisayarkavramlari.com/2009/05/07/haber-predicate/">haberler (perdicates)</a> üzerinde herhangi belirleyici bir işlem yapılamıyordu.</p>
<p>Örneğin aşağıdaki birinci derece mantıkta modellenmiş iki gösterimi ele alalım:</p>
<p><span style="font-family:Cambria Math">∃</span>a (Şadi (a) <span style="font-family:Cambria Math">∧</span> Mühendis(a)) → Öyle bazı a&#8217;lar vardır ki, bu a&#8217;nın ismi Şadi&#8217;dir ve bu a mühendistir.</p>
<p><span style="font-family:Cambria Math">∀</span>a (Bilgisayar Mühendisi (a) <span style="font-family:Cambria Math">⇒</span> Mühendis(a)) → Bütün a&#8217;lar için, a şayet bilgisayar mühendisiyse; a, aynı zamanda mühendistir.</p>
<p>Yukarıdaki bu gösterimlerde dikkat edileceği üzere niceleyici (quantifier) olan a üzerinde bir etki alanı tanımlanmıştır buna mukabil <a href="http://www.bilgisayarkavramlari.com/2009/05/07/haber-predicate/">haberler (predicates)</a> üzerinde bir etki alanı tanımlanmamış ve bilgisayar mühendisi tanımı olduğu gibi bırakılmıştır. İşte ikinci derece mantık tam burada devreye girer ve bu haberlerin (predicates) üzerinde de etki alanı tanımını mümkün kılar.</p>
<p>Bu durumu aşağıdaki örnek üzerinden anlamaya çalışalım:</p>
<p><span style="font-family:Cambria Math">∃ Şekil (Ş</span>ekil (a)<span style="font-family:Cambria Math"> ∧</span> Şekil (b)) → Öyle bir şekilden bahsedilebilir ki, hem a hem de b aynı şekildedir.</p>
<p>Yukarıdaki bu durum birinci seviyede yazılamaz. Bunun sebebi şekil belirten haberin (predicate) her durumda aynı olması gerekliliğidir. Diğer bir deyişle birinci seviye mantıkta tek bir şekilden bahsedilebilir, özel bir şekil olamaz.</p>
<p>Bu durumu biraz daha iler götürürsek haberler (predicates) üzerinde de haberler tanımlamak mümkündür. Yani haberin haberi şeklinde bu durumu modelleyebiliriz.</p>
<p><span style="font-family:Cambria Math">∃ Şekil ( </span>Köşeli ( Şekil) <span style="font-family:Cambria Math">∧ Ş</span>ekil (a)<span style="font-family:Cambria Math"> ∧</span> Şekil (b))</p>
<p>Yukarıdaki bu tanımda, bir şeklin köşeli olacağı, ve bu durumda a ve b niceleyicilerinin bu şekilden olabileceği tanımı yapılmıştır.</p>
<p>Bu anlamda <a href="http://www.bilgisayarkavramlari.com/2010/03/24/birinci-derece-mantik-first-order-logic/">birinci seviye mantıktan</a> daha kapsamlı modellemeler yapılabilir.</p>

<p class="sayac_bilgi">104 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2010/03/27/ikinci-derece-mantik-second-order-logic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Birinci Derece Mantık (First Order Logic)</title>
		<link>http://www.bilgisayarkavramlari.com/2010/03/24/birinci-derece-mantik-first-order-logic/</link>
		<comments>http://www.bilgisayarkavramlari.com/2010/03/24/birinci-derece-mantik-first-order-logic/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 10:05:27 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[bilgisayar felsefesi]]></category>
		<category><![CDATA[Bilgisayar Matematiği]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2010/03/24/birinci-derece-mantik-first-order-logic/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin de aralarında bulunduğu, başta felsefe olmak üzere, matematik ve dilbilim gibi alanlarda kullanılan bir mantık modelidir. Bu modelin özelliği kıyas ve tümden gelim yaklaşımına göre ispatlanabilir özellikte olmasıdır (deductive). Yani bir makine, veya matematiksel model tarafından bu mantık modelindeki gösterimlerin ispatlanması (verification) veya reddedilmesi (falsification) mümkündür. Birinci derece [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Bilgisayar bilimlerinin de aralarında bulunduğu, başta felsefe olmak üzere, matematik ve dilbilim gibi alanlarda kullanılan bir mantık modelidir. Bu modelin özelliği kıyas ve tümden gelim yaklaşımına göre ispatlanabilir özellikte olmasıdır (deductive). Yani bir makine, veya matematiksel model tarafından bu mantık modelindeki gösterimlerin ispatlanması (verification) veya reddedilmesi (falsification) mümkündür.</p>
<p>Birinci derece mantık, literatürde çeşitli isimlerle adlandırılmaktadır. Örneğin, mantığın üzerine inşa edildiği <a href="http://www.bilgisayarkavramlari.com/2009/05/07/haber-predicate/">yüklem ve haberlerden(predicate) </a> ismini alan  &#8220;birinci derece haber mantığı&#8221; (first order predicate logic) veya bu mantık üzerinde matematiksel işlemlere izin vermesinden dolayı birinci derece yüklem aritmetiği (first order predicate calculus) veya yine birinci derece kelimesinin sebebi olan ve mantıkta <a href="http://www.bilgisayarkavramlari.com/2007/11/29/onermeler-mantigi-propositional-logic/">kaziyeler mantığına (önermeler, propositional logic)</a> yakın olması dolayısıyla alçak haber mantığı (lower predicate calculus) isimleri gibi farklı isimler verilmektedir.</p>
<p>Birinci derece mantığın, klasik kaziye mantığından (önermeler mantığı, propositional logic) en önemli farkı, bu mantıkta kullanılan niceleyicilerin (quantifiers) veya bilgisayar bilimleri gözüyle <a href="http://www.bilgisayarkavramlari.com/2008/09/08/degisken-variable/">değişkenlerin (variable)</a> belirli bir tanım alanlarının olmasıdır (domain). Dolayısıyla birinci derece mantıkta yapılan modellemelerde kullanılan bütün niceleyiciler tanımlı bir alanda geçerlidir ve mantık modellerimiz bu alan için doğru veya yanlış olarak işlenir.</p>
<p>Bu tanımlı olma özelliğinin getirdiği bir zafiyet olarak, birinci derece mantıkta sonuz kümeler olan, doğal sayılar veya Kartezyen uzay gibi varlıkların modellenmesi ve çözümlenmesi mümkün olmamaktadır. Bu tür sonsuzluk içeren modellemeler için ikinci derece mantık (second order logic) benzeri daha kuvvetli mantık modellemelerinden yararlanmak mümkündür.</p>
<p>Haber mantığından birinci derece mantığa geçiş</p>
<p>Birinci derece mantık konusunu anlamak için öncelikle klasik, <a href="http://www.bilgisayarkavramlari.com/2007/11/29/onermeler-mantigi-propositional-logic/">kaziyeler mantığının (propositional logic)</a> nasıl çalıştığını hızlıca hatırlayalım.</p>
<p>Örneğin &#8220;Şadi mühendistir.&#8221; cümlesi, klasik mantık açısından bir kaziyedir (önermedir) ve doğru veya yanlıştır.</p>
<p>Benzer şekilde &#8220;Ali mühendistir.&#8221; Cümlesi de klasik mantık açısından bir kaziyedir ve tek başına ele alınarak doğruluğu veya yanlışlığı ortaya konulabilir.</p>
<p>Ancak klasik kaziye mantığında bu iki ayrı cümle (kaziye veya önerme) yine bu mantıkta tanımlı olan <a href="http://www.bilgisayarkavramlari.com/2009/05/20/islem-onceligi-operator-precedence/">klasik işlemler (operators)</a> dışında birleştirme ve modelleme yapılamaz.</p>
<p>Örneğin bu önermelerden birisine p ve diğerine q sembolü verilip mantıkta bulunan aşağıdaki durumlar modellenebilir:</p>
<p>p <span>⇒</span> q (Şadi mühendis ise Ali de mühendistir)</p>
<p>p <span>∧ </span><span style="font-family:Symbol"></span> q (Şadi de Ali de mühendistir)</p>
<p>p  <span>∨ </span>q (Şadi veya Ali mühendistir)</p>
<p><span>¬</span> p  (Şadi mühendis değildir)</p>
<p>Yukarıdaki bu modeller sonuçta doğru (True (T) ) veya yanlış (False (F, <span>⊥</span> )) sonuçlarından birisini üretir.</p>
<p>Birinci derece mantık, yukarıdaki bu modellemeyi öncelikle niceleyiciler (quantifier) üzerine taşır. Bu niceleyiciler, bilgisayar bilimlerindeki değişkenler (variables) olarak düşünülebilirler ve kabaca bir varlığa verilen ve mantık modelinde kullanılan isim olarak tanımlanabilir.</p>
<p>Yukarıdaki &#8220;Şadi mühendistir&#8221; cümlesini ele alacak olursak birinci derece mantıkta aşağıdaki şekilde göstermek mümkündür:</p>
<p>Şadi (a) <span>⇒</span> Mühendis(a)</p>
<p>Modeli okurken &#8220;öyle bir &#8220;a&#8221; vardır ki bu &#8220;a&#8221;&#8216;nın ismi Şadi&#8217;dir ve bu &#8220;a&#8221; mühendistir&#8221; şeklinde okuyabiliriz. Burada kullanılan a bir niceleyicidir (quantifier) ve bu niceleyici üzerinde bir haber(predicate) bildirilmiştir.  Bu modelde, klasik modele göre fark net bir şekilde görülmektedir. Tam bu noktada klasik mantıkta soramayacağımız ama birinci derece mantıkta sorulması gereken &#8220;bu a nasıl bir a&#8217;dır?&#8221; sorusu farkı ortaya koyar. Birinci derece mantıkta bu sorunun anlamı, bu bütün a&#8217;lar için geçerli midir, anlamındadır. Yukarıdaki tanımda da anlatıldığı üzere birinci derece mantıkta niceleyicilerin (quantifiers) bir etki alanının olması söz konusudur. Yani a ile sembolize edilen bu gösterici acaba her durum için geçerli bir sembol müdür?</p>
<p>Bu sorunun cevabını farkı anlayabilmek için açık bir şekilde hayır diye verebiliriz. Yukarıdaki a niceleyicisi her durumda doğru olsaydı, bütün ismi Şadi olanlar mühendistir sonucuna varılması gerekirdi ki bu doğru değildir.</p>
<p>İşte bu ayrım bize birinci derece mantıkta kullanılan iki önemli sembolü gösterir. Bunlardan birincisi &#8220;her&#8221; anlamına gelen (<span>∀</span>) sembol iken diğeri &#8220;öyle bazı&#8221; şeklinde okunabilecek (<span>∃</span>) semboldür.</p>
<p>Yukarıdaki örneğimizi düzenleyecek olursak aşağıdaki gösterim doğrudur ve sonucu da doğrudur:</p>
<p><span>∃</span>a (Şadi (a) <span>∧</span><span style="font-family:Symbol"></span> Mühendis(a)) <span style="font-family:Wingdings"></span>→ Öyle bazı a&#8217;lar vardır ki, bu a&#8217;nın ismi Şadi&#8217;dir ve bu a mühendistir.</p>
<p><span>∀</span>a (Bilgisayar Mühendisi (a) <span>⇒</span> Mühendis(a)) → Bütün a&#8217;lar için, a şayet bilgisayar mühendisiyse; a, aynı zamanda mühendistir.</p>
<p>Yine, yukarıdaki gösterim kullanılarak söylenebilecek doğru bir model de aşağıdaki gibi olabilir:</p>
<p><span>∃</span>a (Şadi (a) <span>∧</span><span style="font-family:Symbol"> </span><span>¬</span> Mühendis(a)) → Öyle bazı a&#8217;lar vardır ki, bu a&#8217;nın ismi Şadi&#8217;dir ve bu a mühendis değildir.</p>

<p class="sayac_bilgi">324 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2010/03/24/birinci-derece-mantik-first-order-logic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zeki Vekiller (Akıllı Ajanlar, Intelligent Agents, Zeki Etmenler )</title>
		<link>http://www.bilgisayarkavramlari.com/2010/02/15/zeki-vekiller-akilli-ajanlar-intelligent-agents-zeki-etmenler/</link>
		<comments>http://www.bilgisayarkavramlari.com/2010/02/15/zeki-vekiller-akilli-ajanlar-intelligent-agents-zeki-etmenler/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 14:02:15 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[bilgisayar felsefesi]]></category>
		<category><![CDATA[Bilgisayar Kavramları]]></category>
		<category><![CDATA[yapay zeka (artificial intelligence)]]></category>
		<category><![CDATA[Yazılım Mühendisliği (Software Engineering)]]></category>
		<category><![CDATA[agent]]></category>
		<category><![CDATA[intelligent agents]]></category>
		<category><![CDATA[vekil]]></category>
		<category><![CDATA[zeki etmenler]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2010/02/15/zeki-vekiller-akilli-ajanlar-intelligent-agents-zeki-etmenler/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Zeki vekiller (etmenler, ajanlar) kavram olarak, bilgisayar bilimlerine, felsefe, biyoloji ve ekonomi alanındaki çalışmalardan sonra girmiştir. Bu alanlardaki anlamı ve kullanımı, genellikle herhangi bir işin farklı bir vekil tarafından yürütülmesi olarak anlaşılabilir. Bilgisayar bilimlerin açısından zeki kelimesi, bir vekilin herhangi bir işlemi belirli inisiyatifler kullanarak yerine getirmesidir. Örneğin zeki olmayan [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Zeki vekiller (etmenler, ajanlar) kavram olarak, bilgisayar bilimlerine, felsefe, biyoloji ve ekonomi alanındaki çalışmalardan sonra girmiştir. Bu alanlardaki anlamı ve kullanımı, genellikle herhangi bir işin farklı bir vekil tarafından yürütülmesi olarak anlaşılabilir.</p>
<p>Bilgisayar bilimlerin açısından zeki kelimesi, bir vekilin herhangi bir işlemi belirli inisiyatifler kullanarak yerine getirmesidir. Örneğin zeki olmayan bir vekil, her adımda ve her işlemde kullanıcıya bir şeyler sorarken, zeki vekilde daha çok otonom bir yapıdan (autonomous) bahsedilebilir.</p>
<p>Bu anlamda her zeki vekilin (intelligent agent) , çalıştığı ortam ile iletişimini sağladığı ve bu iletişim üzerinde karar verdiği bir mekanizması vardır denilebilir.</p>
<p><img src="http://www.bilgisayarkavramlari.com/wp-content/uploads/021510_1402_ZekiVekille1.png" alt="" /></p>
<p>Yukarıdaki temsili resimde, bir zeki vekil, çizgili alanda gösterilen üç ana unsurdan ibarettir. Bunlar kısaca vekilin çalıştığı ortamı gözlediği <a href="http://www.bilgisayarkavramlari.com/2008/10/04/sinir-aglarinda-katmanlar-neuron-layers/">algı (perception)</a> , vekilin bu ortamda bir işlem yapmasını sağlayan eylem (action) ve vekilin bu ortamdaki algısına göre nasıl bir eylem yapacağına karar vermesini sağlayan karar mekanizmasıdır. Bu karar mekanizması çoğu zaman bir kurallar listesi (rule base) olabileceği gibi bazı durumlarda basit bir if – else bloğu da olabilmektedir.</p>
<p>Russel ve Norving tarafından 2003 yılında yayınlanan yapay zeka kitabında, zeki vekiller 5 seviyede listelenmiştir. Bu seviyeleri basitten karmaşığa doğru aşağıdaki şekilde sıralayabiliriz:</p>
<ol>
<li>Fiil-i Münakıs Vekiller (reflex agents)</li>
<li>Fiil-i Münakıs Kalıp Vekiller (Model-based reflex agents)</li>
<li>Hedef  vekilleri ( goal-based agents)</li>
<li>Fayda vekilleri ( utility-based agents)</li>
<li>Öğrenen vekiller ( learning agents)</li>
</ol>
<p>Reflex Agents</p>
<p>Basit bir koşul ve eylem sıralamasından ibaret olan vekiller. Belirlenen koşul gerçekleşince yine daha önceden belirlenen fiili yerine getirir. Kurulu bir düzenek olarak düşünülebilir. Örneğin fare kapanı, bir insan için fareyi yakalayan bir vekildir ve farenin peyniri yemesiyle birlikte fareyi yakalar. Buradaki peynir yenmesi koşul ve farenin yakalanması fiil olarak düşünülebilir. Bazı refleks ajanlarında durum takibi de yapılabilir.  Örneğin fare kapanı misalinde olduğu gibi kapanın kurulu olma durumu, kapanın fareyi yakalamış  olma durumu gibi durumlar ayrı ayrı tahlil edilebilir.</p>
<p>Model Bazlı Refleks etkenler</p>
<p>Bu tip ajanlarda (etkenlerde) ise içinde çalışılan ortam modellenir. Yani ajan kendi yapısına göre ortamı anlamaya ve bir modelini kendi hafızasında tutmaya çalışır. Bu ajanlar modeldeki durumlara göre davranış sergilerler. Yani bir önceki tipte olan refleks ajanlarının ortamdan aldıkları doğrudan koşullarından farklı olarak bu ajanların modellerinde bazı refleksler tanımlıdır.</p>
<p>Hedef Güdümlü Vekiller</p>
<p>Bu vekiller ise belirli bir hedefe ulaşmak için bir dizi şart-fiil gerçekleştirirler. Basit bir durum-geçiş diyagramı (state transition diagram) olarak düşünülebilecek yapılarına göre, ortamı algılayarak mevcut yapılarındaki bir duruma benzetir ve bu durumu ulaşmak istedikleri hedefe en uygun şekilde eylemlerle değiştirmeye çalışır.</p>
<p>Çıkar Amaçlı Vekiller</p>
<p>Hedef amaçlı vekillerden farklı olarak, durumlar arasındaki geçişin oransal olması durumudur. Yani hedef güdümlü ajanlarda bir durumdan her zaman diğer duruma geçiş hedeflenir. Çıkar amaçlı vekillerde bundan farklı olarak oransal bir fonksiyon kullanılması söz konusudur. Bu fonksiyona çıkar fonksiyonu ( fayda fonksiyonu, utility function) ismi verilir.</p>
<p>Öğrenen Etkenler</p>
<p>Bu etken tipinde, ortamda yapılan bazı eylemlerin beklenen sonuca nasıl hizmet ettiğine göre yeni kurallar tanımlanır. Ajanın çalıştığı ortamın bilinmemesi halinde kullanılışlıdırlar.  Kendi kurallarını ve durum makinelerini oluşturabilir veya değiştirebilirler.</p>

<p class="sayac_bilgi">296 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2010/02/15/zeki-vekiller-akilli-ajanlar-intelligent-agents-zeki-etmenler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

