Algoritma (Algorithm)

Resmi olmayan Algoritma, bazı değer veya değerleri bir dizi olarak yani INPUT(girdi) olarak alır ve OUTPUT(çıktı) olarak bazı değerler veya değerleri dizisi olarak üreten, iyi tanımlanmış herhangi bir hesaplama uygulamasıdır diyebiliriz. Yani bir Algoritma, INPUT(girdiyi) – OUTPUT(çıktıya) dönüştüren bir hesaplama aşamaları dizisidir denilebilir.
Bir Algoritmayı iyi belirlenmiş bir computational problems(hesaplama problemini) çözmek için bir araç olarak da görebiliriz. Problemin açıklaması, INPUT / OUTPUT ilişkisini belirtir.
Algoritma, bu INPUT/OUTPUT(giriş/çıkış) ilişkisine ulaşmak için özel bir hesaplama tekniğini açıklar. Örneğin; Bir dizi sıralamayı azalan olmayan bir şekilde sıralamamız gerekebilir.
Bu problem, günlük hayatta sıklıkla ortaya çıkmakta ve bir çok standart tasarım tekniği ve analiz aracını bizlere tanıtmak için verimli bir zemin sunmaktadır.

İşte sorting problems(sıralama problemini) resmi olarak nasıl tanımlıyoruz:
INPUT: Sıralı dizimiz(a1,a2,…,an).
OUTPUT: Bir permütasyon (yani yeniden sıralama)(a’1,a’2,…,a’n)gibi giriş dizisinin a’1<=a’2<=…<=a’n.
Örneğin; Verilen INPUT sırası (31; 41; 59; 26; 41; 58),sıralama algoritmasının OUTPUT (26,31,41,41,58,59) şeklinde olarak tahmin edebiliriz.
Böyle bir INPUT(girdi) sırasına sorting problems(sıralama probleminin)bir örneği diyebiliriz.
Genel olarak, belirlenen bir sorunun instance(örneği), soruna bir çözüm bulmak için gereken INPUT(girdiden) problem bildiriminde açık olarak verilmeyen kısıtlamaları tatmin ederek çözüme ulaşabiliriz.

Birçok program bunu bir ara adım olarak kullandığından sorting(sıralama), bilgisayar bilimlerinde temel bir işlemdir. Sonuç olarak,bir çok sorun için çok sayıda iyi sıralama algoritmalarına sahibiz.Karışık uygulamalar için hangi nasıl bir algoritma yolu seçmeliyiz,il olarak sıralanmış öğelerin sayısı, öğelerin daha önce hangi sıralamaya alındığı, öğe değerlerinde olası kısıtlamalar, bilgisayarın mimarisi ve depolama türü Kullanılacak cihazlar: ana bellek, diskler veya hatta kasetler. Her INPUT(girdi) örneği için doğru OUTPUT(çıktıyla) olduğu takdirde bir algoritmanın doğru olduğu söylenir. Verilen hesaplama problemini doğru bir algoritmanın çözdüğünü söylüyoruz.
Hatalı bir algoritma, bazı INPUT(girdi) örneklerinde hiç durmaz veya yanlış bir yanıtla durdurulabilir.Hatalı algoritmalar hata oranlarını kontrol edebiliyorsak çoğu zaman yararlı olabilir ve ileriki Algoritmik sıkıntılarda çözüm odaklı çalışabiliriz. Örneğin, büyük asal sayıları bulmak için algoritmaları inceleyeceğiz.
Bununla birlikte, normalde yalnızca doğru algoritmaları ilgileneceğiz. Bir algoritma,kendi dilinizde bir soruna çözüm admları belirmek veya bölümümüz ilişki yönünden,bir bilgisayar programı veya bir donanım tasarımı olarakda belirtelebiliriz. Tek şart, takip edilecek hesaplama prosedürünü kesin bir sonuca ulaşabilmesini sağlayabilmemizdir.

 

Algoritmalarla ne tür problemler çözülür?
Sıralama Algoritmları geliştirilen tek çüzüm yolu değildir ilerleyen konuarda bir çok Algoritma yöntemine değinecegiz zaten.Algoritmalar hayatımızın her evresinde kullanabilir iş seçimi olmadan.

*İnsan Genomu Projesi, insan DNA’sındaki 100.000 genin tümünü tanımlama, insan DNA’sını oluşturan 3 milyar kimyasal baz çiftinin dizilimlerini belirleme, bu bilgileri veritabanlarında saklama ve veri analizi için araçlar geliştirme hedeflerine büyük ilerleme kaydetti. Bu adımların her biri gelişmiş Algoritmalar gerektirir. İlgili çeşitli sorunların çözümleri bu ders anlatımlarımızda yer almasada, bu biyolojik problemleri çözmek için birçok yöntem bu derslerimizdede yer almasada ders bölümlerimimizden fikirler kullanıyor ve böylece bilim insanlarının kaynaklarını etkili bir şekilde kullanırken görevlerini yerine getirmelerini sağlıyor. Laboratuar tekniklerinden daha fazla bilgi elde edilebildiğinden geliştirdiğimiz Algoritmalar hem biz insanlar açısında zaman kazandırırken parasal kazancı iy olacaktır.

*Internet, dünyanın dört bir yanındaki insanlara hızlı bir şekilde büyük miktarda bilgiye erişmeleri sağlanmaktadır Akıllı algoritmalar yardımıyla, Internet’teki siteler bu büyük hacim veriyi idare etmek ve manipüle etmek için kullanılabilir. Algoritmaların temelini kullanan sorunların örnekleri arasında, verilerin seyahat edeceği iyi yolları bulma sıkça başvurulan sayfaları bulunması ve kullanılmasını sağlarlar.

*E-ticaret sitelerini, malların ve hizmetlerin elektronik ortamda paylaşım yapmaları,kredi kartı numarası,şifre ve banka dekontları gibi kişisel bilgilerin insanların kendi mahremiyetine bağlıdır. E-ticarette kullanılan temel teknolojiler,sayısal algoritmalara ve sayılar teorisine dayanan, ortak anahtarlı şifreleme ve dijital imza içerirler.

*İmalat ve diğer ticari işletmeler genellikle kit(takım) kaynakların en verimli şekilde tahsis edilmesine ihtiyaç duyarlar. Bir petrol şirketi, beklenen kârını en üst düzeye çıkarmak için kuyularının nereye yerleştirileceğini belirlemek için bir çok tahlil isteyebilir. Bir siyasi aday, seçim kazanma şansını en üst düzeye çıkarmak için para harcamak için kampanya reklamı satın almanın nerede olduğunu belirlemek isteyebilir. Bir havayolu yolcularını mümkün olan en ucuz yolda mürettebatlara atamak isteyebilir, bu da her uçuşun kapsamına girer ve mürettebat zamanlamasıyla ilgili hükümet düzenlemelerine uyulmasını sağlar. İnternet servis sağlayıcısı, müşterilerine daha etkili hizmet verebilmek için ek kaynakların nereye yerleştirileceğini belirlemek isteyebilir.
Aşağıda belirtilenler de dahil olmak üzere,spesifik problemleri nasıl çözebileceğinizi göstereceğiz:

*Diyelimki bitişik kavşakların her birinin arasındaki mesafenin işaretlendiği bir yol haritasına sahibiz ve bir kavşaktan diğerine en kısa rotayı belirlemek istiyoruz.
güzergahların sayısı,Olası tüm güzergahlardan hangisinin en kısa olduğunu nasıl seçeriz? Burada, yol haritasını (gerçek yolların bir modeli olan) bir grafik olarak modelleyerek ve en yakın yolu bir grafikten bir köşeden diğerine getirerek.

*X=(x1,x2,…,xm) ve Y=(y1,y2,…,yn) olmak üzere iki sıralı simgeler dizisi verilmiştir.X ve Y’nin en uzun ortak bir alt dizini bulmayı istiyoruz diyelim. X elemanlarının bazıları (ya da muhtemelen hepsi ya da hiçbiri) kaldırıldığında sadece X kalır. Örneğin;(A,B,C,D,E,F,G)’nin bir alt dizisi; (B,C,G,E) olur. X ve Y’nin en uzun ortak bir alt dizininin uzunluğu, bu iki dizinin ne kadar benzer olduğunun bir ölçüsüdür.
Örneğin, DNA zincirlerinde X ve Y baz çiftleriyse, daha uzun bir ortak diziye sahip oldukları takdirde bunları benzer olarak düşünebiliriz.
X, m sembolü ve Y nin n sembolü varsa, X ve Y, 2m ve 2n olası alt sıralarına sahiptir,sırasıyla.
M ve N çok küçük olmadığı sürece, X ve Y’nin olası tüm alt dizilimlerini seçip bunları eşleştirmek uzun sürebilir.

*Bir parçanın diğer parçaların örneklerini içerebileceği bir parça kütüphanesi yaptığımızı varsayalım,mekanik tasarım verdik ve parçaların sırayla listelenmesi gerekiyor, böylece her bölüm onu ??kullanan herhangi bir parçadan önce kütüphanemizde tanımlanmış olduğundan görünür Tasarım, n parçadan oluşuyorsa, n!(n farklı) olası talimatlar vardır, burada n faktörü fonksiyonel iişlemimizi gösterir. Faktöriyel işlev üstel bir işleve kıyasla daha hızlı büyüdüğünden mümkün olan her düzeni uygun bir şekilde üretemeyiz ve daha sonra her bir bölüm bu parçaları
kullanmadan önce göründüğünü kütüphanemiz sayesinde doğrulayabiliriz (yalnızca birkaç parçamız yoksa).

Verdiğimiz örnekler çok kapsamlı değildir, ancak birçok ilginç algoritmik problem için ortak olan iki özellik:
1. Pek çok sorun çözümleri bulunmakta, bunların çoğu eldeki sorunu çözmüyor. Bunu yapan birini bulmak, veya “en iyi” olanı bulmak oldukça zorlayıcı olabilir.
2. Pratik uygulamalar bulunmakta.Yukarıdaki verdiğimiz örnek sorunlardan en kestirme yolu bulmak en kolay örnektir.Bir kamyon veya demiryolu şirketi gibi bir ulaştırma şirketi, en kısa yolları bir karayolu veya demiryolu ağı ile bulma konusuna finansal olarak ilgi duyar; çünkü daha kısa yollar emek ve yakıt maliyetlerini düşürür. Veya bir mesajı hızlı bir şekilde yönlendirebilmek için internette bir yönlendirme düğümünün en kısa yolu bulması gerekebilir. Veya Ardahan’dan İzmir’e gitmek isteyen bir kişi uygun bir Web sitesinden yol tarifiği bulmak isteyebilir veya sürüş esnasında GPS’ini kullanabilir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir