16Aug

Bilgisayar Algoritmaları Nedir ve Nasıl Çalışır?

click fraud protection

Matematik veya programlamaya girmedikçe "algoritma" kelimesi Yunanca olabilir, ancak bu yazı okumak için kullandığınız her şeyin temel taşlarından biridir.İşte oldukları ve nasıl çalıştıkları hakkında hızlı bir açıklama.

Yasal Uyarı: Ben matematik veya bilgisayar bilimleri öğretmeni değilim, bu yüzden kullandığım tüm terimler tekniktir. Bunun nedeni, her şeyi düz İngilizce olarak açıklamaya çalışıyorum, insanlar için matematikten pek hoşnut değilim. Olduğu söyleniyor, katılan bazı matematikler var ve bu kaçınılmaz. Matematik meraklıları, yorumlarda düzeltmek veya daha iyi açıklamaktan çekinmeyin, ancak lütfen bizim için matematiksel olarak göz ardı etmek için basit tutun.

Görüntü tarafından Ian Ruotsala

Bir Algoritma Nedir?

'Algoritma' kelimesi, 'cebir' benzeri bir etimolojiye sahiptir, ancak bu, Arapça matematikçinin el-Khwarizmi'ye( sadece ilginç bir bildirim) atıf yapması demektir. Aramızda olmayan programcılara yönelik bir algoritma, bir girdi A'yı alan ve bir şekilde karışan verileri değiştiren bir çıktı B sağlayan bir dizi yönergedir. Algoritmalar çok çeşitli uygulamalara sahiptir. Matematikte, çok daha gelişmiş şeyler arasında, bir veri kümesindeki noktalardan işlevleri hesaplamaya yardımcı olabilirler. Programlamada kendi kullanımlarından başka, dosya sıkıştırma ve veri şifreleme gibi konularda önemli roller oynarlar.

instagram viewer

Temel Bir Talimat Seti

Arkadaşınızın sizi bir bakkalda buluşturduğunu ve kendisine doğru yönlendirdiğinizi varsayalım."Sağ taraftaki kapılardan girmek", "soldaki balık bölümünü geçmek" ve "süttüyü görürseniz beni geçtin" gibi şeyler söylüyorsunuz. Algoritmalar öyle çalışıyor. Talimatları önceden bildiğimiz kriterlere göre göstermek için bir akış çizelgesi kullanabiliriz veya süreç boyunca öğreniriz.

( "Icebreaking Routine" başlıklı resim DÜZENLEME: Trigger ve Freewheel'in izniyle)

START'ten başlayarak, yolun aşağısına gidersiniz ve ne olduğuna bağlı olarak, bir sonuca "akış" ı takip edersiniz. Akış şemaları, bilgisayarlar tarafından kullanılan bir dizi yönergeyi daha anlaşılır bir şekilde temsil edebilen görsel araçlardır. Benzer şekilde algoritmalar, matematik temelli modellerle aynı şeyi yapmanıza yardımcı olur.

Grafikler

Bir grafik kullanarak, yön vermenin çeşitli yollarını göstereceğiz.

Bu grafiği tüm noktalar arasında bir bağlantı olarak ifade edebiliriz. Bu görüntüyü çoğaltmak için başkasına bir dizi talimat verebiliriz.

Yöntem 1

Bunu bir dizi nokta olarak gösterebiliriz ve bilgiler grafik ={ (x1, y1),( x2, y2),. ..,( xn, yn)} standart formunu takip eder.

grafiği ={ (0,0),( 3,0),( 3,3),( 5,5),( 7,10),( 8,7),( 9,4),)}

Her puanı birbiri ardına çizmek ve onları bir önceki noktaya bağlamak oldukça kolaydır. Bununla birlikte, her yöne doğru binlerce noktayla veya birden çok segmentle giden bir grafiği hayal edin. Bu listede çok fazla veri var, değil mi? Ve her birini birbirine bağlamak zorunda kalmadan, birer birer acı olabilir.

Yöntem 2

Yapabileceğimiz başka bir şey, bir başlangıç ​​noktası, onunla bir sonraki nokta arasındaki çizgi eğimini vermek ve standart şekli graph ={ (başlangıç ​​noktası}, [m1) kullanarak bir sonraki noktayı bekleyeceğimizi belirtmektir, burada 'm' değişkeni çizginin eğimini, 'x' ise sayım yönünü( x veya y olarak) temsil eder ve 'h( x, y1),. .., [mn, xn, hn]', kaç tanesinin sözü edilen yönde sayılabileceğini söyler. Aynı zamanda her harekette bir nokta çizmeyi de hatırlayabilirsiniz

grafik ={ (0,0), [0, x, 3], [0, y, 3], [1, 2, 3, x, 1], [-3, x, 1]}

Aynı grafiğe bakınız. Bu ifadedeki son üç terimin aynı olduğunu görüyoruz, bu yüzden bunu bir şekilde "tekrarlayın" dediğini söyleyerek düzeltebilirsiniz. Diyelim ki, değişkeni 'R

grafiği ={ (0,0), [0, x, 3], [0, y, 3], [1, x, 2] gibi görünen,[2.5, x, 2], [- 3, x, 1], [R = 2]}

Tek tek noktalar gerçekten önemli değilse ve sadece grafiğin kendisi ne yaparsa? Bu son üç bölümü şöyle konsolide edebiliriz:

graph ={ (0,0), [0, x, 3], [0, y, 3], [1, x, 2], [2.5, x, 2], [-3, x, 3]}

İşleri biraz eskisinden biraz kısaltır.

Yöntem 3

Bunu başka bir yol denemeyi deneyelim.

y = 0, 0≤x≤3
x = 0, 0≤y≤3
y = x, 3≤x≤5
y = 2.5x-7.5, 5≤x≤7
y = -3x + 29, 7≤x≤8
y = -3x + 29, 8≤x≤9
y = -3x + 29, 9≤x≤10

Burada saf cebirsel terimler kullanıyoruz. Bir kez daha, eğer puanların kendileri önemli değilse ve sadece grafik varsa, son üç maddeyi konsolide edebiliriz.

y = 0, 0≤x≤3
x = 0, 0≤y≤3
y = x, 3≤x≤5
y = 2.5x-7.5, 5≤x≤7
y = -3x + 29, 7≤x≤10

Şimdi hangi yöntemi seçerseniz, yeteneklerinize bağlıdır. Belki matematik ve grafiklerle harikasınız, bu nedenle son seçeneği seçersiniz. Belki navigasyonda iyisiniz, böylece ikinci seçeneği seçersiniz. Bununla birlikte, bilgisayar dünyasında, birçok farklı görev yapıyorsunuz ve bilgisayarın kabiliyeti gerçekten değişmiyor. Bu nedenle, algoritmalar tamamladıkları görevler için optimize edilmiştir.

Dikkat çekilmesi gereken bir diğer önemli nokta, her yöntemin bir anahtara dayanmasıdır. Her talimat seti, onlarla ne yapacağınızı bilmediğiniz sürece faydasızdır. Her bir noktayı çizmeniz ve noktaları birbirine bağlamanız gerektiğini bilmiyorsanız, ilk noktalar kümesi hiçbir şey ifade etmez. Her değişkenin ikinci yöntemde ne anlama geldiğini bilmiyorsanız, bir şifre anahtarı gibi çok şeyleri nasıl uygulayacağınızı bilemezsiniz. Bu anahtar da algoritmaları kullanmanın ayrılmaz bir parçasıdır ve çoğunlukla bu anahtar toplulukta veya bir "standart" ile bulunur.

Dosya Sıkıştırma

Bir. zip dosyası indirirken içerikleri ayıklayarak ne olursa olsuniçeride. Günümüzde çoğu işletim sistemi, arka planda her şeyi yaparak, normal klasörler gibi. zip dosyalarına dalabilir. On yıl önce Windows 95 makinemde, içindeki dosya adlarından daha fazlasını görebilmek için elle her şeyi çıkarmak zorunda kaldım. Bunun nedeni, diskteki bir. zip dosyası olarak saklananın kullanılabilir bir formda bulunmamasıydı.Çekmece kanepesini düşünün. Yatağı kullanmak istediğinizde yastıkları çıkarmanız ve açmanız gerekir; bu da daha fazla yer kaplar.İhtiyacınız olmadığında veya taşımak istiyorsanız geri koyabilirsiniz.

Sıkıştırma algoritmaları, özellikle hedeflenen dosya türleri için ayarlanır ve optimize edilir.Örneğin, ses formatları, ses kod çözücüsü tarafından çözüldüğünde, orijinal dalga formuna benzer bir ses dosyası verecek verileri depolamak için farklı bir yol kullanır. Bu fark hakkında daha fazla bilgi için önceki makalemizi inceleyin, Bütün Bu Ses Formatları Arasındaki Farklar Nelerdir? Kayıpsız ses biçimleri ve. zip dosyalarının ortak bir özelliği vardır: her ikisi de orijinal verileri dekompresyon işleminden sonra kesin biçimde verirler. Kaybedilen ses codec bileşenleri, insan kulakları tarafından işitilemeyen frekansları kırpma ve bazı ayrıntılardan kurtulmak için bölümlerdeki dalga formunu düzleştirmek gibi disk alanından tasarruf etmek için başka yollar da kullanır. Sonunda, bir MP3 ve bir CD parçası arasındaki farkı gerçekten duyamayabiliriz ancak, birincisi eski bir bilgi eksikliği var.

Veri Şifreleme

Algoritmalar, veri veya iletişim hatlarını güvence altına alırken de kullanılır. Verileri daha az disk alanı kullanacak şekilde depolamak yerine, diğer programlar tarafından saptanamayacak şekilde depolanır. Birisi sabit sürücünüzü çalarsa ve taramaya başlarsa, dosyalar silindiğinde bile veri kendine gelebilir, çünkü verinin iletildiği yer gitmiş olsa bile. Veriler şifrelendiğinde, ne saklıysa ne olduğu görünmüyor. Parçalanma zamanla oluşmuş gibi genellikle rasgele görünüyor. Ayrıca verileri depolayabilir ve başka bir dosya türü olarak görünmesini sağlayabilirsiniz.Örneğin şüphe çekmeden oldukça büyük olabilecekleri için, görüntü dosyaları ve müzik dosyaları bunun için iyidir. Bütün bunlar, bir çeşit girdi alan ve onu başka bir çok özel çıktı türüne dönüştüren matematiksel algoritmalar kullanarak yapılır.Şifrelemenin nasıl yürüdüğü hakkında daha fazla bilgi için HTG Explains'i inceleyin: Şifreleme nedir ve Nasıl Çalışır?

Algoritmaları, bilgisayar bilimlerinde çeşitli kullanımlar sağlayan matematiksel araçlardır. Bir başlangıç ​​noktası ile bitiş noktası arasında tutarlı bir şekilde bir yol sağlamak için çalışırlar ve takip etmeleri için talimatları sağlarlar. Vurguladığımızdan daha fazlasını biliyor musun? Açıklamalarınızı yorumlarınızda paylaşın!