Algoritma - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Tarihi
  • 2 Uygulama
  • 3 Hukuki Konular
  • 4 1950'den Sonraki Tarihi
  • 5 Algoritmalara eleştirel yaklaşımlar
  • 6 Önemli algoritma türleri
  • 7 Ayrıca bakınız
  • 8 Kaynakça

Algoritma

  • Afrikaans
  • Alemannisch
  • አማርኛ
  • Aragonés
  • العربية
  • الدارجة
  • مصرى
  • অসমীয়া
  • Asturianu
  • Azərbaycanca
  • تۆرکجه
  • Башҡортса
  • Žemaitėška
  • Bikol Central
  • Беларуская
  • Беларуская (тарашкевіца)
  • Български
  • भोजपुरी
  • বাংলা
  • བོད་ཡིག
  • Brezhoneg
  • Bosanski
  • Català
  • کوردی
  • Čeština
  • Словѣньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ
  • Cymraeg
  • Dansk
  • Deutsch
  • Zazaki
  • Ελληνικά
  • English
  • Esperanto
  • Español
  • Eesti
  • Euskara
  • فارسی
  • Suomi
  • Føroyskt
  • Français
  • Nordfriisk
  • Gaeilge
  • Kriyòl gwiyannen
  • Galego
  • Avañe'ẽ
  • עברית
  • हिन्दी
  • Fiji Hindi
  • Hrvatski
  • Magyar
  • Հայերեն
  • Արեւմտահայերէն
  • İnterlingua
  • Bahasa Indonesia
  • Ilokano
  • Ido
  • Íslenska
  • İtaliano
  • 日本語
  • Jawa
  • ქართული
  • Qaraqalpaqsha
  • Taqbaylit
  • Gĩkũyũ
  • Қазақша
  • ಕನ್ನಡ
  • 한국어
  • Kurdî
  • Кыргызча
  • Latina
  • Lëtzebuergesch
  • Lingua Franca Nova
  • Lombard
  • ລາວ
  • Lietuvių
  • Latviešu
  • Madhurâ
  • Олык марий
  • Македонски
  • മലയാളം
  • Монгол
  • मराठी
  • Bahasa Melayu
  • Mirandés
  • မြန်မာဘာသာ
  • Plattdüütsch
  • नेपाली
  • नेपाल भाषा
  • Nederlands
  • Norsk nynorsk
  • Norsk bokmål
  • Occitan
  • Oromoo
  • ਪੰਜਾਬੀ
  • Polski
  • Piemontèis
  • پنجابی
  • Português
  • Runa Simi
  • ရခိုင်
  • Română
  • Русский
  • Русиньскый
  • Саха тыла
  • Sardu
  • Sicilianu
  • Scots
  • Srpskohrvatski / српскохрватски
  • සිංහල
  • Simple English
  • Slovenčina
  • Slovenščina
  • ChiShona
  • Shqip
  • Српски / srpski
  • Sunda
  • Svenska
  • Kiswahili
  • தமிழ்
  • తెలుగు
  • Тоҷикӣ
  • ไทย
  • Tagalog
  • Татарча / tatarça
  • Twi
  • Українська
  • اردو
  • Oʻzbekcha / ўзбекча
  • Tiếng Việt
  • Walon
  • Winaray
  • 吴语
  • ייִדיש
  • 中文
  • 閩南語 / Bân-lâm-gí
  • 粵語
  • İsiZulu
Bağlantıları değiştir
  • Madde
  • Tartışma
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Bu sayfayı kaynak göster
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Wikimedia Commons
  • Vikikitap
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi
Algoritmaları daha kolay anlatabilmek için akış şemaları kullanılır.

Algoritma, belli bir problemi çözmek veya belirli bir amaca ulaşmak için tasarlanan yol.[1][2] Matematikte ve bilgisayar biliminde bir işi yapmak için tanımlanan, bir başlangıç durumundan başladığında, açıkça belirlenmiş bir son durumunda sonlanan, sonlu işlemler kümesidir. Genellikle bilgisayar programlamada kullanılır ve tüm programlama dillerinin temeli algoritmaya dayanır. Aynı zamanda algoritma tek bir problemi çözecek davranışın, temel işleri yapan komutların veya deyimlerin adım adım ortaya konulmasıdır ve bu adımların sıralamasına dikkat edilmelidir. Bir problem çözülürken algoritmik ve sezgisel (herustic) olmak üzere iki yaklaşım vardır. Algoritmik yaklaşımda da çözüm için olası yöntemlerden en uygun olan seçilir ve yapılması gerekenler adım adım ortaya konulur. Algoritmayı belirtmek için; metinsel olarak düz ifade ve akış diyagramı olmak üzere 2 yöntem kullanılır. Algoritmalar bir programlama dili vasıtasıyla bilgisayarlar tarafından işletilebilirler.

İlk algoritma, el-Hârizmî tarafından "Hisab el-cebir ve el-mukabala" kitabında sunulmuştur. Algoritma sözcüğü de el-Hârizmî'nin isminin Avrupalılarca telaffuzundan doğmuştur.[3]

Tarihi

[değiştir | kaynağı değiştir]
Algoritma sözcüğü Ebu Abdullah Muhammed bin Musa el Harezmi'nin Latince isminden kaynaklanır.
Ana madde: Algoritmaların tarihsel sıralaması

Algoritma sözcüğü, Özbekistan'ın Harezm bölgesindeki Hive kentinde doğmuş olan Ebu Abdullah Muhammed İbn Musa el Harezmi'den gelir.[4][5] Bu alim 9. yüzyılda cebir alanındaki algoritmik çalışmalarını kitaba dökerek matematiğe çok büyük bir katkı sağlamıştır. "Hisab el-cebir ve el-mukabala (حساب الجبر و المقابلة)" kitabı dünyanın ilk cebir kitabı ve aynı zamanda ilk algoritma koleksiyonunu oluşturur. Latince çevirisi Avrupa'da çok ilgi görür. Alimin ismini telaffuz edemeyen Avrupalılar "algorizm" sözcüğünü "Arap sayıları kullanarak aritmetik problemler çözme kuralları" manasında kullanırlar. Bu sözcük daha sonra "algoritma"ya dönüşür ve genel kapsamda kullanılır.

Uygulama

[değiştir | kaynağı değiştir]

Çoğu algoritmalar bilgisayar olarak uygulanmak üzere tasarlanmıştır. Bununla birlikte, başka yöntemlerle de uygulanmaktadır, biyolojik sinir ağı (örneğin insan beyninin hesap yapması veya bir böceğin yemek araması), elektrik devresi veya mekanik cihazlar gibi.

Bilgisayar algoritmasına örnek verelim. Kullanıcının girdiği dört sayının ortalamasını görüntüleyen algoritmayı yazalım:

 A0 --> Başla
 A1 --> Sayaç=0 (Sayaç'ın ilk sayısı 0 olarak başlar.)
 A2 --> Sayı=? : T=T+Sayı (Sayıyı giriniz. T'ye sayıyı ekle ve T'yi göster.)
 A3 --> Sayaç=Sayaç+1 (Sayaç'a 1 ekle ve sayacı göster.)
 A4 --> Sayaç<4 ise A2'ye git. (Eğer sayaç 4'ten küçükse Adım 2'ye git.)
 A5 --> O=T/4 (Ortalama için T değerini 4'e böl)
 A6 --> O'yu göster. (Ortalamayı göster.)
 A7 --> Dur
Rastgele üretilmiş değerler dizisini quicksort algoritması kullanarak küçükten büyüğe artarak sıralanması.
Quicksort sıralama algoritması animasyonu. Animasyonun başında kırmızı çubukların pivot elemanı olarak işaretlendiği görülmektedir. Örneğin başında sağ tarafın en uzak elemanı pivot olarak seçilmiştir. Bu seçilen pivot değerleri parçalara ayrılmış değerler kümesinin elemanlarıyla karşılaştırılıp sıralama sağlanmaktadır. Özetle, sıralanacak bir sayı dizisini daha küçük parçalara ayırıp oluşan bu küçük parçaların kendi içinde sıralanması ve birleştirilmesi mantığıyla çalışır.

İkinci dereceden ax² + bx + c = 0 biçiminde bir denklemin tüm köklerini bulmak için algoritma yazalım:

Adım 1: Başla.
Adım 2: a, b, c, D, x1, x2, rp ve ip değişkenlerini tanımla.
Adım 3: Diskriminant değerini hesapla.
D ← b2-4ac
Adım 4: Eğer D≥0
x1 ← (-b+√D) / 2a
x2 ← (-b-√D) / 2a
değerlerini hesapla ve x1,x2 değişkenleri göster.
Eğer D≥0 değilse,
Gerçek kısım(rp) ve sanal kısmını(ip) hesapla.
rp ← b / 2a
ip ← √ (D) / 2a
Adım 5: "rp + j(ip)" ve "rp - j(ip)" değerlerini göster.
Adım 6: Dur.

Kullanıcı tarafından girilen bir sayının faktöriyel değerini bulmak için bir algoritma yazalım:

Adım 1: Başla.
Adım 2: factorial, i ve n değişkenlerini tanımla.
Adım 3: Değişkenlerin başlangıç değerlerini tanımla.
factorial ← 1
i ← 1
Adım 4: Ekrandan girilen n değerini oku.
Adım 5: (i=n) eşitliği sağlanana kadar tekrarla.
5.1: factorial←factorial*i
5.2: i←i+1
Adım 6: factorial değişkeninin değerini göster.
Adım 7: Dur.

Hukuki Konular

[değiştir | kaynağı değiştir]

Algoritmalar, tek başlarına, genellikle patent verilebilir değildirler. Amerika Birleşik Devletleri'nde soyut kavramların, sayıların ve işaretlerin yalnızca basit yönlendirmelerinden oluşan bir iddia "süreç" oluşturmaz (USPTO 2006) ve bundan dolayı algoritmalar patent verilebilir değildir (Gottschalk v.Benson'da olduğu gibi). Bununla birlikte, algoritmanın pratik uygulamaları zaman zaman patent verilebilirdir. Örneğin, Diamond v.Diehr'da, sentetik kauçuğun muhafaza edilmesine yardımcı olmak için kullanılan basit geri bildirim algoritmasının uygulaması patent verilebilir sayılmıştır. Yazılım patenti son derece tartışmalıdır ve algoritmaları içeren birçok eleştirilmiş patent vardır, özellikle veri sıkıştırma algoritmaları, Unisys' LZW patentinde olduğu gibi.

Ek olarak, bazı kriptografik algoritmaların ihracat kısıtlamaları vardır.

1950'den Sonraki Tarihi

[değiştir | kaynağı değiştir]

Faaliyetlerin birçoğu algoritmanın tanımının geliştirilmesine yönlendirilmiştir ve aktifliği çevredeki sorunlar nedeniyle, özellikle matematiğin temelleri (özellikle Church-Turing tezi) ve akıl felsefesi (özellikle yapay zeka konusundaki tartışmalar) sebebiyle devam etmiştir.

Algoritmalara eleştirel yaklaşımlar

[değiştir | kaynağı değiştir]

Algoritmaların kullanımı hayatın her alanında giderek yaygınlaşmaktadır. İş yerlerindeki performans değerlendirmelerinden bankaların kime kredi vereceğine, güvenlik sistemlerinden sosyal medya platformlarındaki önerilere kadar hayatın her alanında etkili olan algoritmalara özellikle de sosyal bilimci akademisyenler çeşitli eleştiriler yöneltmektedir. Algoritmaların teknolojik etkilerinin yanı sıra toplumsal bir güce de sahip oldukları,[6] toplumsal gruplar arasındaki eşitsizlikleri derinleştirdikleri,[7] yeni güç dengeleri oluşturdukları[8] ve farklı otoriteler tarafından toplumun belli kesimlerini baskılamak[9] için kullanıldıklarının altı çizilmektedir.

Önemli algoritma türleri

[değiştir | kaynağı değiştir]
  • Arama algoritmaları
  • Bellek yönetimi algoritmaları
  • Bilgisayar grafiği algoritmaları
  • Birleşimsel algoritmalar
  • Çizge algoritmaları
  • Evrimsel algoritmalar
  • Genetik algoritmalar
  • Kripto algoritmaları veya kriptografik algoritmalar
  • Kök bulma algoritmaları
  • Optimizasyon algoritmaları
  • Sıralama algoritmaları
  • Veri sıkıştırma algoritmaları

Ayrıca bakınız

[değiştir | kaynağı değiştir]
  • Algoritmalar listesi
  • Algoritmaların tarihsel sıralaması
  • Algokrasi

Kaynakça

[değiştir | kaynağı değiştir]
  1. ^ "The Definitive Glossary of Higher Mathematical Jargon — Algorithm". Math Vault (İngilizce). 1 Ağustos 2019. 7 Şubat 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Kasım 2019. 
  2. ^ "Definition of ALGORITHM". Merriam-Webster Online Dictionary (İngilizce). 14 Şubat 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Kasım 2019. 
  3. ^ "Al-Khwarizmi - Islamic Mathematics". The Story of Mathematics. 25 Temmuz 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Kasım 2019. 
  4. ^ "Al-Khwarizmi biography". www-history.mcs.st-andrews.ac.uk. 2 Ağustos 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 27 Şubat 2020. 
  5. ^ "Etymology of algorithm". Chambers Dictionary. 31 Mart 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Aralık 2016. 
  6. ^ Beer, David (2 Ocak 2017). "The social power of algorithms". Information, Communication & Society. 20 (1): 1-13. doi:10.1080/1369118X.2016.1216147. ISSN 1369-118X. 
  7. ^ author., Eubanks, Virginia, 1972-. Automating inequality : how high-tech tools profile, police, and punish the poor. ISBN 1-250-21578-1. OCLC 1050280177. 
  8. ^ Masso, Anu; Kasapoglu, Tayfun (2 Temmuz 2020). "Understanding power positions in a new digital landscape: perceptions of Syrian refugees and data experts on relocation algorithm". Information, Communication & Society. 23 (8): 1203-1219. doi:10.1080/1369118X.2020.1739731. ISSN 1369-118X. 
  9. ^ author., Noble,. Algorithms of Oppression. ISBN 978-1-4798-6676-2. OCLC 1124443189. 
Vikipedi'nin kardeş projelerinden
'
hakkında daha fazla bilgi edinin
Vikisözlük'te ara Vikisözlük'te tanımlar
Commons'ta ara Commons'ta dosyalar
Vikikitap'ta ara Vikikitap'ta kitaplar
  • g
  • t
  • d
Bilgisayar biliminin alt dalları
Matematiksel temeller
Matematiksel mantık · Kümeler kuramı · Sayı teorisi · Çizge teorisi · Tip teorisi · Kategori teorisi · Sayısal çözümleme · Bilgi teorisi · Kombinatorik · Boole cebiri
Hesaplama teorisi
Otomat teorisi · Hesaplanabilirlik teorisi · Hesaplamalı karmaşıklık teorisi · Kuantum hesaplama teorisi
Algoritmalar ve veri yapıları
Algoritma çözümlemesi · Algoritma tasarımı · Hesaplamalı geometri
Programlama dilleri ve derleyiciler
Ayrıştırıcılar · Yorumlayıcılar · Yordamsal programlama · Nesne yönelimli programlama · Fonksiyonel programlama · Mantık programlama · Programlama paradigmaları
Eşzamanlı, paralel ve dağıtık sistemler
Çoklu işleme · Dağıtımlı hesaplama · Eşzamanlılık denetimi
Yazılım mühendisliği
Gereksinim çözümleme · Yazılım tasarımı · Bilgisayar programlama · Biçimsel yöntemler · Yazılım testi · Yazılım geliştirme süreci
Sistem mimarisi
Bilgisayar mimarisi · Bilgisayar organizasyonu · İşletim sistemi
Telekomünikasyon ve ağ oluşturma
Bilgisayar müziği · Yönlendirme · Örgü topolojisi · Kriptografi
Veritabanları
Veritabanı yönetim sistemleri · İlişkisel veritabanı · SQL · İşlem yürütme · Veritabanı indeksleme · Veri madenciliği · Metadata (Üst veri) · Ana veri (Master data)
Yapay zekâ
Otomatikleştirilmiş muhakeme · Bilgisayarlı dilbilim · Bilgisayarlı görü · Evrimsel hesaplama · Uzman sistemler · Makine öğrenimi · Doğal dil işleme · Robotik
Bilgisayar grafikleri
Görselleştirme · Bilgisayar animasyonu · Görüntü işleme
İnsan-bilgisayar etkileşimi
Bilgisayar erişilebilirliği · Kullanıcı arayüzleri · Giyilebilir hesaplama · Yaygın bilişim · Sanal gerçeklik
Bilimsel hesaplama
Yapay yaşam · Biyoenformatik · Bilişsel bilim · Bilgisayarlı kimya · Hesaplamalı nörobilim · Hesaplamalı fizik · Sayısal algoritmalar · Sembolik matematik
Bilgisayar bilimi, ACM Hesaplama ve Sınıflandırma Sistemi'ne göre farklı konu ve alanlara ayrılabilir.
Otorite kontrolü Bunu Vikiveri'de düzenleyin
  • BNE: XX527980
  • BNF: cb119358199 (data)
  • GND: 4001183-5
  • LCCN: sh85003487
  • LNB: 000052282
  • NDL: 00560337
  • NKC: ph114026
  • NLI: 987007293927505171
"https://tr.wikipedia.org/w/index.php?title=Algoritma&oldid=35622667" sayfasından alınmıştır
Kategoriler:
  • Algoritmalar
  • Bilişim terimleri
Gizli kategoriler:
  • BNE tanımlayıcısı olan Vikipedi maddeleri
  • BNF tanımlayıcısı olan Vikipedi maddeleri
  • GND tanımlayıcısı olan Vikipedi maddeleri
  • LCCN tanımlayıcısı olan Vikipedi maddeleri
  • LNB tanımlayıcısı olan Vikipedi maddeleri
  • NDL tanımlayıcısı olan Vikipedi maddeleri
  • NKC tanımlayıcısı olan Vikipedi maddeleri
  • NLI tanımlayıcısı olan Vikipedi maddeleri
  • Sayfa en son 17.23, 8 Temmuz 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
Algoritma
Konu ekle