<?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 Standartları</title>
	<atom:link href="http://www.bilgisayarkavramlari.com/category/bilgisayar-standartlari/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>ICMP (Internet Kontrol Mesajı Protokolü)</title>
		<link>http://www.bilgisayarkavramlari.com/2011/09/14/icmp-internet-kontrol-mesaji-protokolu/</link>
		<comments>http://www.bilgisayarkavramlari.com/2011/09/14/icmp-internet-kontrol-mesaji-protokolu/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 11:49:10 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[Bilgisayar Standartları]]></category>
		<category><![CDATA[Network(Ağ)]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2011/09/14/icmp-internet-kontrol-mesaji-protokolu/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER İngilizce, Internet Control Message Protocol kelimelerinin baş harflerinden oluşan kısaltmadır. Türkçe olarak İnternet Tespit Mesajı Teşrifatı olarak çevrilebilir. Genel olarak işletim sistemleri tarafından, ağda bulunan cihazların durumunu tespit amaçlı kullanılan bir teşrifattır (protocol). Örneğin bir cihaza erişilip erişilemediğini tespit için gönderilen mesaj tipidir. ICMP mesajları, birer IP paketi halinde yollanmaktadır. [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>İngilizce, Internet Control Message Protocol kelimelerinin baş harflerinden oluşan kısaltmadır. Türkçe olarak İnternet Tespit Mesajı Teşrifatı olarak çevrilebilir.</p>
<p>Genel olarak işletim sistemleri tarafından, ağda bulunan cihazların durumunu tespit amaçlı kullanılan bir <a href="http://www.bilgisayarkavramlari.com/2009/08/22/3317/">teşrifattır (protocol).</a> Örneğin bir cihaza erişilip erişilemediğini tespit için gönderilen mesaj tipidir.</p>
<p>ICMP mesajları, birer IP paketi halinde yollanmaktadır. ICMP hem UDP hem de TCP üzerinde çalışabilmektedir ancak çalıştığı protokole göre farklılık gösterebilir. Örneğin UDP paketlerine itibar etmek doğru olmaz çünkü paket kaybı olabilir.</p>
<p>ICMP paketleri ayrıca üzerinde çalıştıkları <a href="http://www.bilgisayarkavramlari.com/2008/01/11/gecis-gunu-flag-day/">IP sürümüne göre (IP Version)</a> ismlendirilmektedirler. Örneğin IPv4 için olan paketlere ICMPv4, <a href="http://www.bilgisayarkavramlari.com/2008/01/11/gecis-gunu-flag-day/">IPv6</a> için olanlara ise ICMPv6 ismi verilmektedir.</p>
<p>ICMP paketlerinin 8 byte uzunluğunda bir başlığı (header) ve bunu takip eden ve değişken boyutta veri kısmı bulunur. Klasik bir windows ICMP paketi 32 byte uzunluğundaykey, klasik bir UNIX / Linux paketi ise 64 byte uzunluğundadır. Bu durumda windows için veri uzunluğu 24 byte, linux için ise 56 byte olmaktadır.</p>
<p>ICMP paketinin başlığında ilk byte, ICMP tipini belirtir. İkinci byte ICMP kodunu, üçüncü ve dördüncü bytelar ise paketin tamamının, <a href="http://www.bilgisayarkavramlari.com/2008/01/12/internet-toplam-kontrolu-internet-checksum/">toplam kontrolünü (check sum)</a> belirtir. Başlık boyutunun 8 byte olduğunu belirtimiştik, geri kalan 4 byte ise ICMP tip ve koduna göre değişiklik göstermektedir. Bu durumda ICMP paketi aşağıdaki yapıda olacaktır:</p>
<div>
<table style="border-collapse: collapse;" border="0">
<colgroup>
<col style="width: 52px;" />
<col style="width: 56px;" />
<col style="width: 68px;" />
<col style="width: 92px;" />
<col style="width: 92px;" /></colgroup>
<tbody valign="top">
<tr style="background: #8064a2;">
<td style="padding-left: 7px; padding-right: 7px; border: solid 0.5pt;">
<p style="text-align: center;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>Bit</strong>ler</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 0.5pt; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;">
<p style="text-align: center;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>0–7</strong></span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 0.5pt; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;">
<p style="text-align: center;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>8–15</strong></span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 0.5pt; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;">
<p style="text-align: center;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>16–23</strong></span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 0.5pt; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;">
<p style="text-align: center;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>24–31</strong></span></p>
</td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>0</strong></span></td>
<td style="background: #d8d8d8; padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;">
<p style="text-align: center;"><span style="font-family: Times New Roman; font-size: 12pt;">Tip</span></p>
</td>
<td style="background: #d8d8d8; padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;">
<p style="text-align: center;"><span style="font-family: Times New Roman; font-size: 12pt;">Kod</span></p>
</td>
<td style="background: #d8d8d8; padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;" colspan="2">
<p style="text-align: center;"><a href="http://www.bilgisayarkavramlari.com/2008/01/12/internet-toplam-kontrolu-internet-checksum/"><span style="font-family: Times New Roman; font-size: 12pt;">Toplam Kontrolü</span></a></p>
</td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 2.25pt; border-right: solid 0.5pt;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>32</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: none; border-bottom: solid 0.5pt; border-right: solid 0.5pt;" colspan="4">
<p style="text-align: center;"><span style="font-family: Times New Roman; font-size: 12pt;">Başlığın tipine ve koduna bağlı olarak devamı</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p>&nbsp;</p>
<p><span style="font-family: Times New Roman; font-size: 12pt;"><strong>Yukarıdaki tiplerin değerine örnek olması açısından aşağıdaki tablodan istifade edilebilir:<br />
</strong></span></p>
<div>
<table style="border-collapse: collapse;" border="0">
<colgroup>
<col style="width: 38px;" />
<col style="width: 386px;" /></colgroup>
<tbody valign="top">
<tr style="background: #8064a2;">
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 2.25pt; border-left: none; border-bottom: solid 2.25pt; border-right: none;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>Tip </strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 2.25pt; border-left: none; border-bottom: solid 2.25pt; border-right: none;">
<p style="text-align: center;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;">Açıklama</span></p>
</td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>0</strong></span></td>
<td style="background: #d8d8d8; padding-left: 7px; padding-right: 7px;"><span style="font-family: Times New Roman; font-size: 12pt;">Eko yanıt-ping yanıtı(Echo Reply)</span></td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>3</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px;"><span style="font-family: Times New Roman; font-size: 12pt;">Hedefe Erişilemedi(Destnation Not Reachable)</span></td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>4</strong></span></td>
<td style="background: #d8d8d8; padding-left: 7px; padding-right: 7px;"><span style="font-family: Times New Roman; font-size: 12pt;">Kaynak Kapatmak(Source Quench)</span></td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>5</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px;"><span style="font-family: Times New Roman; font-size: 12pt;">Yeniden Yönlendirme(Redirection Required)</span></td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>8</strong></span></td>
<td style="background: #d8d8d8; padding-left: 7px; padding-right: 7px;"><span style="font-family: Times New Roman; font-size: 12pt;">Eko yanıt-ping isteği(Echo Request)</span></td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>9</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px;"><span style="font-family: Times New Roman; font-size: 12pt;">Yönlendirici tanıtımı</span></td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>10</strong></span></td>
<td style="background: #d8d8d8; padding-left: 7px; padding-right: 7px;"><span style="font-family: Times New Roman; font-size: 12pt;">Yönlendirici istemi</span></td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>11</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px;"><span style="font-family: Times New Roman; font-size: 12pt;">Zaman aşımı&#8211;traceroute kullanır(Time to Live Exceeded)</span></td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>12</strong></span></td>
<td style="background: #d8d8d8; padding-left: 7px; padding-right: 7px;"><span style="font-family: Times New Roman; font-size: 12pt;">Parametre Problemi(Parameter Problem)</span></td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>13</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px;"><span style="font-family: Times New Roman; font-size: 12pt;">Timestamp İstemi(Timestamp Request)</span></td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>14</strong></span></td>
<td style="background: #d8d8d8; padding-left: 7px; padding-right: 7px;"><span style="font-family: Times New Roman; font-size: 12pt;">Timestamp Yanıtı(Timestamp Reply)</span></td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>15</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px;"><span style="font-family: Times New Roman; font-size: 12pt;">Bilgi İstemi(Information Request)</span></td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>16</strong></span></td>
<td style="background: #d8d8d8; padding-left: 7px; padding-right: 7px;"><span style="font-family: Times New Roman; font-size: 12pt;">Bilgi Yanıtı(Information Reply)</span></td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>17</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px;"><span style="font-family: Times New Roman; font-size: 12pt;">Addres Maskesi istemi(Address Mask Request)</span></td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none; border-bottom: solid 2.25pt;"><span style="color: white; font-family: Times New Roman; font-size: 12pt;"><strong>18</strong></span></td>
<td style="background: #d8d8d8; padding-left: 7px; padding-right: 7px; border-bottom: solid 2.25pt;"><span style="font-family: Times New Roman; font-size: 12pt;">Addres Maskesi yanıtı(Address Mask Reply)</span></td>
</tr>
</tbody>
</table>
</div>
<p><span style="font-family: Times New Roman; font-size: 12pt;">Yukarıdaki her tip için ayrıca kodlar bulunmaktadır.<br />
</span></p>
<p>Örneğin 5 numaralı tip olan yeniden yönlendirme tipinin (redirection required) alt kodları olarak aşağıdaki tabloda yer alan değerlerden birisi atanabilir:</p>
<p>&nbsp;</p>
<div>
<table style="border-collapse: collapse;" border="0">
<colgroup>
<col style="width: 37px;" />
<col style="width: 511px;" /></colgroup>
<tbody valign="top">
<tr style="background: #8064a2;">
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 2.25pt; border-left: none; border-bottom: solid 2.25pt; border-right: none;">
<p style="text-align: center;"><span style="color: white;">Kod</span></p>
</td>
<td style="padding-left: 7px; padding-right: 7px; border-top: solid 2.25pt; border-left: none; border-bottom: solid 2.25pt; border-right: none;">
<p style="text-align: center;"><span style="color: white;">Açıklama</span></p>
</td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none;"><span style="color: white;"><strong>0</strong></span></td>
<td style="background: #d8d8d8; padding-left: 7px; padding-right: 7px;">Ağ için yönlendir (Redirect Datagram for the Network )</td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none;"><span style="color: white;"><strong>1</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px;">Sahibi için yönlendir (Redirect Datagram for the Host)</td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none;"><span style="color: white;"><strong>2</strong></span></td>
<td style="background: #d8d8d8; padding-left: 7px; padding-right: 7px;">Servis tipine göre ve ağa göre yönlendir (Redirect Datagram for the TOS &amp; network)</td>
</tr>
<tr>
<td style="background: #8064a2; padding-left: 7px; padding-right: 7px; border-left: none; border-bottom: solid 2.25pt;"><span style="color: white;"><strong>3</strong></span></td>
<td style="padding-left: 7px; padding-right: 7px; border-bottom: solid 2.25pt;">Servis tipine ve sahibine göre yönlendir (Redirect Datagram for the TOS &amp; host)</td>
</tr>
</tbody>
</table>
</div>
<p>&nbsp;</p>
<p>Ayrıca diğer tiplerinde benzer şekilde alt kodları bulunmaktadır. ICMP paketi, ayrıca internet standartlarını belirleyen kurum olan IETF (internet engineerint task force) tarafından yayınlanan ve standartların yayınlandığı RFC dokümanlarında (yorum için talep, request for comment) 792 numaralı yayında geçmektedir. İlgili dokümana aşağıdaki bağlantıdan erişilebilir:</p>
<p><a href="http://tools.ietf.org/html/rfc792">http://tools.ietf.org/html/rfc792</a></p>

<p class="sayac_bilgi">184 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2011/09/14/icmp-internet-kontrol-mesaji-protokolu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASCII Tablosu</title>
		<link>http://www.bilgisayarkavramlari.com/2011/08/13/ascii-tablosu-2/</link>
		<comments>http://www.bilgisayarkavramlari.com/2011/08/13/ascii-tablosu-2/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 22:02:15 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[Bilgisayar Standartları]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/?p=5900</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, farklı sembolleri sayısal olarak göstermek için kullanılan standardın ismidir. American Standard Code for Information Interchange kelimelerinin baş harflerinden oluşur. Tablonun genişletilmiş şekilleri olmasına karşılık temel tablo 7 bit için 27 ihtimal kodlar ve bu da 128 farklı sembole karşılık gelir: Dec Hex Char Dec Hex Char Dec Hex [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER<br />
Bilgisayar bilimlerinde, farklı sembolleri sayısal olarak göstermek için kullanılan standardın ismidir. American Standard Code for Information Interchange kelimelerinin baş harflerinden oluşur. Tablonun genişletilmiş şekilleri olmasına karşılık temel tablo 7 bit için 2<sup>7</sup> ihtimal kodlar ve bu da 128 farklı sembole karşılık gelir:<br />
</p>
<pre> Dec Hex Char                         Dec Hex Char  Dec Hex Char  Dec Hex Char
 -----------                          ------------  ------------  ------------
  0   0  NUL  (null)                   32  20        64  40  @     96  60    `
  1   1  SOH  (start of heading)       33  21  !     65  41  A     97  61    a
  2   2  STX  (start of text)          34  22  "     66  42  B     98  62    b
  3   3  ETX  (end of text)            35  23  #     67  43  C     99  63    c
  4   4  EOT  (end of transmission)    36  24  $     68  44  D    100  64    d
  5   5  ENQ  (enquiry)                37  25  %     69  45  E    101  65    e
  6   6  ACK  (acknowledge)            38  26  &amp;     70  46  F    102  66    f
  7   7  BEL  (bell)                   39  27  '     71  47  G    103  67    g
  8   8   BS  (backspace)              40  28  (     72  48  H    104  68    h
  9   9  TAB  (horizontal tab)         41  29  )     73  49  I    105  69    i
 10   A   LF  (NL line feed, new line) 42  2A  *     74  4A  J    106  6A    j
 11   B   VT  (vertical tab)           43  2B  +     75  4B  K    107  6B    k
 12   C   FF  (NP form feed, new page) 44  2C  ,     76  4C  L    108  6C    l
 13   D   CR  (carriage return)        45  2D  -     77  4D  M    109  6D    m
 14   E   SO  (shift out)              46  2E  .     78  4E  N    110  6E    n
 15   F   SI  (shift in)               47  2F  /     79  4F  O    111  6F    o
 16  10  DLE  (data link escape)       48  30  0     80  50  P    112  70    p
 17  11  DC1  (device control 1)       49  31  1     81  51  Q    113  71    q
 18  12  DC2  (device control 2)       50  32  2     82  52  R    114  72    r
 19  13  DC3  (device control 3)       51  33  3     83  53  S    115  73    s
 20  14  DC4  (device control 4)       52  34  4     84  54  T    116  74    t
 21  15  NAK  (negative acknowledge)   53  35  5     85  55  U    117  75    u
 22  16  SYN  (synchronous idle)       54  36  6     86  56  V    118  76    v
 23  17  ETB  (end of trans. block)    55  37  7     87  57  W    119  77    w
 24  18  CAN  (cancel)                 56  38  8     88  58  X    120  78    x
 25  19   EM  (end of medium)          57  39  9     89  59  Y    121  79    y
 26  1A  SUB  (substitute)             58  3A  :     90  5A  Z    122  7A    z
 27  1B  ESC  (escape)                 59  3B  ;     91  5B  [    123  7B    {
 28  1C   FS  (file separator)         60  3C  &lt;     92  5C  &#92;    124  7C    |
 29  1D   GS  (group separator)        61  3D  =     93  5D  ]    125  7D    }
 30  1E   RS  (record separator)       62  3E  &gt;     94  5E  ^    126  7E    ~
 31  1F   US  (unit separator)         63  3F  ?     95  5F  _    127  7F  DEL
</pre>

<p class="sayac_bilgi">207 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2011/08/13/ascii-tablosu-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ve/Veya bağlacı normal şeklleri (Conjunction / Disjunction Normal Form)</title>
		<link>http://www.bilgisayarkavramlari.com/2010/07/02/veveya-baglaci-normal-seklleri-conjunction-disjunction-normal-form/</link>
		<comments>http://www.bilgisayarkavramlari.com/2010/07/02/veveya-baglaci-normal-seklleri-conjunction-disjunction-normal-form/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 09:54:46 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[algoritma analizi (teory of algorithms)]]></category>
		<category><![CDATA[Automata (otomatlar, özdevinirler)]]></category>
		<category><![CDATA[Bilgisayar Matematiği]]></category>
		<category><![CDATA[Bilgisayar Standartları]]></category>
		<category><![CDATA[Programlama Dilleri]]></category>
		<category><![CDATA[cnf]]></category>
		<category><![CDATA[conjunction normal form]]></category>
		<category><![CDATA[disjunction normal form]]></category>
		<category><![CDATA[dnf]]></category>
		<category><![CDATA[ve normal şekli]]></category>
		<category><![CDATA[veya normal şekli]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2010/07/02/veveya-baglaci-normal-seklleri-conjunction-disjunction-normal-form/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Bu gösterim, bool cebirinde (boolean algebra) kullanılan ve kaziyeleri (önerme, proposition) ve (and) bağlacı ile bağlamanın özel bir şeklidir. Kısaca CNF (conjuction normal form) olarak ifade edilir. Diğer bir normal şekil olan Chomsky Normal Form (CNF) ile ilgili bilgi arıyorsanız buradan ulaşabilirsiniz. Bu özel şeklin taşıdığı kuralları aşağıdaki şekilde sıralayabiliriz: [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Bu gösterim, bool cebirinde (boolean algebra) kullanılan ve kaziyeleri (önerme, proposition) <a href="http://www.bilgisayarkavramlari.com/2007/11/29/ve-kapisi-and-gate/">ve (and)</a> bağlacı ile bağlamanın özel bir şeklidir. Kısaca CNF (conjuction normal form) olarak ifade edilir. <a href="http://www.bilgisayarkavramlari.com/2009/06/22/chomsky-normal-sekili-chomsky-normal-form/">Diğer bir normal şekil olan Chomsky Normal Form  (CNF) ile ilgili bilgi arıyorsanız buradan ulaşabilirsiniz. </a></p>
<p>Bu özel şeklin taşıdığı kuralları aşağıdaki şekilde sıralayabiliriz:</p>
<p>Ters (not) işlemi, sadece önermelerin lafzi gösterimlerin (literal) başında bulunacaktır. Bir <a href="http://www.bilgisayarkavramlari.com/2007/11/29/onermeler-mantigi-propositional-logic/">kaziyenin (önerme, propositon)</a> başında bulunmayacaktır.</p>
<p>Örneğin ¬A şeklindeki tek lafzi gösterim üzerinde olan ters işlemi kabul edilirken ¬(A V B) şekli kabul edilemez.</p>
<p>Ve (and) işlemi,  iki operand almaktadır. Yani a ve b şeklindeki bir işlemde a ve b adında iki lafzi gösterim (literal) bulunmaktadır. Bu işlemin herhangi bir operandı, basit bir lafzi gösterim (literal) veya <a href="http://www.bilgisayarkavramlari.com/2007/11/29/veya-kapisi-or-gate/">disjunction (veya operatörü (or opeartor)</a> ile oluşturulmuş bir) kaziye (önerme, proposition) olmalıdır.</p>
<p>Örneğin  aşağıdaki gösterimler bu kurala uymaktadır:</p>
<p>A Λ B</p>
<p>(A V B ) Λ (C V D)</p>
<p>A Λ (C V D V F)</p>
<p>Ancak aşağıdaki gösterimler bu kurala uymaz</p>
<p>A Λ (B Λ C)</p>
<p>A Λ (B V C Λ D)</p>
<p>(A Λ B) Λ C</p>
<p>Ancak yukarıdaki gösterimler CNF (conjuction normal form) yani ve bağlacı normal şekline çevrilebilir. Bu çevirimler aşağıda gösterilmiştir (yukarıdaki her satır için sırasıyla)</p>
<p>A Λ B Λ C</p>
<p>A Λ ( B V C ) Λ ( B V D)</p>
<p>A Λ B Λ C</p>
<p>Görüldüğü üzere yukarıdaki yeni hallerinde, verilen gösterimler ve bağlacı üzerinde basitleştirilmiştir.</p>
<p>Disjunction Normal Form (DNF, Veya bağlacı normal şekli) ise yukarıdaki ve bağlacı için söylenen her şeyin, veya bağlacı için geçerli olması durumudur.</p>
<p>Kısaca bu şekilde kabul edilemeyecek gösterimleri ve çevrilmiş şekillerini aşağıda verelim:</p>
<div>
<table style="border-collapse: collapse;" border="0">
<colgroup>
<col style="width: 318px;"></col>
<col style="width: 318px;"></col>
</colgroup>
<tbody>
<tr>
<td style="padding-left: 7px; padding-right: 7px; border: solid black 0.5pt;">DNF şeklinde olmayanlar</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;">DNF karşılığı</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;">(A V B) Λ C</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;">(A Λ C) V (B Λ C)</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;">A Λ (B V C Λ D)</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;">(A Λ B) V (A Λ (C Λ D))</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;">¬(A Λ B)</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;">¬A V ¬B</td>
</tr>
</tbody>
</table>
</div>
<p>İki gösterimin doğruluğunun tespiti. Yani verilen bir boole cebiri diziliminin gerçekten CNF veya DNF olduğunun sınanması, veya verilen bir denklemin sonucunun doğru (true) veya yanlış (false) olarak bulunabilmesi, bu denklemdeki lafzi terim (literal) sayısına bağlıdır. Örneğin 3CNF bir denklemin, yani sadece 3 terimin conjunction (ve bağlacı ile bağlanmasından) oluşan bir denklemin karmaşıklığı NP-Complete olurken, bu terim sayısı 2&#8242;ye indirildiğinde yani 2CNF bir denklem söz konusu olduğunda, karmaşıklık P zamanda (polinom zamanda) çözülebilmektedir.<br />
Daha detaylı bilgi için ikili tatmin problemleri (boolean satisfaction problem) başlıklı yazıyı okuyabilirsiniz. </p>

<p class="sayac_bilgi">380 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2010/07/02/veveya-baglaci-normal-seklleri-conjunction-disjunction-normal-form/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JML ( Java Modelleme Dili)</title>
		<link>http://www.bilgisayarkavramlari.com/2009/09/14/jml-java-modelleme-dili/</link>
		<comments>http://www.bilgisayarkavramlari.com/2009/09/14/jml-java-modelleme-dili/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 13:46:01 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[Bilgisayar Standartları]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Programlama Dilleri]]></category>
		<category><![CDATA[Veri Güvenliği(Cryptography)]]></category>
		<category><![CDATA[Yazılım Mühendisliği (Software Engineering)]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/?p=3477</guid>
		<description><![CDATA[Yazan  : Şadi Evren ŞEKER JML ingilizce Java modelling language kelimelerinin baş harflerinden oluşan bir kısaltmadır. Basitçe bir java kaynak koduna eklenen ilave satırlar ile progam doğruluğunu (program correctness) sağlamayı amaçlar (program verification). İlave olarak eklenecek satırlar java kodunun içerisine yorum satırı gibi ilave edilir. Normal java yorum satırlarından tek farkı ilave olarak konulan @ [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan  : Şadi Evren ŞEKER</p>
<p>JML ingilizce Java modelling language kelimelerinin baş harflerinden oluşan bir kısaltmadır. Basitçe bir java kaynak koduna eklenen ilave satırlar ile <a href="http://www.bilgisayarkavramlari.com/2009/09/10/program-dogrulugu-program-correctness/">progam doğruluğunu (program correctness) sağlamayı amaçlar (program verification)</a>.</p>
<p>İlave olarak eklenecek satırlar java kodunun içerisine yorum satırı gibi ilave edilir. Normal java yorum satırlarından tek farkı ilave olarak konulan @ işaretidir.</p>
<p>Örneğin</p>
<pre>//@ örnek jml satırı</pre>
<p>veya</p>
<pre>/*@ örnek</pre>
<pre>çoklu jml</pre>
<pre>satırı @*/</pre>
<p>şeklinde java koduna ilave edilebilirler.</p>
<p>Aslında bütün jml komutlarını basit üç grupta toplamak mümkündür:</p>
<ol>
<li>Önkoşullar (preconditions)</li>
<li>Sonkoşullar (postconditions)</li>
<li>Değişmezler (invariants)</li>
</ol>
<p>Yukarıdaki bu üç grubtan ilk ikisi <a href="http://www.bilgisayarkavramlari.com/2009/09/10/hoare-mantigi-hoare-logic/">hoare mantığındaki</a> ön ve son koşullara benzetilebilir. Üçüncü grup ise döngülere özgü kullanılan bir koşuldur. Bu gruplardaki komutları ve kullanımlarını aşağıdaki örneklerden inceleyelim:</p>
<pre>static void arraycopy (int[] src, int srcPos,int[] dest, int destPos,int len);</pre>
<p>Örnek olarak yukarıdaki <a href="http://www.bilgisayarkavramlari.com/2007/05/04/array-dizi/">dizi (array)</a> kopyalama fonksiyonunu ele alalım. Burada amaç, src dizisinden dest dizisine derin kopyalama yapmaktır. (deep copy). Ancak bu satırda yaşanabilecek bazı programlar aşağıdaki şekildedir:</p>
<ul>
<li>src dizisi null olabilir</li>
<li>dest dizisi null olabilir</li>
<li>src dizisinin izin verilen eleman sayısının dışına programcı tarafından çıkılabilir (örneğin 10 elemanlı bir dizinin 10. elemanına erişilebilir (java terminolojisi olarak arrayindexoutofboundsexception olabilir))</li>
<li>dest dizisinin izin verilen eleman sayısının dışına programcı tarafından çıkılabilir.</li>
</ul>
<p>Bu yazı şadi evren şeker tarafından yazılmış ve bilgisayarkavramlari.com sitesinde yayınlanmıştır. Bu içeriğin kopyalanması veya farklı bir sitede yayınlanması hırsızlıktır ve telif hakları yasası gereği suçtur.</p>
<p>Yukarıdaki bu olası problemleri çözmek için fonksiyonu yazarken başına ilave olarak bu requires komutu ile ön koşullarımızı ekliyoruz.</p>
<pre>/*@ requires src != null &amp;&amp; dest != null &amp;&amp;
0 &lt;= srcPos &amp;&amp; srcPos + len &lt; src.length &amp;&amp;
0 &lt;= destPos &amp;&amp; srcPos + len &lt; dest.length;
@*/
static void arraycopy (int[] src, int srcPos,int[] dest, int destPos,int len);</pre>
<p>Yukarıdaki yeni kodda ilave olarak src ve dest&#8217;in null olamayacakları ve kopyalama sırasında kullanılan indis değişkeni olan srcPos&#8217;un 0 ile src.length ve dest.length arasında olacağı belirtilmiştir.</p>
<p>Yukarıdaki ön koşula ilave olarak diğer bir isteğimiz fonksiyon çalıştıktan sonra src ile dest dizilerinin elemanlarının birebir aynı olmalarıdır. Bu son koşulu (postcondition) kontrol etmek için ilave bir jml satırı daha eklememiz gerekir:</p>
<p>/*@ requires src != null &amp;&amp; dest != null &amp;&amp;<br />
0 &lt;= srcPos &amp;&amp; srcPos + len &lt; src.length &amp;&amp;<br />
0 &lt;= destPos &amp;&amp; srcPos + len &lt; dest.length;<br />
ensures (\forall int i; 0 &lt;= i &amp;&amp; i &lt; len;dest[dstPos+i] == src[srcPos+i] )<br />
@*/<br />
static void arraycopy (int[] src, int srcPos,int[] dest, int destPos,int len);</p>
<p>Yukarıdaki yeni jml satırı olan ensures ile son koşul kontrolü yapılıyor.  Burada yeni kullanılan \forall döngüsü sayesinde 0&#8242;dan len değişkenine kadar olan değerler için (döngü değişkeni i olarak) bütün dizi içeriği karşılaştırılıyor ve ancak aynıysa son koşul sağlanmış oluyor.</p>

<p class="sayac_bilgi">129 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2009/09/14/jml-java-modelleme-dili/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Turing Makinesi (Turing Machine)</title>
		<link>http://www.bilgisayarkavramlari.com/2009/06/27/turing-makinesi-turing-machine/</link>
		<comments>http://www.bilgisayarkavramlari.com/2009/06/27/turing-makinesi-turing-machine/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 13:55:12 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[algoritma analizi (teory of algorithms)]]></category>
		<category><![CDATA[Automata (otomatlar, özdevinirler)]]></category>
		<category><![CDATA[Bilgisayar Kavramları]]></category>
		<category><![CDATA[Bilgisayar Standartları]]></category>
		<category><![CDATA[Derleyiciler]]></category>
		<category><![CDATA[Doğal Dil İşleme (NLP)]]></category>
		<category><![CDATA[Donanım ( Hardware )]]></category>
		<category><![CDATA[Dosya Organizasyonu (File Organisation)]]></category>
		<category><![CDATA[işletim sistemleri]]></category>
		<category><![CDATA[Mantık Devreleri (Logic Circuits)]]></category>
		<category><![CDATA[Programlama Dilleri]]></category>
		<category><![CDATA[Sistem Programlama (System Programming)]]></category>
		<category><![CDATA[veri yapıları]]></category>
		<category><![CDATA[Turing]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/?p=2681</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin önemli bir kısmını oluşturan otomatlar (Automata) ve Algoritma Analizi (Algorithm analysis) çalıştırmalarının altındaki dil bilimin en temel taşlarından birisidir.1936 yılında Alan Turing tarafından ortaya atılan makine tasarımı günümüzde pekçok teori ve standardın belirlenmesinde önemli rol oynar. Turing Makinesinin Tanımı Basitçe bir kafadan (head) ve bir de teyp bandından [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Bilgisayar bilimlerinin önemli bir kısmını oluşturan <a href="http://www.bilgisayarkavramlari.com/category/automata-otomatlar/">otomatlar (Automata) </a>ve <a href="http://www.bilgisayarkavramlari.com/category/algoritma-analizi-teory-of-algorithms/">Algoritma Analizi (Algorithm analysis) </a>çalıştırmalarının altındaki dil bilimin en temel taşlarından birisidir.1936 yılında Alan Turing tarafından ortaya atılan makine tasarımı günümüzde pekçok teori ve standardın belirlenmesinde önemli rol oynar.</p>
<p><strong>Turing Makinesinin Tanımı</strong></p>
<p>Basitçe bir kafadan (head) ve bir de teyp bandından (tape) oluşan bir makinedir.</p>
<p><img class="alignnone size-full wp-image-2683" title="turingtape" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2009/06/turingtape.jpg" alt="turingtape" width="425" height="148" /></p>
<p>Makinede yapılabilecek işlemler</p>
<ul>
<li>Yazmak</li>
<li>Okumak</li>
<li>Bandı ileri sarmak</li>
<li>Bandı geri sarmak</li>
</ul>
<p>şeklinde sıralanabilir.</p>
<p><strong>Chomsky hiyerarşisi ve Turing Makinesi</strong></p>
<p>Bütün teori bu basit dört işlem üzerine kurulmuştur ve sadece yukarıdaki bu işlemleri kullanarak bir işin yapılıp yapılamayacağı veya bir dilin bu basit 4 işleme indirgenip indirgenemeyeceğine göre diller ve işlemler tasnif edilmiştir.</p>
<p><img class="alignnone size-full wp-image-2682" title="turingkumesi" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2009/06/turingkumesi.jpg" alt="turingkumesi" width="496" height="359" /></p>
<p>Bu sınıflandırma yukarıdaki venn şeması ile gösterilmiştir. Aynı zamanda <a href="http://www.bilgisayarkavramlari.com/2009/06/27/chomsky-hiyerarsisi-chomsky-hierarchy/">chomsky hiyerarşisi (chomsky hierarchy)</a> için 1. seviye (type-1) olan ve Turing makinesi ile kabul edilebilen diller bütün tip-2 ve tip-3 dilleri yani içerk bağımsız dilleri ve düzenli dilleri kapsamaktadır. Ayrıca ilave olarak içerik bağımsız dillerin işleyemediği (üretemediği veya parçalayamadığı (parse) ) a<sup>n</sup>b<sup>n</sup>c<sup>n</sup> şeklindeki kelimeleri de işleyebilmektedir.  Düzenli ifadelerin işleyememesi konusunda bilgi için <a href="http://www.bilgisayarkavramlari.com/2009/03/22/duzenli-ifadelerde-pompalama-onsavi-pumping-lemma-for-regular-expressions/">düzenli ifadelerde pompalama savı (pumping lemma in regular expressions)</a> ve <a href="http://www.bilgisayarkavramlari.com/2009/03/22/icerik-bagimsiz-gramerler-icin-pompalama-onsavi-pumping-lemma-for-context-free-grammers/">içerik bağımsız dillerin işlemeyemesi için de içerik bağımsız dillerde pompalama savı (pumping lemma for CFG)</a> başlıklı yazıları okuyabilirsiniz.</p>
<p><strong>Turing Makinesinin Akademik Tanımı</strong></p>
<p>Turing makineleri literatürde akademik olarak aşağıdaki şekilde tanımlanır:</p>
<p><img class="alignnone size-full wp-image-2685" title="turing_akademik" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2009/06/turing_akademik.jpg" alt="turing_akademik" width="167" height="24" /></p>
<p>Burada M ile gösterilen makinenin parçaları aşağıda listelenmiştir:</p>
<p>Q sembolü sonlu sayıdaki durumların <a href="http://www.bilgisayarkavramlari.com/2009/06/24/kume-teorisi-set-theory/">kümesidir</a>. Yani makinenin işleme sırasında aldığı durumardır.</p>
<p>Γ sembolü dilde bulunan bütün harfleri içeren alfabeyi gösterir. Örneğin ikilik tabandaki sayılar ile işlem yapılıyorsa {0,1} şeklinde kabul edilir.</p>
<p>Σ sembolü ile makineye verilecek girdiler (input)<a href="http://www.bilgisayarkavramlari.com/2009/06/24/kume-teorisi-set-theory/"> kümesi</a> gösterilir. Girdi <a href="http://www.bilgisayarkavramlari.com/2009/06/24/kume-teorisi-set-theory/">kümesi</a> dildeki harfler dışında bir sembol taşıyamayacağı için Σ <span class="b">⊆ </span>Γ demek doğru olur.</p>
<p>δ sembolü dilde bulunan ve makinenin çalışması sırasında kullanacağı geçişleri (transitions) tutmaktadır.</p>
<p><span class="b">◊ sembolü teyp bandı üzerindeki boşlukları ifade etmektedir. Yani teyp üzerinde hiçbir bilgi yokken bu sembol okunur.<br />
</span></p>
<p>q<sub>0</sub> sembolü makinenin başlangıç durumunu (state) tutmaktadır ve dolayısıyla q<sub>0</sub> <span class="b">⊆</span> Q olmak zorundadır.</p>
<p>F sembolü makinenin bitiş durumunu (state) tutmaktadır ve yine F <span class="b">⊆ Q olmak zorundadır. </span></p>
<p><strong><span class="b">Örnek Turing Makinesi</span></strong></p>
<p><span class="b">Yukarıdaki sembolleri kullanarak örnek bir Turing makinesini aşağıdaki şekilde inşa edebiliriz. </span></p>
<p><span class="b">Örneğin basit bir kelime olan a* <a href="http://www.bilgisayarkavramlari.com/2007/04/14/regular-expression-regexp-duzenli-deyimler-ifadeler/">düzenli ifadesini (regular expression)</a> Turing makinesi ile gösterelim ve bize verilen aaa şeklindeki 3 a yı makinemizin kabul edip etmediğine bakalım. </span></p>
<p><span class="b">Tanım itibariyle makinemizi aşağıdaki şekilde tanımlayalım:</span></p>
<p>M = { {q<sub>0</sub>,q<sub>1</sub>} , { a } , { a,x } , { q<sub>0</sub> a→a R q<sub>0</sub> , q<sub>0</sub> x→x L q<sub>1</sub>} , q<sub>0</sub> , x , q<sub>1</sub> }</p>
<p>Yukarıdaki bu makineyi yorumlayacak olursak:</p>
<p>Q değeri olarak   {q<sub>0</sub>,q<sub>1</sub>} verilmiştir. Yani makinemizin ik idurumu olacaktır.</p>
<p>Γ değeri olarak { a,x } verilmiştir. Yani makinemizdeki kullanılan semboller a ve x&#8217;ten ibarettir.</p>
<p>Σ değeri olara {a} verilmiştir. Yani makinemize sadece a girdisi kabul edilmektedir.</p>
<p>δ değeri olarak iki geçiş verilmiştir { q<sub>0</sub> a→a R q<sub>0</sub> , q<sub>0</sub> x→x L q<sub>1</sub>} buraadki R sağa sarma L ise sola sarmadır ve görüleceği üzere Q değerindeki durumlar arasındaki geçişleri tutmaktadır.</p>
<p><span class="b">◊ değeri olarak x sembolü verilmiştir. Buradan x sembolünün aslında boş sembolü olduğu ve bantta hiçbir değer yokken okunan değer olduğu anlaşılmaktadır.<br />
</span></p>
<p>q<sub>0</sub> ile makinenin başlangıç durumundaki hali belirtilmiştir.</p>
<p>F değeri olarak q<sub>1</sub> değeri verilmiştir. Demek ki makinemiz q<sub>1</sub> durumuna geldiğinde bitmektedir (halt) ve bu duruma gelmesi halinde bu duruma kadar olan girdileri kabul etmiş olur<span class="b">. </span></p>
<p>Yukarıdaki bu tanımı görsel olarak göstermek de mümkündür:</p>
<p><img class="alignnone size-full wp-image-2686" title="turingornek" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2009/06/turingornek.jpg" alt="turingornek" width="432" height="225" /></p>
<p><strong><span class="b"><br />
</span></strong></p>
<p><span class="b">Yukarıdaki bu temsili resimde verilen turing makinesi çizilmiştir.</span></p>
<p><span class="b">Makinemizin örnek çalışmasını ve bant durumunu adım adım inceleyelim. </span></p>
<p><span class="b">Birinci adımda bandımızda aaa (3 adet a) yazılı olduğunu kabul edelim ve makinemizin bu aaa değerini kabul edip etmeyeceğini adım adım görelim. Zaten istediğimiz de aaa değerini kabul eden bir makine yapabilmekti.</span></p>
<p><span class="b"><img class="alignnone size-full wp-image-2687" title="turing1" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2009/06/turing1.jpg" alt="turing1" width="487" height="412" /></span></p>
<p><span class="b">Yukarıdaki ilk durumda bant üzerinde beklenen ve kabul edilip edilmeyeceği merak edilen değerimiz bulunuyor. Makinemizin kafasının okuduğu değer a sembolü. Makinemizin geçiş tasarımına göre q<sub>0</sub> halinde başlıyoruz ve a geldiğinde teybi sağa sarıp yine q<sub>0</sub> durumunda kalmamız gerekiyor.</span></p>
<p><span class="b"><br />
</span></p>
<p><span class="b"><img class="alignnone size-full wp-image-2689" title="turing21" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2009/06/turing21.jpg" alt="turing21" width="509" height="407" /></span></p>
<p>Yeni durumda kafamızın okuduğu değer banttaki 2. a harfi ve bu durumda yine <span class="b">q<sub>0</sub> </span> durumundayken teybi sağa sarıp yine <span class="b">q<sub>0</sub> </span> durumunda kalmamız tasarlanmış<span class="b"> </span></p>
<p><span class="b"><img class="alignnone size-full wp-image-2690" title="turing3" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2009/06/turing3.jpg" alt="turing3" width="515" height="380" /></span></p>
<p>3. durumda kafamızın okuduğu değer yine a sembolü olmakta ve daha önceki 2 duruma benzer şekilde <span class="b">q<sub>0</sub> </span> durumundayken a sembolü okumanın sonucu olarak teybi sağa sarıp <span class="b">q<sub>0</sub> </span>durumunda sabit kalıyoruz.</p>
<p><span class="b"><img class="alignnone size-full wp-image-2691" title="turing4" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2009/06/turing4.jpg" alt="turing4" width="487" height="364" /></span></p>
<p>4. adımda teypten okuduğumuz değer boşluk sembolü x oluyor. Bu değer makinemizin tasarımında <span class="b">q<sub>1</sub> </span><span class="b"> </span>durumuna gitmemiz olarak tasarlanmış ve teybe sola sarma emri veriyoruz.</p>
<p><span class="b"><img class="alignnone size-full wp-image-2692" title="turing5" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2009/06/turing5.jpg" alt="turing5" width="586" height="322" /></span></p>
<p><span class="b">Makinenin son durumunda </span><span class="b">q<sub>1</sub> </span><span class="b"> durumu makinenin kabul ve bitiş durumu olarak tasarlanmıştı ( makinenin tasarımındaki F kümesi) dolayısıyla çalışmamız burada sonlanmış ve giriş olarak aaa girdisini kabul etmiş oluyoruz.</span></p>
<p><strong><span class="b">2. Örnek</span></strong></p>
<p><span class="b">Hasan Bey&#8217;in sorusu üzerine bir örnek makine daha ekleme ihtiyacı zuhur etti. Makinemiz {a,b} sembolleri için çalışsın ve ilk durum olarak bandın en solunda başlayarak bantta bulunan sembolleri silmek için tasarlansın. Bu tasarımı aşağıdaki temsili resimde görülen otomat ile yapabiliriz:</span></p>
<p><span class="b"><img class="alignnone" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/turing_silici.jpg" alt="" width="454" height="123" /></span></p>
<p><span class="b">Görüldüğü üzere makinemizde 4 durum bulunuyor, bunlardan en sağda olan h durumu bitişi (halt) temsil ediyor. Şimdi bu makinenin bir misal olarak &#8220;aabb&#8221; yazılı bir bantta silme işlemini nasıl yaptığını adım adım izah etmeye çalışalım. </span></p>
<p><span class="b">Aşağıda, makinenin her adımda nasıl davranacağı bant üzerinde gösterilmiş ve altında açıklanmıştır. Sarı renge boyalı olan kutular, kafanın o anda üzerinde durduğu bant konumunu temsil etmektedir.<br />
</span></p>
<p><span class="b"><img class="alignnone" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/turing_silici_adimlar.jpg" alt="" width="374" height="590" /></span></p>
<p><span class="b">Netice olarak Hasan Bey&#8217;in sorusuna temel teşkil eden ve örneğin q1 üzerindeki döngülerden birisi olan b/a,R geçişi, banttan b okunduğunda banta a değerini yaz manasındadır.</span></p>
<p><span class="b">Yine bu yazıya yapılan yorumlarda sorulan bir sorunun cevabını aşağıdaki bağlantıda çözdüm. Soru, eşit a ve b içeren Turing makinesinin tasarımı idi, bağlantıya tıklayarak okuyabilirsiniz. </span></p>
<p><a href="http://www.bilgisayarkavramlari.com/2010/11/19/esit-a-ve-b-bulunduran-turing-makinesi-ornegi/">http://www.bilgisayarkavramlari.com/2010/11/19/esit-a-ve-b-bulunduran-turing-makinesi-ornegi/</a></p>

<p class="sayac_bilgi">1,677 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2009/06/27/turing-makinesi-turing-machine/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Chomsky Hiyerarşisi ( Chomsky Hierarchy )</title>
		<link>http://www.bilgisayarkavramlari.com/2009/06/27/chomsky-hiyerarsisi-chomsky-hierarchy/</link>
		<comments>http://www.bilgisayarkavramlari.com/2009/06/27/chomsky-hiyerarsisi-chomsky-hierarchy/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 12:15:53 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[Automata (otomatlar, özdevinirler)]]></category>
		<category><![CDATA[Bilgisayar Kavramları]]></category>
		<category><![CDATA[Bilgisayar Standartları]]></category>
		<category><![CDATA[Derleyiciler]]></category>
		<category><![CDATA[Doğal Dil İşleme (NLP)]]></category>
		<category><![CDATA[Programlama Dilleri]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/?p=2674</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin özellikle dil alanında yapılan çalışmalarında muntazam dilleri (formal languages) tasnif etmek için kullanılan bir yapıdır. Literatürde Chomsky–Schützenberger hiyerarşisi olarak da geçmektedir. Bilindiği üzere ( muntazam diller (formal langauges) veya CFG yazısından da okunabileceği üzere) muntazam dillerin dört özelliği bulunur. Bunlar özellikle içerikten bağımsız dillerin (context free languages) da [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Bilgisayar bilimlerinin özellikle dil alanında yapılan çalışmalarında <a href="http://www.bilgisayarkavramlari.com/2009/06/25/muntazam-diller-formal-languages/">muntazam dilleri (formal languages)</a> tasnif etmek için kullanılan bir yapıdır. Literatürde Chomsky–Schützenberger hiyerarşisi olarak da geçmektedir.</p>
<p>Bilindiği üzere ( <a href="http://www.bilgisayarkavramlari.com/2009/06/25/muntazam-diller-formal-languages/">muntazam diller (formal langauges)</a> veya <a href="http://www.bilgisayarkavramlari.com/2009/03/20/icerikten-bagimsiz-gramer-context-free-grammer-cfg/">CFG</a> yazısından da okunabileceği üzere) <a href="http://www.bilgisayarkavramlari.com/2009/06/25/muntazam-diller-formal-languages/">muntazam dillerin</a> dört özelliği bulunur. Bunlar özellikle <a href="http://www.bilgisayarkavramlari.com/2009/03/20/icerikten-bagimsiz-dil-context-free-language/">içerikten bağımsız dillerin (context free languages)</a> da temelini oluşturmuştur.</p>
<ul>
<li>sonlular (terminals)</li>
<li>devamlılar (nonterminals)</li>
<li>üretim kuralları ( devamlıların değerlerini belirleyen geçiş kuralları)</li>
<li>Başlangıç devamlısı</li>
</ul>
<p>Örneğin aşağıdaki <a href="http://www.bilgisayarkavramlari.com/2009/03/20/icerikten-bagimsiz-gramer-context-free-grammer-cfg/">içerikten bağımsız dilbilgisini (context free grammer)</a> ele alalım</p>
<p>S → AB</p>
<p>A → Aa | ε</p>
<p>B → b</p>
<p>Yukarıdaki bu <a href="http://www.bilgisayarkavramlari.com/2009/03/20/icerikten-bagimsiz-gramer-context-free-grammer-cfg/">CFG</a> tanımındaki sonlular (terminals) {a,b,ε } ,  devamlılar (nonterminals) { S,A,B } olarak tanımlanır. üretim kuralı olarak (production rules) S,A,B&#8217;nin açılımlarını gösteren ve → sembolü ile belirtilen satırlar bulunmaktadır. Son olarak başlangıç devamlısı (nonterminal) değeri olarak S kabul edilmiştir. Başlangıç devamlısı böyle bir kural bulunmamasına karşılık genelde S harfi (start kelimesinden gelmektedir) ile gösterilmekte ve ilk satırda bulunmaktadır.</p>
<p>Yukarıdaki bu <a href="http://www.bilgisayarkavramlari.com/2009/03/20/icerikten-bagimsiz-gramer-context-free-grammer-cfg/">CFG</a> şayet <a href="http://www.bilgisayarkavramlari.com/2007/04/14/regular-expression-regexp-duzenli-deyimler-ifadeler/">düzenli ifadeye (regular expression) </a>çevrilirse <span class="texhtml"><em>a</em><sup><em>*</em></sup><em>b şeklinde yazılabilir. Aslında burada anlatılan değer </em></span><span class="texhtml"><em>a</em><sup><em>n</em></sup><em>b</em></span> şeklinde de gösterilebilen istenildiği kadar a değeri alan (hiç almaya da bilir) ve sonra mutlaka b ile biten dildir.</p>
<p>Chomsky yukarıdaki şekilde tanımlanan <a href="http://www.bilgisayarkavramlari.com/2009/06/25/muntazam-diller-formal-languages/">muntazam diller (formal languages)</a> için bir sınıflandırmaya gitmiş ve 4 seviye belirlemiştir.</p>
<ul>
<li>Type-0 ( tip 0) Sınırlandırılmamış diller (unrestricted grammers)</li>
<li>Type-1 ( tip 1) İçerik duyarlı diller (context-sensitive grammers)</li>
<li>Type-2 ( tip 2)<a href="http://www.bilgisayarkavramlari.com/2009/03/20/icerikten-bagimsiz-dil-context-free-language/"> İçerikten bağımsız diller (context free languages)</a></li>
<li>Type-3 ( tip 3) <a href="http://www.bilgisayarkavramlari.com/2007/04/14/regular-expression-regexp-duzenli-deyimler-ifadeler/">Düzenli diller (regular grammers)</a></li>
</ul>
<p>şeklinde 4 seviye isimlendirilmiştir.Bu seviyelerde iler gidildikçe (seviye arttıkça) dili bağlayan kurallarda sıkılaşmakta ve dil daha kolay işlenebilir ve daha belirgin (deterministic) bir hal almaktadır.</p>
<p>Tip-0 dilleri bastiçe <a href="http://www.bilgisayarkavramlari.com/2009/06/27/turing-makinesi-turing-machine/">turing makinesi (turing machine)</a> tarafından çalıştırılabilen ve bir şekilde bitecek olan dillerdir (<a href="http://www.bilgisayarkavramlari.com/2009/06/25/hesaplanabilirlik-teorisi-computability-theory/">hesaplanabilir diller (computable languages)</a>. Örneğin <a href="http://www.bilgisayarkavramlari.com/2009/06/27/ozyineli-sayilabilir-diller-recursively-enumerable-languages/">özyineli sayılabilir diller (recusive enumerable languages) </a>bu seviyeden kabul edilir.</p>
<p>Tip-1 dilleri için içerk duyarlı diller örnek gösterilebilir. Basitçe αAβ → αγβ şeklindeki gösterime sahip bir dildir. Buradaki A devamlı (nonterminal) ve α,γ,β birer sonlu (terminal) terimdir. Bu sonlulardan α ve β boş harf (yani ε veya bazı kaynaklarda λ) olabilir ancak γ mutlak bir değere sahip olmalıdır (yani boş olamaz) Ayrıca bu tipte</p>
<p>S → ε</p>
<p>şeklinde bir kurala da izin verilmektedir. Burada S devamlısının sağ tarafta olmaması gerekmektedir. Bu diller doğrusal bağlı otomatlar (linear bounded automaton) ile gösterilebilir. Doğrusal bağlı otomatlar, <a href="http://www.bilgisayarkavramlari.com/2009/06/27/turing-makinesi-turing-machine/">turing makinelerinin</a> özel bir halidir ve <a href="http://www.bilgisayarkavramlari.com/2009/06/27/turing-makinesi-turing-machine/">Turing makinesinde</a> bulunan bantın sabit uzunlukta olduğu (çalışmanın sabit zaman sonra sona ereceği) kabul edilir.</p>
<p>Tip-2  diller ise <a href="http://www.bilgisayarkavramlari.com/2009/03/20/icerikten-bagimsiz-gramer-context-free-grammer-cfg/">CFG </a>ile ifade edilebilen <a href="http://www.bilgisayarkavramlari.com/2009/03/20/icerikten-bagimsiz-dil-context-free-language/">içerikten bağımsız dillerdir (context free languages)</a>. Bu dillerin özelliği A → γ şeklinde gösterilmeleridir. Buradaki γ değeri sonlular (terminals) ve devamlılar (nonterminals) olabilmektedir. Bu diller <a href="http://www.bilgisayarkavramlari.com/2007/05/04/pda-push-down-automata-asagi-suruklemeli-otomat/">aşağı sürüklemeli otomatlar (push down automata PDA) </a>tarafından kabul edilen dillerdir ve hemen hemen bütün programlama dillerinin temelini oluşturmaktadırlar. (programlama dillerinin neredeyse tamamı bu seviye kurallarına uymaktadırlar)</p>
<p>Tip-3 diller ise <a href="http://www.bilgisayarkavramlari.com/2007/04/14/regular-expression-regexp-duzenli-deyimler-ifadeler/">düzeli ifadeler (regular expressions)</a> ile ifade edilebilen (veya üretilebilen veya parçalanabilen (parse) ) dillerdir. Bu dillerin farkı</p>
<p>A → α ve</p>
<p>A → αB</p>
<p>şeklindeki kurallar ile göterilebilmeleridir.</p>
<p>Yukarıdaki bu tanımları bir tabloda toplamak gerekirse:</p>
<table border="0" cellpadding="0">
<tbody>
<tr>
<td>
<p align="center"><strong>Seviye</strong></p>
</td>
<td>
<p align="center"><strong>Dil Örneği</strong></p>
</td>
<td>
<p align="center"><strong>Otomat Uygulaması</strong></p>
</td>
<td>
<p align="center"><strong>Kuralları</strong></p>
</td>
</tr>
<tr>
<td>Type-0</td>
<td><a href="http://www.bilgisayarkavramlari.com/2009/06/27/ozyineli-sayilabilir-diller-recursively-enumerable-languages/"><span style="text-decoration: underline;">Recursively enumerable</span></a></td>
<td><a href="http://www.bilgisayarkavramlari.com/2009/06/27/turing-makinesi-turing-machine/"><span style="text-decoration: underline;">Turing machine</span></a></td>
<td>α → β</td>
</tr>
<tr>
<td>Type-1</td>
<td><a title="Context-sensitive grammar" href="http://en.wikipedia.org/wiki/Context-sensitive_grammar">Context-sensitive</a></td>
<td><span style="text-decoration: underline;">Linear-bounded non-deterministic Turing machine</span></td>
<td>αAβ → αγβ</td>
</tr>
<tr>
<td>Type-2</td>
<td><a href="http://www.bilgisayarkavramlari.com/2009/03/20/icerikten-bagimsiz-gramer-context-free-grammer-cfg/"><span style="text-decoration: underline;">Context-free</span></a></td>
<td>Non-deterministic <a href="http://www.bilgisayarkavramlari.com/2007/05/04/pda-push-down-automata-asagi-suruklemeli-otomat/"><span style="text-decoration: underline;">pushdown   automaton</span></a></td>
<td>A → γ</td>
</tr>
<tr>
<td>Type-3</td>
<td><a href="http://www.bilgisayarkavramlari.com/2007/04/14/regular-expression-regexp-duzenli-deyimler-ifadeler/"><span style="text-decoration: underline;">Regular</span></a></td>
<td><span style="text-decoration: underline;">Finite state automaton</span></td>
<td>A → α ve A → αB</td>
</tr>
</tbody>
</table>
<p>Yukarıdaki seviyeler bütün dilleri kapsamak için yeterli değildir ayrıca yukarıda gösterilen seviyelere giren yukarıdaki tablo dışında diller de bulunmaktadır.</p>

<p class="sayac_bilgi">489 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2009/06/27/chomsky-hiyerarsisi-chomsky-hierarchy/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mana Ağları (Sematic Webs, Anlamsal Ağ)</title>
		<link>http://www.bilgisayarkavramlari.com/2009/06/26/mana-aglari-sematic-webs/</link>
		<comments>http://www.bilgisayarkavramlari.com/2009/06/26/mana-aglari-sematic-webs/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 17:20:39 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[Bilgisayar Kavramları]]></category>
		<category><![CDATA[Bilgisayar Standartları]]></category>
		<category><![CDATA[Doğal Dil İşleme (NLP)]]></category>
		<category><![CDATA[Web Teknolojileri]]></category>
		<category><![CDATA[yapay zeka (artificial intelligence)]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/?p=2664</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER İnternetin (world wide web) bir alt uzayı olarak düşünülebilecek anlambilimsel ağlar, internet üzerinde bulunan ve doğal dilde yapılan yayınlara bir alternatiftir. Anlambilimsel ağlar, bir bilgi kaynağının makinelere (bilgisayarlar) tarafından işlenebilecek ve bu işleme sonucunda anlamı tam olarak anlaşılabilecek ağlardır. Mânâ ağları (anlambilimsel ağlar) üzerinde yapılan çalışmalarda henüz tam bir kesinlik [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>İnternetin (world wide web) bir alt uzayı olarak düşünülebilecek anlambilimsel ağlar, internet üzerinde bulunan ve doğal dilde yapılan yayınlara bir alternatiftir.</p>
<p>Anlambilimsel ağlar, bir bilgi kaynağının makinelere (bilgisayarlar) tarafından işlenebilecek ve bu işleme sonucunda anlamı tam olarak anlaşılabilecek ağlardır.</p>
<p>Mânâ ağları (anlambilimsel ağlar) üzerinde yapılan çalışmalarda henüz tam bir kesinlik yoktur. Farklı çalışma grupları, farklı standart ve alanlarda çalışmaktadırlar. Ancak <a href="http://www.bilgisayarkavramlari.com/2007/12/30/rdf-resource-description-framework-kaynak-tanim-cercevesi/">Kaynak Tanım Çerçevesi (resouce description framework)</a> ve XML kullanımları neredeyse standartlaşmıştır.  Örneğin <a href="http://www.bilgisayarkavramlari.com/2007/11/30/varlik-bilim-ontoloji-ontology/">varlıkbilim (onthology)</a> seviyesinde yapılan <a href="http://www.bilgisayarkavramlari.com/2007/12/04/owl-web-ontology-language-web-ontoloji-dili/">web ontology language (OWL) </a>çalışması <a href="http://www.bilgisayarkavramlari.com/2007/12/30/rdf-resource-description-framework-kaynak-tanim-cercevesi/">RDF</a> kullanımınn bir örneği olarak görülebilir. Ayrıca <a href="http://www.bilgisayarkavramlari.com/2009/06/22/malumat-ifadesi-knowledge-representation/">malumat seviyesi gösterimler (knowledge representation)</a> için çeşitli alternatifler de bulunmaktadır.</p>
<p>Mânâ ağlarının çıkış sebebi bilgisayarların malumat seviyesinde (knowldege) işlem yapma yetersizliğidir. Bir bilgisayarın işleyebileceği ve işlemi sonucunda çıkarabileceği anlam ile insanların anladığı anlam çok farklıdır. Örneğin &#8220;maymun&#8221; kelimesinin hangi dilden Türkçeye girdiğini araştırmak ve cevap olarak Asurcadan girdiğini bulmak insan için ulaşılabilir bir araştırma süreci iken, bilgisayarların bu konuda işlem yapmaları çelişik açıklamaları temizlemeleri ve bir malumat sahibi olmaları günümüz teknolojisinde insana göre oldukça ilkeldir. İşte bu sebeplerden oldayı İnternet üzerinde <a href="http://www.bilgisayarkavramlari.com/2008/12/10/html-hyper-text-markup-language/">HTML</a> ile yapılan ve insanların okuyup anladığı sayfaların yanında bilgisayarların anlayabildiği mana ağları türemiştir.</p>
<p><img class="alignnone size-full wp-image-2665" title="sematicstack" src="http://www.bilgisayarkavramlari.com/wp-content/uploads/2009/06/sematicstack.png" alt="sematicstack" width="530" height="530" /></p>
<p>Yukarıda W3C&#8217;nin sitesinden alınmış mana ağı yığını (semantic web stack) resmi görülmektedir. Yukarıdaki değişik katmanlarda bulunan teknolojiler w3c tarafından standartlaştırılmış teknolojilerdir.</p>
<p>Yukarıdaki <a href="http://www.bilgisayarkavramlari.com/2007/05/04/stack-yigin/">yığına (stack) </a>bakılınca en alt seviyede URI (Unique resource identifier) seviyesi görülmektedir. Bu seviye mana ağlarının bulunduğu servis sağlayıcılarının internet üzerindeki adresleridir. Yine alt seviyelerden Unicode ile anlatılmak istenen ise verinin işlenmesi ve iletimi sırasında kullanılacak olan kodlama standardıdır.</p>
<p>Örneğin XML dosyalarının saklanması ve iletimi sırasında <a href="http://www.bilgisayarkavramlari.com/2008/01/07/xml-extensible-markup-language-genisletilebilir-isaretleme-dili/">XML dosyalarının</a> UTF (unicode transormation table) tablolarına uygun olması istenmektedir.</p>
<p>Yukarıdaki şekilde dikkat edilebilecek bir nokta ise Crypto katmanının en üst seviyeye kadar çıkıyor olmasıdır. Bunun sebebi kullanılacak olan dijital imza (digital signature) ve benzeri güvenlik uygulamalarının her katmandan kontrol edilebiliyor olması ve katmanların (örneğin <a href="http://www.bilgisayarkavramlari.com/2008/01/07/xml-extensible-markup-language-genisletilebilir-isaretleme-dili/">XML</a> veya <a href="http://www.bilgisayarkavramlari.com/2007/12/30/rdf-resource-description-framework-kaynak-tanim-cercevesi/">RDF</a>) güvenlik parçaları barındırmamasıdır. Yani örneğin <a href="http://www.bilgisayarkavramlari.com/2008/01/07/xml-extensible-markup-language-genisletilebilir-isaretleme-dili/">XML teknolojisinin </a>içerisinde doğrudan bir güvenlik çözümü söz konusu değildir. Yine kullanıcı katmanı (user interface &amp; application) ile geri kalan mana ağı yığını (semantic web stack) arasında bulunan güven (Trust) katmanı da bu amaca hizmet etmektedir ve kullanıcının şifre katmanı (crypto) ile erişimini ayarlamaktadır.</p>
<p>SPARQL yine w3c tarafından standartlaştırılmış <a href="http://www.bilgisayarkavramlari.com/2007/12/30/rdf-resource-description-framework-kaynak-tanim-cercevesi/">RDF</a> sorgulama dilidir. Yani bir RDF dökümanını işleyerek sorgulamaya yarayan dillerden birsidir.</p>

<p class="sayac_bilgi">110 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2009/06/26/mana-aglari-sematic-webs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meşguliyet (Utilization, Kullanım)</title>
		<link>http://www.bilgisayarkavramlari.com/2009/04/19/mesguliyet-utilization-kullanim/</link>
		<comments>http://www.bilgisayarkavramlari.com/2009/04/19/mesguliyet-utilization-kullanim/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 18:01:24 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[algoritma analizi (teory of algorithms)]]></category>
		<category><![CDATA[Bilgisayar Standartları]]></category>
		<category><![CDATA[işletim sistemleri]]></category>
		<category><![CDATA[Sistem Programlama (System Programming)]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2009/04/19/mesguliyet-utilization-kullanim/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde sıra (queue) teorisinde, sıradaki bir varlığın ne kadar meşgul edildiğini ölçmeye ve bu ölçüme göre kararlar vermeye verilen isimdir. İstatistiksel olarak ρ sembolü ile gösterilir ve şayet ρ değeri 1&#8242;den büyükse sıranın uzadığı, 1&#8242;e eşitse sıranın ne kısalıp ne de uzadığı ve şayet 1&#8242;den küçükse sıranın kısaldığı veya [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Bilgisayar bilimlerinde <a href="http://www.bilgisayarkavramlari.com/2008/04/16/sira-queue/">sıra (queue) teorisinde</a>, sıradaki bir varlığın ne kadar meşgul edildiğini ölçmeye ve bu ölçüme göre kararlar vermeye verilen isimdir.</p>
<p>İstatistiksel olarak ρ sembolü ile gösterilir ve şayet ρ değeri 1&#8242;den büyükse sıranın uzadığı, 1&#8242;e eşitse sıranın ne kısalıp ne de uzadığı ve şayet 1&#8242;den küçükse sıranın kısaldığı veya sırada kimse kalmadığı sonucu çıkarılır.</p>
<p>Burada ρ değerinin hesaplanması için aşağıdaki formül kullanılabilir:</p>
<p>ρ = λ / μ</p>
<p>Yukarıdaki formülde λ değeri sıraya gelen varlıkların oranını, μ değeri ise sistemin bu sıradaki varlıklara hizmet verme oranını göstermektedir. Yani basitçe sıraya girenler ve sıradan çıkanların oranı olarak düşünülebilir. Daha basit bir ifadeyle talep/arz oranı olarak düşünülebilir.</p>
<p>Basit bir örnek üzerinden anlatmak gerekirse örneğin bir bankada bulunan banka görevlileri ortalama olarak bir müşteriye 1 dakikada hizmet veriyor olsun. Saatte 50 müşterinin geldiği bir bankada meşguliyet aşağıdaki şekilde hesaplanabilir:</p>
<p>Öncelikle arz ve talebi aynı birimlere getirmek gerekir. Yani bankanın arz ettiği hizmet değeri müşteri/saat şeklindeyken, bankanın talep değeri müşteri/saat cinsinden. Bu durumda bankanın arz değerini de müşteri/saat cinsine çevirelim.</p>
<p>Basit bir hesapla 1 dakikada bir müşteriye hizmet verilen bir bankada saatte 60 müşteriye hizmet verilir. Öyleyse bu bankanın meşguliyet oranı (utilization):</p>
<p>ρ = λ / μ</p>
<p>λ = 50</p>
<p>μ = 60</p>
<p>için ρ = 50 / 60</p>
<p>= 0.83</p>
<p>olarak bulunur. Bu durumda bankanın müşterilerine zamanında hizmet verebileceğini ve müşterilerin sıra beklemeyeceğini veya bir sıra varsa zamanla azalacağını yorumlayabiliriz.</p>

<p class="sayac_bilgi">68 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2009/04/19/mesguliyet-utilization-kullanim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EBNF (Uzatılmış BNF, Extended Backus Normal Form)</title>
		<link>http://www.bilgisayarkavramlari.com/2009/03/19/ebnf-uzatilmis-bnf-extended-backus-normal-form/</link>
		<comments>http://www.bilgisayarkavramlari.com/2009/03/19/ebnf-uzatilmis-bnf-extended-backus-normal-form/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 21:41:46 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[Automata (otomatlar, özdevinirler)]]></category>
		<category><![CDATA[Bilgisayar Kavramları]]></category>
		<category><![CDATA[Bilgisayar Standartları]]></category>
		<category><![CDATA[Derleyiciler]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/?p=1788</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde dil tasarımı konusunda kullanılan backus normal şeklinin (backus normal form) özel bir halidir. Basitçe standart BNF&#8217;te yazılan kuralların birleştirilerek daha sade yazılmasını hedefler. Bu durumu aşağıdaki örnek üzerinden görebiliriz: Örneğin BNF olarak yazılan dilimize göre: &#60;EGER&#62; ::= if( &#60;KOSUL&#62;) &#124; if( &#60;KOSUL&#62;) else şeklinde bir satırımız bulunsun. Bu [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Bilgisayar bilimlerinde dil tasarımı konusunda kullanılan <a href="http://www.bilgisayarkavramlari.com/2008/12/09/backus-normal-form-bnf/">backus normal şeklinin (backus normal form)</a> özel bir halidir. Basitçe standart BNF&#8217;te yazılan kuralların birleştirilerek daha sade yazılmasını hedefler.</p>
<p>Bu durumu aşağıdaki örnek üzerinden görebiliriz:</p>
<p>Örneğin BNF olarak yazılan dilimize göre:</p>
<p>&lt;EGER&gt; ::= if( &lt;KOSUL&gt;) | if( &lt;KOSUL&gt;) else</p>
<p>şeklinde bir satırımız bulunsun. Bu satırın anlamı dilimizde bir EGER döz dizilimi (syntax), if komutu ve parantez içinde bir koşuldan oluşabilir veya bu if ve parantez içerisindeki koşulu bir else komutu izleyebilir.</p>
<p>Yukarıdaki bu BNF yazılımını EBNF olarak aşağıdaki şekilde yazabiliriz:</p>
<p>&lt;EGER&gt; ::= if( &lt;KOSUL&gt;) [else]</p>
<p>Yukarıdaki bu yeni satırda dikkat edileceği üzere köşeli parantezler arasında bir else komutu bulunmaktadır. Bunun anlamı, EGER komutu &#8220;if( KOSUL)&#8221; olarak tanımlanır ve şayet istenirse bu komuta ilave olarak else komutu eklenebilir. Yani köşeli parantez içerisindeki komut isteğe bağlıdır.</p>
<p>Yukarıdaki bu yeni yazılım aslında sadece gösterimde bir farklılık oluşturmaktadır. Bunun dışında, EBNF&#8217;in kullanım alanı ve işlevi BNF ile aynıdır.</p>
<p>EBNF&#8217;in BNF&#8217;ten farklı olarak getirdiği ifade şekilleri aşağıda listelenmiştir:</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="188" valign="top">İfade</td>
<td width="222" valign="top"></td>
<td width="209" valign="top">Kullanımı</td>
</tr>
<tr>
<td width="188" valign="top">Tanımlama</td>
<td width="222" valign="top">definition</td>
<td width="209" valign="top">=</td>
</tr>
<tr>
<td width="188" valign="top">Üleştirme</td>
<td width="222" valign="top">concatenation</td>
<td width="209" valign="top">,</td>
</tr>
<tr>
<td width="188" valign="top">Bitirme</td>
<td width="222" valign="top">termination</td>
<td width="209" valign="top">;</td>
</tr>
<tr>
<td width="188" valign="top">Seçim (Veya)</td>
<td width="222" valign="top">separation</td>
<td width="209" valign="top">|</td>
</tr>
<tr>
<td width="188" valign="top">Çift Tırnak</td>
<td width="222" valign="top">double quotation marks</td>
<td width="209" valign="top">&#8221; &#8230; &#8220;</td>
</tr>
<tr>
<td width="188" valign="top">Tek Tırnak</td>
<td width="222" valign="top">single quotation marks</td>
<td width="209" valign="top">&#8216; &#8230; &#8216;</td>
</tr>
<tr>
<td width="188" valign="top"><strong>İsteğe bağlı</strong></td>
<td width="222" valign="top"><strong>option </strong></td>
<td width="209" valign="top"><strong>[ ... ]</strong></td>
</tr>
<tr>
<td width="188" valign="top"><strong>Tekrarlı</strong></td>
<td width="222" valign="top"><strong>repetition </strong></td>
<td width="209" valign="top"><strong>{ &#8230; }</strong></td>
</tr>
<tr>
<td width="188" valign="top"><strong>Gruplama</strong></td>
<td width="222" valign="top"><strong>grouping </strong></td>
<td width="209" valign="top"><strong>( &#8230; )</strong></td>
</tr>
<tr>
<td width="188" valign="top"><strong>Yorum</strong></td>
<td width="222" valign="top"><strong>comment </strong></td>
<td width="209" valign="top"><strong>(* &#8230; *)</strong></td>
</tr>
<tr>
<td width="188" valign="top"><strong>Özel dizilim</strong></td>
<td width="222" valign="top"><strong>special sequence </strong></td>
<td width="209" valign="top"><strong> ? &#8230; ?</strong></td>
</tr>
<tr>
<td width="188" valign="top"><strong>Hariç</strong></td>
<td width="222" valign="top"><strong>exception </strong></td>
<td width="209" valign="top"><strong>-</strong></td>
</tr>
</tbody>
</table>
<p>Yukarıdakitabloda ilk 6 ifade standart BNF gösteriminde de kullanılan ifadelerdir. Ancak son 6, koyu renkle yazılmış ifade EBNF için gelen yeni eklentilerdir.</p>
<p>Bu kullanımlardan isteğe bağlı (option) olma durumunu gördük. Şimdi diğer durumları inceleyelim:</p>
<p>Tekrarlı ifade ( {} işaretleri arasındaki ifadeler), <a href="http://www.bilgisayarkavramlari.com/2007/04/14/regular-expression-regexp-duzenli-deyimler-ifadeler/">düzenli ifadelerde (regular expression)</a> kullanılan * işlemine benzetilebilir. Bu işlem basitçe bir bilginin istenildiği kadar tekrar edilmesi anlamına gelir.</p>
<p>Örneğin programlama dillerinin çoğunda kullanılan C tipi yorum&#8217;u düşünelim (comment). Bu yorumlarda istenilen kelimeler yazılabilir. Bu durumda yorum satırının tanımı aşağıdaki şekilde olabilir</p>
<p>&lt;YORUM&gt; ::= &#8220;/*&#8221; , { &lt;harf&gt; } , &#8220;*/&#8221;</p>
<p>&lt;harf&gt; ::= a | b | &#8230; | z</p>
<p>Yukarıdaki EBNF tanımında a&#8217;dan z&#8217;ye kadar olan harfler, &lt;harf&gt; olarak tanımlanmış, ardından bu tanım &lt;YORUM&gt; içerisinde istenildiği kadar tekrarlanabilir anlamında {} işaretleri arasına yerleştirilmiştir.</p>
<p>EBNF&#8217;de ilave olarak dil tasarımcısının istediği yere kendi yorumlarını eklemesi de mümkündür. Buna göre tasarımcı (* *) işaretleri arasına istediği bilgiyi yazabilmektedir. Bu bilgi BNF işlemine tabi tutulmamaktadır.</p>
<p>EBNF&#8217;in belki de BNF&#8217;e göre en büyük eklentisi, hariç (fark) işlemidir. Yani bir bilgi grubundan başka bir bilgi grubunun çıkarılması durumudur.</p>
<p>Mesela bir <a href="http://www.bilgisayarkavramlari.com/2008/08/02/dizgi-string/">dizgi (String)</a> tanımı sırasında çift tırnaklar arasında herhangi bir yazı yazılabilir. Ancak bu yazının içerisinde çift tırnak bulunamaz çünkü bu durumda dizginin bittiğini belirten çift tırnak ile karışıklık oluşur. Bunu ifade için aşağıdaki EBNF gösterimini inceleyelim:</p>
<p>&lt;DIZGI&gt; ::= &#8216; &#8221; &#8216; , { ?bütün karakterler? &#8211; &#8216; &#8221; &#8216; } ,  &#8216; &#8221; &#8216;</p>
<p>Yukarıdaki yeni kuralda, bütün karakterlerden, çift tırnak karakteri ayrı tutulmuştur. Yine yukarıdaki gösterimde ?bütün karakterler? tanımı, özel bir dizilim görüntüsüdür.</p>

<p class="sayac_bilgi">282 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2009/03/19/ebnf-uzatilmis-bnf-extended-backus-normal-form/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eigenvalue (Özdeğer) Eigen vector (Öz yöney) Eigen Space (Öz Uzay)</title>
		<link>http://www.bilgisayarkavramlari.com/2008/12/29/eigenvalue-ozdeger-eigen-vector-oz-yoney-eigen-space-oz-uzay/</link>
		<comments>http://www.bilgisayarkavramlari.com/2008/12/29/eigenvalue-ozdeger-eigen-vector-oz-yoney-eigen-space-oz-uzay/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 11:14:03 +0000</pubDate>
		<dc:creator>Şadi Evren ŞEKER</dc:creator>
				<category><![CDATA[bilgisayar felsefesi]]></category>
		<category><![CDATA[Bilgisayar Standartları]]></category>

		<guid isPermaLink="false">http://www.bilgisayarkavramlari.com/2008/12/29/eigenvalue-ozdeger-eigen-vector-oz-yoney-eigen-space-oz-uzay/</guid>
		<description><![CDATA[Yazan : Şadi Evren ŞEKER Bir yöneyin (vector) bir dönüşüme (transformation) uğramasından sonra boyutunun değişmesinden bağımsız olarak hâlâ yönü aynı kalıyorsa bu dönüşüm yöneyine (vector) öz yöney (eigen vector) ismi verilir. Bu yön değiştirmeyen ancak uzunluk (büyüklük) değiştiren öz yöneyin yapmış olduğu değişim aslında sayısal bir uzunluk olarak hesaplanabilir (örneğin yöneyin iki misline çıkması veya [...]]]></description>
			<content:encoded><![CDATA[<p>Yazan : Şadi Evren ŞEKER</p>
<p>Bir yöneyin (vector) bir dönüşüme (transformation) uğramasından sonra boyutunun değişmesinden bağımsız olarak hâlâ yönü aynı kalıyorsa bu dönüşüm yöneyine (vector) öz yöney (eigen vector) ismi verilir.</p>
<p>Bu yön değiştirmeyen ancak uzunluk (büyüklük) değiştiren öz yöneyin yapmış olduğu değişim aslında sayısal bir uzunluk olarak hesaplanabilir (örneğin yöneyin iki misline çıkması veya yarısına inmesi gibi) işte bu hesaplanan sayısal değere (sabite, scalar) öz değer (eigen value) ismi verilir.</p>
<p>Yukarıdaki bu öz değerlerin (eigen value) oluşturduğu dönüşümlerin 0 olduğu matristir.</p>
<p>Bilgisayar bilimlerinde bir varlığın yönünü kaybetmeden değer değiştirmesi durumunda eigen öneki sıkça kullanılır. Örneğin eigenfunction (öz fonksiyon) yönü aynı olan ancak fonksiyon uygulandıktan sonra sadece miktarın değiştiği fonksiyon anlamındadır. Benzer şekilde eigenstate (özdurum), eigenmode (özhal), eigenfrequency (özfrekans, özsıklık) aynı anlamları katan ön eklerdir.</p>

<p class="sayac_bilgi">483 views</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bilgisayarkavramlari.com/2008/12/29/eigenvalue-ozdeger-eigen-vector-oz-yoney-eigen-space-oz-uzay/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

