Forumda yenilikler devam etmektedir , çalışmalara devam ettiğimiz kısa süre içerisinde güzel bir görünüme sahip olduk daha iyisi için lütfen çalışmaların bitmesini bekleyiniz. Tıkla ve Git
x

Son konular

Algoritma ve HAREZMİ

Algoritma ve HAREZMİ

iltasyazilim

FD Üye
Katılım
Ara 25, 2016
Mesajlar
0
Etkileşim
17
Puan
38
Yaş
36
F-D Coin
58
Algoritmaların Düşündürdükleri

Ahmet IŞIK





Linkleri sadece kayıtlı üyelerimiz görebilirForumTR üyesi olmak için tıklayınız

Türkçede; “Her yiğidin bir yoğurt yiyişi vardır sözüyle insanların meseleleri ele alıştaki farklılığı vurgulanır “Akıl akıldan üstündür sözü ise, insanları başkalarının fikirlerine açık olmaya davet eder Cenâbı Hak, insanları farklı mizaç ve kabiliyetlerde yaratmıştır Bunun hikmetlerinden biri, insanların meselelere farklı açılardan bakabilmelerini ve problemlere değişik çözümler üretebilmelerini sağlamaktır Bu hikmete uygun davranmak, fikrî zenginlik ve insanlar arasında yardımlaşmayı sağlar; birçok kolaylığı beraberinde getirir

Birçok sahada olduğu gibi algoritma sahasında da ilk araştırmalar Müslüman âlimler tarafından yapılmıştır Algoritma kavramı ilk defa, 780–850 yılları arasında Bağdat’ta yaşamış, matematik, astronomi ve coğrafya alanlarında mühim çalışmalara imza atmış, dünyaca ünlü Müslüman âlim Harezmî tarafından kullanılmıştır Harezmî’nin “Hisabü’lCebr ve’lMukabele isimli eseri, aynı zamanda ilk algoritma koleksiyonunu oluşturur Eserin Lâtince tercümesi Avrupa’da da büyük dikkat çekmiştir Avrupalılar, ‘algorizma’yı ‘Arapça sayıları kullanarak aritmetik problemleri çözme kuralları’ mânâsında kullanmışlar, terim daha sonra ‘algoritma’ya dönüşmüştür
Başlangıçta matematiğin bir dalı olarak gelişen algoritma, ‘belli bir problemi çözmek veya bir fiili gerçekleştirmek için takip edilen yol, işlemler dizisi, basamaklar kümesi’ veya ‘insanların problemlere getirdikleri değişik çözüm metotları’ olarak tarif edilir Sonlu sayıdaki bu işlemler, adımlar veya basamaklar bir noktada başlar ve tarif edilmiş bir netice durumunda sonlanır Günümüzde algoritma dendiğinde ise, daha çok bilgisayar programlarında kullanılan, sıralama, arama vb işlemlerde takip edilen yollar akla gelmektedir Bilgisayarların her alanda problem çözmede kullanılmasına paralel olarak, algoritmalar oldukça yaygınlaşmıştır Günümüzde fizik, kimya, biyoloji, müzik dâhil birçok sahada algoritmalar kullanılmaktadır

Aynı problemi çözmeye odaklı farklı algoritmalar, çözüme farklı yollardan ulaşmayı mümkün kılar Meselâ, verilen sayıları küçükten büyüğe veya büyükten küçüğe sıralamak için geliştirilen çok sayıda sıralama algoritmaları vardır: seçerek sıralama (selection sort), birleştirerek sıralama (merge sort), ve çabuk sıralama (quick sort) Bir sayının sıralanmış bir dizide bulunup bulunmadığını araştıran arama (search) algoritmaları için de aynı durum söz konusudur Benzer şekilde, farklı kabiliyetlerle donatılmış insanların aynı problemi farklı algoritmalarla veya yaklaşımlarla çözmeye çalışması, daha doğruyu, iyiyi ve güzeli bulmaya hizmet eder Bu yüzden bir fikri inceleyip anlamadan reddetmemek, farklı fikirlerin öne sürülmesini teşvik etmek, daha uygun fikir ve çözümlerden faydalanmaya çalışmak her zaman önemlidir Farklılıkların zenginliğe dönüştürülmesinde, diyalog kurma ve karşılıklı saygı duyma ise, olmazsa olmaz ahlâkî bir fazilettir

Bilgisayar algoritmaları, sadece tarif edilmiş işaretlerden anlayan bilgisayarlara belirli bir problemin nasıl çözüleceğini gösterir Bu bakımdan, bilgisayarların kendiliğinden hiçbir işlem yapamayacağını, sadece insanların programladığı fonksiyonları yerine getirebileceğini unutmamak gerekir Son yıllarda bilgisayar bilimlerinde, özellikle sun’î zekâ gibi sahalarda kaydedilen ilmî gelişmelere paralel olarak bazı araştırmacılar, bilgisayarlara âdeta insan rolü biçmeye kalkıp, insanın benzerinin yapılabileceği gibi akıldan uzak fikirleri dile getirseler de, bunun gerçekleşmesi mümkün görünmemektedir

Gerek bilgisayar alanında gerekse günlük hayatta problem çözerken sistematik bir yol takip edilmesi, karşılaşılan problemleri çözmede başarı nispetini büyük ölçüde artırmaktadır Problem çözmede en önemli aşama, problemin doğru bir şekilde teşhis ve tarif edilmesidir Daha sonra, problemi çözen algoritmalar geliştirilir Bu algoritmalardan çözüme ulaştırmada en tutarlı ve uygun olanı tercih edilir

Tasarlandıktan sonra akış şemasıyla resmedilen algoritmanın bilgisayarın anlayacağı bir dile çevrilmiş hâli olan bilgisayar programı da bilgisayar ortamında çalıştırılarak uygun verilerle test edilir Bu testle algoritmanın doğru bir şekilde çalıştığından emin olunduktan sonra program gerçek işlemlerde kullanılarak muhtemel olumsuzlukların önüne geçilmiş olur

İnsanoğlu kendisine verilen, başta akıl olmak üzere bütün kabiliyetlerini kullanarak her zaman daha doğruyu ve iyiyi bulabilir Özellikle ilmî çalışmalarda elde edilen ilerlemelerin dâima bir sonraki adımının olabileceği düşüncesiyle araştırmalar yapılır Çünkü insanlık tarihindeki tecrübe birikimi göstermiştir ki, bugün geliştirilen bir metot zaman içinde yetersiz kalabilmektedir

Aynı problemi çözen farklı birçok algoritma analiz edilirken, bunların maliyetlerine bakılır ve maliyeti en düşük ve uygulanabilir olan algoritma tercih edilir Algoritmanın maliyeti problemi çözmek için gerçekleştirilen işlem sayısına göre belirlenir Aynı problemi daha çok işlem yaparak çözen algoritma daha düşük bir performansa sahiptir

Araya koyarak sıralama algoritması
Sıralama algoritmaları bilgisayar alanında en ilgi çekici olanlardır Verilerin sıralı hâlde oluşu, bunların işlenişini ve kullanılmasını kolaylaştırıp işlem yapma hızını artırdığından, veriler genellikle önce bir sıralama algoritmasıyla sıralanır

Araya koyarak sıralama türünde, sıralanacak dizinin ikinci teriminden başlanarak, bütün terimleri kendinden önceki bütün terimlerle karşılaştırır Karşılaştırma yapılırken eğer eldeki sayı karşılaştırıldığı sayıdan küçükse, büyük olan sayı bir kaydırılır Genel olarak her terim kendinden önceki bütün terimlerle karşılaştırıldığından n terimli bir dizide bu sıralama n x n kadar karşılaştırma yapılarak gerçekleştirilebilir Bu sıralama algoritmasının maliyeti algoritma literatüründe O(n2) olarak gösterilir Bu sıralamayı n karşılaştırma ile gerçekleştirebilen (O(n) maliyetli sıralama) algoritmalar da mevcuttur

En kısa yolu bulma algoritması
Bu algoritma, iki nokta arasındaki en kısa yolu bulmak için kullanılır Elimizde bazıları birbirleriyle bağlantılı sınırlı sayıda noktalar olduğunu düşünelim Bu hesaplama esnasında, sistematik olarak, verilen noktalar arasında kurulabilecek bütün bağlantı kombinasyonları kontrol edilerek en kısa yol bulunur Bu algoritmanın kullanımına misâl olarak, Amerika gibi bütün yollarının kayıtlarını en ince ayrıntılarıyla sanal ortama aktarmış ülkelerde, bir yerden bir yere seyahat edenlere sürüş doğrultusu belirleme hizmeti sağlayan siteleri verebiliriz Kullanıcının verdiği iki adres arasındaki muhtemel bütün ulaşım güzergâhları göz önünde bulundurularak, belli kriterlere göre yol adlarıyla en uygun güzergâh tavsiye edilir Bu algoritma, ülkemizde de, bazı belediyeler tarafından kayıtlı otobüs seferleri esas alınarak belli iki semt arasında seyahat etmek için hangi otobüs hattının veya hatlarının tercih edileceğini araştıran yolcuları bilgilendirmede kullanılmaktadır

Tıpta algoritma kullanılması
Bir hastalığın teşhis veya tedavisinde kullanılan, herhangi bir araştırma veya arama tablosu tıbbî algoritma olarak tarif edilir Hastalıkları bunlarla teşhis, tedavi ve takip ederken karar ağacı mantığı kullanılır “Eğer hastada A, B, C belirtileri varsa, D hastalığı olması muhtemeldir ve E tedavisini kullan! gibi yol gösterici algoritmalar tıpta yaygın olarak kullanılmaktadır Bunların gâyesi, sunulan sağlık hizmetlerini standartlaştırmak ve böylece ortaya çıkabilecek potansiyel belirsizlik ve hataları azaltmaktır Ayrıca bu algoritmalar, hastaya yaklaşım, teşhis ve tedavide yol gösterici olarak problemin daha kolay çözümü için eğitim aşamasında da kullanılır Yayımlanmış birçok tıbbî bilgi, basit hesaplamalar yapandan karmaşık kararlar alabilenlere kadar çeşitlilik arz eden değişik algoritmalar hâline dönüştürülmüştür Meselâ, vücut kitle indeksi (VKİ) ölçümü için geliştirilmiş bir algoritmada, gönüllü kişiye yöneltilen sorular arasında yaş, cinsiyet, boy ve kilo vardır Kişiden alınan bilgiler daha sonra tıp biliminde kazanılan tecrübeye göre oluşturulan bir formüle tâbi tutularak indeks hesaplanır Fakat doktorların bu algoritmalardan elde edilen neticeleri kesinlikle kendi bilgisiyle karşılaştırması ve süzgeçten geçirmesi gerekir Çünkü VKİ gibi basit bir algoritmada bile kişinin sporcu veya hamile olması durumunda bu algoritma güvenirliğini yitirebilmektedir Bütün algoritmalar hekime yol göstericidir; fakat nihai kararı, her hastayı ayrı değerlendirerek hekim vermelidir

Algoritma ve müzik
Ortaçağ’dan beri müzikte kullanılan algoritmik besteleme, metodolojik bir yaklaşımla müzik üretmek demektir Meselâ, kanon türü müzik, seslerin tekrarlanarak üretildiği bir müzik türüdür Bu müzik türünde meselâ iki melodi varsa, bunun oluşturulması için şu algoritma kullanılabilir: Bir melodiezgi alınır, sonra kopyası üretilir Daha sonra bu iki melodi öyle birleştirilir ki, harmonik bir şekilde ilerler; fakat senkronize (başlangıçları aynı) olmaz Diğer bir ifadeyle, ikisi arasında bir faz farkı vardır Müzikte bunun gibi birçok algoritma kullanılmaktadır

İnsan beyni, tabiat ve algoritma
Algoritma deyince akla, en ince hesapları kolayca yapabilecek şekilde yaratılmış, bilgisayarlarda kullanılan hesaplama tekniklerinin geliştirilmesine vesile olan insan beyni gelmektedir Beynin sırları henüz tam aydınlatılamamış olsa da, biyolojik yapı ve işleyişi hakkında mühim bilgiler elde edilmiştir Meselâ, bu bilgiler beynin değişik bölgelerinin değişik vazifeleri olduğunu göstermektedir Vücuttaki organların kontrolüne, muhakeme yapmaya, dili kullanmaya ve hissî aktivitelere karşılık gelen işleyişler, renklerin algılanması, hareketin hesaplanması, kenar, köşe, girintiçıkıntı gibi fizikî kavramların algılanması gibi son derece karmaşık vazifeler, hep beyin üzerindeki mekanizmalar kullanılarak gerçekleştirilmektedir Bu vazifeler, işleyişi henüz tam çözülememiş algoritmalarla yapılmaktadır Meselâ, iki gözden alınan bilgilerin veya görüntülerin tek bir görüntüde birleştirilmesi, bilim adamlarının tam olarak aydınlatamadığı konulardandır Bilhassa sun’î zekâ alanında, insan beyni taklit edilmeye çalışılsa da, beyin ile gördürülen, yürüme, iletişim kurma, vb çok basit fonksiyonlar bile ancak pratik olmayan şekilde gerçekleştirilebilmiştir

Algoritmaların düşündürdükleri
Bilim ve teknoloji geliştikçe yeni buluşlar yapılmakta, çözülemeyen problemlere algoritmalar sunulmakta, çözülmüş problemlerin algoritmaları daha da geliştirilmektedir Meselâ, 1970’lerde mâkûl bir zaman diliminde çözülemez gözüyle bakılan şifreler, günümüzde geliştirilen algoritmalara ve bilgisayarların artan işlem gücüne paralel olarak rahatça çözülebilmektedir Dolayısıyla algoritmalardaki bu gelişme, sürekli daha iyi ve tesirli olanın aranması gerektiğine işaret etmekte, ayrıca aynı hedefe götüren çok değişik yollar olabileceğini de hatırlatmaktadır Bu yüzden, çevremizdeki insanların fikirlerine her zaman açık olmamız ve hattâ bir konuda karar vermeden önce, başkalarına danışıp istişare etmemiz daha doğruyu, iyiyi ve güzeli bulmada bize büyük kolaylık sağlayacaktır

Kaynaklar
Introduction to Algorithms, T H Cormen, C E Leiserson, R LRivest 24 Baskı, 2000
Linkleri sadece kayıtlı üyelerimiz görebilirForumTR üyesi olmak için tıklayınız
Linkleri sadece kayıtlı üyelerimiz görebilirForumTR üyesi olmak için tıklayınız
 
858,496Konular
981,633Mesajlar
29,718Kullanıcılar
MercestgSon üye
Üst Alt