Algoritma nedir?

Algoritma; belli bir soruna çözüm getirmek veyahut yeni bir ürün oluşturmak amacı ile logaritmik çözümleme mantığı kullanılarak kurgulanmış, adımlama sistemidir. Algoritmada temel olarak, başlangıç ve bitiş süreci aralığına iş yordamı eklenerek bir faaliyet gerçekleştirilmesi hedeflenir. Bu faaliyet sonucu olarak, iki temel çıkardan birisi hedeflenir. Bu çıkarlar şu şekilde listelenebilir;

  1. Yeni bir ürün çıkartmak
    • Eğer söz konusu algoritma yeni bir ürün çıkartmaya yönelik oluşturuluyor ise, belli bir plan/program çerçevesinde gerçekleştirilir. Yeni bir ürün çıkartmaya yönelik oluşturulan algoritmalar, mevcut problemi çözmeye yönelik oluşturulan algoritmalardan çok daha farklı yapıya sahiptir.
    • Yeni bir ürün çıkartmaya dayalı algoritmalar başlangıç olarak belli bir plan çevresinde geliştiğinden dolayı, genellikle ekip çalışmasına uygundur. Bunun sebebi ise; söz konusu algoritmanın hangi amaç ile oluşturulduğunun belirlenmesinden tutun hangi koşullarda şekilleneceği hangi sonuca ulaşacağı ve hangi düzene sahip olacağına dair bir ön çalışma gerektirmesidir.
    • Bu kategorideki algoritmalar; mutlak olarak sonuç aşamasında yeni bir ürün çıkartmak zorundadır, aksi durumda algoritma başarısız olarak kabul edilir. Test aşamasına ulaşmadan önce sonuç bölümünde kabul edilebilir bir soyut ürün çıkartılırken eğer daha önce oluşturulmuş bir algoritma ile eşleşme sağlanır ise, ortaya çıkan ürün “ yeni bir ürün “ olarak kabul edilemez. Söz konusu algoritma hedef alınan temel doğrultuda herhangi bir benzeri örneğe sahip olmamalı ve aynı logaritmik mantığı içermemelidir. Aksi durumda, içerik/çözüm kopyalanmış olur.
  2. Belli bir soruna yönelik çözüm getirmek
    • Hali hazırda mevcut bir ürün/yapı içerisindeki belli bir sorunu gidermek amacı ile hazırlanmış algoritmalar, bu kategori içerisinde yer almaktadır. Bu kategorideki algoritmaların diğer kategoriden farkı temel olarak “ yeni bir ürün çıkartma “ amacı gütmemesidir. Bu sebeple bu kategorideki algoritmalar, genellikle ekip çalışması gerektirmez. Tek ve merkezi yönetim çerçevesinde oluşturulup, faaliyete geçirilebilir.
    • Sorun çözümüne yönelik algoritmalar oluşturulurken; çözümün nerede kullanılacağı, nasıl kullanılacağı, beraberinde hangi yardımcı etkenlerin kullanılacağı soruları cevaplandırılır. Söz konusu soruların cevabı doğrultusunda problemin/sorunun kaynak noktası belirlenir ve başlangıç noktası olarak burası işaretlenir.
    • Bu algoritma çeşidinin başarılı olarak oluşturulduğunu kabul etmek için şu soruya evet cevabı verilebilmelidir: “ Söz konusu sorun çözüldü mü? “
    • Eğer bitiş sorusuna evet cevabı verilebiliyor ise, algoritmanın başarılı bir şekilde oluşturulduğu kabul edilir ve işlem tamamlanır. Bu noktada kısmi olarak şu şekilde bir karışıklık meydana gelebilir; kimi zaman sorunların çözümü, beraberinde başka sorunları doğurur. Söz konusu sorunun çözümü beraberinde başka bir sorunu doğuruyor ise, algoritmanın başarısız olması mevzu bahis olamaz. Bu gibi durumda, problem dosyası tamamlandı olarak işaretlenir ve yeni probleme yönelik dosya açılır.

Algoritma Yapıları

Öncelikle temel olarak şu yapı kabul edilmelidir; her algoritmanın başlangıç ve bitiş noktası mevcuttur. Başlangıç ve bitiş aralığındaki oluşturulması hedeflenen iş yordamı, algoritmanın kendisi olarak nitelendirilebilir. Şimdi algoritmadaki bu noktaları sırasıyla ele alalım;

  1. Algoritmalardaki başlangıç noktası
    • Algoritmalardaki başlangıç noktası; genellikle algoritma içerisinde kullanılmış ise, verilerin oluşturulduğu bölümdür. Dikkat edilmesi gereken nokta, algoritma içerisinde kimi zaman geçici veriler oluşturulabilir. Bu veriler tek kullanımlık olduğundan dolayı; algoritmanın başlangıç kısmından ziyade, ihtiyaç duyulan bölümde oluşturulur ve işleme konulur. Bu noktadaki kritik durum, algoritma biçiminin belirlenmesidir. Eğer söz konusu algoritma bir döngü (tekrar) amacı taşıyor ise, mutlak olarak işlem görecek veri bu noktada oluşturulmalı ve diğer kısımlar ile iletişim kurabilmesi sağlanmalıdır.
    • Algoritmanın başlangıç noktası; yeni bir ürün için oluşturulan algoritmalarda kullanıcı hedefinin belirlendiği nokta, bir soruna yönelik çözüm geliştirmek için oluşturulan algoritmalarda ise sorunun başlangıç noktasıdır.
  2. Algoritmalardaki geliştirme noktası
    • Bu nokta, algoritmanın bir döngü (tekrar) ile oluşturulup oluşturulmadığı sorusuna cevap verildiği aşamadır. Eğer bir algoritma çözümlenmek isteniyorsa; ilk bakılması gereken nokta, geliştirme aşamasıdır. Rahatlıkla fark edilebilen döngü mevcut ise, bu döngü ters düğüm mantığı ile çözülerek algoritmanın başlangıç noktası saptanabilir. Aynı şekilde söz konusu döngü bulunarak, algoritmanın bitiş noktasına kolaylıkla ulaşım sağlanabilir ve çıkış verisi elde edilebilir.
    • Bu aşamada daha önce bahsedilen tek kullanımlık veriler yer alabilmektedir. Bazı algoritmalarda döngü kolaylıkla saptanamayabilir. Bu durumda döngüyü fark edebilmenin bir diğer pratiği ise; sıkça değer değiştiren veriyi saptamaktır. Sıkça değer değiştiren veri, çoğunlukla döngü mantığı ile işleme konulur. Sıkça değişen verinin izlerini takip etmek, sizi kolaylıkla döngüye ulaştırabilir.
    • Yeni bir ürün çıkartmak amacı ile oluşturulan algoritmalarda geliştirme noktası; kullanıcı birimlerinin ve genel işleyişin oluşturulduğu bölümdür.
  3. Algoritmalardaki bitiş noktası
    • Bu aşama, algoritmanın sonuçlandırıldığı nokta olarak kabul edilebilir. Bazı algoritmalar bitiş aşamasında kullanıcıya bir değer verirken, bazı algoritmalar kullanıcıya bir değer sunmadan bitiş gerçekleştirebilir. Bu, algoritmanın türüne göre değişiklik gösterebilmektedir.
    • Yeni bir ürün çıkartmak için oluşturulan algoritmalarda bitiş noktasında kullanıcıya verilen değer, soyut diyebileceğimiz ürün olabilmektedir. Bir sorunun çözümüne yönelik oluşturulan algoritmalarda ise; sorunun çözümü ile algoritma tamamlandığından dolayı, bir değer çıkışı sağlanamayabilir.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz