Bilmek istediğin her şeye ulaş

Algoritma

Bilim

Algoritma, 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 (adımlar) kümesidir. Algoritmalar bilgisayarlar tarafından işletilebilirler. Algoritma kelimesi, Özbekistan'ın Harezm, bugünkü Türkmenistan'ın Khiva kentinde doğmuş Ebu Abdullah Muhammed bin Musa el Harezmi isimli Fars matematikçinin adından gelir. Batılılar, el Harezmi (Al-Khwārizmī)(Latincede Algoritmi) sözcüğünü telaffuz edemedikleri için terim bu şekilde kalmıştır.(Kaynak: Nazif Tepedelenlioğlu/Kim Korkar Matematikten/Sf. 22) % n koy, tekrar 1'den başla. Bu örnekte m%n bölmenin kalanıdır, yani [5 % 2 = 1]'deki gibi. Algoritmayı 33 ve 15'e uygulayalım: [33,15][15,3][3, 0] sonuç [3] Bir de 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

Şubat 2015

Abdullah Gürel, bir soruya yanıt verdi.

Algoritma ve kriptoloji nedir? Nerelerde kullanılır? Nasıl yazılır?

Algoritma bir program yazmadan önce nasıl bir yol izleneceğini anlatan bir diyagram örnek olarak sabah kalktığında işe gidene kadar yaptıkların nasıl bir yol izlediğini Başla VE Bitir diyagramlarını arasında yazma işlemidir. Bir nevi sahte koddur. Kriptoloji bir şifre bilimidir eski zamanlardan gelen şimdilerde ise birçok yönlü yolu olan bir şifre bulma işlem bilimi...
Ocak 2015

Gökhan Çancılar, bir soruya yanıt verdi.

Evrimsel algoritmalar nelerdir?

Ben bunu duyunca aklıma direkt olarak doğal seleksiyon geliyor. Nasıl doğada yaşama şansı fazla olan üreyebiliyor, üreyebilen de genlerini bir sonraki nesle aktarıyorsa, algoritmaların da benzer bir yapı ile kurulabileceğini düşünüyorum.

Mesela bir program yazılsa ve HTML sayfaları kodlasa. Bizim verdiğimiz etiketlerle milyarlarca HTML dosyası oluştursa, bunlardan bir kısmı anlamlı olmaz mıydı? Eğer insan gözü, bu güzel deseydi, algoritma onu ödül görüp onun üzerine giderdi. Ama böyle bir şey için insan çabası gerekir. Doğada ödül, uzun yaşamak, dahası üreyerek kendi genlerini bir sonraki nesle aktarmaktır. Ceza da ölümdür ve genler toprağa gömülür.

Eğer ödül/ceza mantığı şeklinde bir şeyler olsa bilgisayarlar kendi kendine program dahi yazabilirler ama ödül ve ceza mantığı nasıl işleyecek? Bunlar sadece benim kafamdan geçenler, bir disiplin anlatarak söylemiyorum. Bununla ilgili genetik algoritmalar, yapay sinir ağları gibi modeller var.
Ocak 2015

Hikmet Yumaklı, bir soruya yanıt verdi.

Evrimsel algoritmalar nelerdir?

Genetik, taklitçi, sezgisel gibi... Daha özetiyle her bir işlemden sonra o işlemin mantığını kabul edip diğer işlemi yapmayarak yeniden işlemi yapar... Doğadaki mantığada uygundur bu belki... Sürekli değişikliklere uyum sağlamaktır. . .
Ocak 2015

Rasim Andıran, bir soruya yanıt verdi.

İki dosyanın karşılaştırılmasını sağlayan hazır algoritmalar nelerdir? Karşılaştırma işlemi neler temel alınarak yapılır?

En mantıklısı dosyaların hash kodlarını karşılaştırmak. Aradaki farklara göre yapılması gereken işlemler varsa dosyalar program içinde okunur, herhangi bir işlem yapılmayacaksa dosyaları okumaya gerek kalmadan hash kodu karşılaştırmasıyla aynı olup olmadıkları anlaşılır.
Ocak 2015

Birkan Aydin, bir soruya yanıt verdi.

İki dosyanın karşılaştırılmasını sağlayan hazır algoritmalar nelerdir? Karşılaştırma işlemi neler temel alınarak yapılır?

Lise yıllarımda bu tarz bir program yazmıştım, dosyalar aynı ise birisini silmek üzere kodlamıştım. Kullanmış olduğum kriterler sırasıyla: Dosya isimleri, (dosya boyutları ve uzantıları) olmuştu. Aynı isimde, aynı boyutta ve aynı uzantıya sahip ise birisini sil. Aynı isime sahip ama boyutları farklı ise silinecek olanı seçmem için bana sor.. İsimleri farklı ama boyutları ve uzantıları aynı ise seçmem için bana sor şeklindeydi. Yalnız o zaman ki harddisk (40GB) tarama yöntemim bilgisayarımın bir kaç dakikalığına kilitlenmesine sebep oluyordu. VB6 'da thread işlemini kullanmayı halen bilmiyorum :)
Ocak 2015

Ceyhun Çakar, bir soruya yanıt verdi.

İki dosyanın karşılaştırılmasını sağlayan hazır algoritmalar nelerdir? Karşılaştırma işlemi neler temel alınarak yapılır?

Linux ve git'in ayrı ayrı diff komutları var. Bu komut karşılaştırma sonucunu içeren ama pek göze hitap etmeyen bir çıktı üretiyor. Eğer metin karşılaştırılıyorsa ilk dosyada olmayıp ikincide olanlar +, tersi olan satırlarsa - ile başlatılıyor.

Bununla beraber ben daha göze hitap eden sonuçlar için freeware olarak Meld (meldmerge.org/), daha iyi ama ücretli olarak Beyond Compare'i (scootersoftware.com) öneririm. Grafiksel karşılaştırma benim için kod geliştirmenin olmazsa olmazıdır.
Ekim 2014

Ebru Uyar, bir soruya yanıt verdi.

NP-Hard problem ne demektir?

"NP zor sorunlar olarak en azından sert", gayrı olan sorunların bir sınıftır.
Bir sorun
H


NP-zor
olmadığını ve yalnızca


bir olduğunu
NP-tam


olduğunu sorun L
polinom zaman Turing indirgenebilir


(örneğin, L ≤ H 

T

H) .
Diğer bir deyişle,
L


çözülebilir
polinom zamanda


bir tarafından
kehanet makine


için bir kahinin ile
H


.
Gayriresmi olarak, biz çözmek için bir alt yordam gibi bir kahin makinesi diyebileceğimiz bir algoritma düşünebilirsiniz
H


, ve çözer
L


altprogram çağrısı hesaplamak için sadece bir adım alırsa, polinom zamanda.
Ekim 2014

Alper Ozpinar, bir soruya yanıt verdi.

NP-Hard problem ne demektir?

Kısa bir ekleme yapmak gerekirse, eğer algoritmanız net bir şekilde yapılacak işi tanımlamış ise, ihtiyacınız olan işlemci gücü ve kapasitesine göre probleminizin çözülmesine ilişkin öngörüm yapabilirsiniz.

Biraz benzetimle P tipi problemler havuz problemleri gibidir, işci havuz musluk yani problem, cpu ve ram biliniyorsa doldurma işi için doldurma veya boşaltma zamanı net bir şekilde hesaplanabilir,

NP tipi problemler Deterministik olmayan yani net bir formülle bağımlı ve bağımsız değişkenleri şekillendiremediğiniz problemlerdir ve havuz problemnine yağmur, komşunun cocuklarının havuza hortum atması, havuzdan su içen kuşlar, kaza yapan bir tankerin havuzunuza düşme ihtimali vb gibi formüle katmakta dolayısı ile hesaplama zamanını polinomsal bir formüle dökmekte sorun yaşayacağınız tipte problemlerdir.
Ekim 2014

Bazarov, bir soruya yanıt verdi.

NP-Hard problem ne demektir?

Öncelikle, aktaracağım sınırlı bilgilerde hata payımın olduğunu belirtmek isterim. Zira, ben de sınırlı kaynaktan zorlanarak konu hakkında bilgi edindim. Ama yine de paylaşmak istiyorum. Belki birbirimize yardımcı oluruz.

İlk olarak, P ve NP kompleks hesaplama teoreminden gelen sınıfları ifade eden ön eklerdir. Hesaplama teoremine göre P sınıfında yer alan problemler Polynomial zamanda çözülebilecek problemleri ifade etmek için kullanılmaktadır. Yani problemin zorluğu arttığında çözüm süresi polinomsal olarak (n^2, n^3 gibi) artar. Öte yandan, NP sınıfındaki problemlerin çözümü ise NonDeterministic-Polynomial zamanda çözümlenebilir. Problem karmaşıklaştıkça çözüm süresi üssel biçimde (2^n, 3^n gibi) artmaktadır.

Hal böyleyken P ve NP sınıfındaki problemler az çok belirlenmiştir. Matematiksel formüllerine bakılarak, benzetilerek bir problemin ne kadar 'zor' olduğuna ya da çözümünün ne kadar mümkün olduğuna karar verilmektedir. Buna ek olarak, NP sınıfındaki problemler de kendi içinde sınıflandırılmıştır biraz literatür taraması yaparak probleminizin ait olduğu sınıfı öğrenmeniz mümkün olacaktır.

NP sınıfında da problemler NP-Hard ve NP-Complete olarak ikiye ayrılmaktadır. NP-Complete problemler karmaşıklık sınıfına ait en zor problemlerin bulunduğu sınıftır ve probleminiz bu sınıftaysa doğrudan bir çözüm bulmanız oldulça zordur. Öte yandan, NP-Hard sınıfındaki problemler ise NP sınıfındaki problemler kadar zor olmasına rağmen P sınıfındaki problemlere indirgenebilenleri ifade etmektedir. Yani NP sınıfının görece 'kolay' problemlerini içerir. Bu NP'den P'ye indirgemek nasıl olur diye aklınıza gelirse diye ilginç bir bilgi daha paylaşayım bu P versus NP problemi, çözülmeyi bekleyen milyon dolar ödüllü bir problemmiş.

Derinlemesine bilgi sahibi olmadığımı en başından belirttiğim bu konuda, umarım yardımcı olabilmişimdir.
Eylül 2014

Celikkan,  yeni bir soru sordu.

Haziran 2014

Ceyhun Çakar, bir soruya yanıt verdi.

Günlük hayattan örnek verebileceğiniz iyi bir optimizasyon tekniği veya algoritma analizi kullanılarak yapılmış bir sistem var mı? Varsa hangi metodlarla yapılmış ve sisteme katkısı nasıl olmuştur?

Navigasyon cihazlarının harita üzerinde en uygun yolu bulmaya çalışması günlük hayattaki en yaygın optimizasyon uygulamalarından biridir. Algoritması ürüne bağlı olmakla birlikte gezgin satıcı progleminin A* algoriması ile çözümüne benzer algoritmalar kullandıklarını tahmin ediyorum.
Daha fazla

127 kişi

Konunun Takipçileri

Alt Konu Başlıkları

Henüz bu konu başlığı ile ilgili konular bulunmuyor.