C# Entropi Değerleri 1 ile 6 arasında değişen 100 elemanlı bir dizi için entropi değerini hesaplıyan C# programı

Posted by KODLAR KOŞESİ on Şubat 19, 2018 with 1 comment

Değerleri 1 ile 6 arasında değişen 100 elemanlı bir dizi için entropi değerini hesaplıyan programı

ENTROPİ NEDİR




Entropi, en kaba tanımla, bir sistemin düzensizliğinin ölçüsüdür  Entropi öylesine yararlı bir fiziksel kavramdır ki, pek çok disiplin içinde ayrı ayrı entropi fonksiyonları kullanılır  Örneğin termodinamik entropi, topolojik entropi gibi  Sistemin düzensizliği arttıkça artan herhangi bir fonksiyon rahatça entropi fonksiyonu olabilir  Örneğin bir bardak suyumuz olduğunu ve bunun içine bir damla mürekkep damlatıp gözlediğimizi düşünelim ve içeride neler olduğunu hayal etmeye çalışalım: mürekkep molekülleri başlangıçta kısa bir sure bir arada bir arada bekleştikten sonra su içine dağılmaya başlayacaklardır çünkü kendilerine çarpan su molekülleri tarafından değişik yönlere saçılırlar

Şimdi olağanüstü bir bilgisayarın sistemin bütün mümkün durumlarını sayabildiğini düşünün Sistemin bir durumu denildiğinde anlamamız gereken şey örneğin bir molekülün belirli bir koordinata ve belirli bir hiza; bir başka molekülün bir başka belirli koordinata ve hiza sahip olduğu bir konfigürasyondur Bardaktaki mürekkep örneğimizde bu tur durumların sayısının çok çok (hatta hayal edebileceğimizden de çok) fazla olduğu açıktır, ama neyse ki bu durumları saymak gibi bir ihtiyaç içinde değiliz zira bunların çok büyük  bir kısmı mürekkebin moleküllerinin bardak içinde oraya buraya rasgele dağıldığı, düzensiz, yani yüksek entropili durumlara karşılık gelirler  Bizim için bunların hepsi homojen durumlardır çünkü biz karışıma baktığımızda o molekülün burada, bir başkasının şurada olmasına aldırmadan, mürekkebin homojen olarak dağıldığını söyler geçeriz Yani olağanüstü sayıda farklı mikroskobik durum tek bir makroskobik duruma, yani homojen duruma karşılık gelir

Esasında suya her mürekkep damlatışımızda, mürekkebin dağılmasının nedeni budur Homojen bir makroskobik duruma karşılık gelen mikroskobik durumların sayısının fazlalığı onun olasılığını arttırır  çünkü istatistik fizik yasaları bir makroskobik durumun olasılığının, ona karşılık gelen mikroskobik durumlarla orantılı olduğunu söyler bize

Ancak, su molekülerinin mürekkebi yeniden bir damla haline getirmesi ya da belki küçük bir köşede toplaması olasılığı sıfıra çok yakın olmakla birlikte, sıfır değildir  Bu sadece moleküllerin çok özel hız ve koordinatlara sahip oldukları durumlarda mümkündür ve bu durumların sayısı da öylesine azdır ki evrenin başlangıcından bu yana bir kez olsun elde edilmiş olmaları bile pek muhtemel gözükmemektedir.

Entropi`yi daha nerelerde Kullana biliriz ?

Örneğin bir alış veriş merkezi düşünelim burada bir analiz yapmamız isteniliyor istenilen analiz şu şekilde AVM ye gelen müşterilerin kaçı hangi ürünü birlikte tüketiyor bunu analiz edip beraber tüketilen bu ürünleri aynı rafa koyarak müşterimizin işini kolaylaştırıyoruz ve daha verimli bir satış elde ederiz işte bu analizi entrobi  kullanarak iki yada daha fazla ürün arasındaki ilişkiyi bulabiliriz .

1 ) 100 elemanlı bir dizi oluşturuyoruz .

2) 1 ile 6 arasında sayı üretmek için random yani rastgele sayı üretiyoruz.

3)dizimizi doldurmak için 100 kadar giden bir for döngüsü yapıyoruz .

4) 1 ile 6 arasında rastgele sayıları diziye doldurmak için d[i] = r.Next(1, 7) ifadesini kullanıyoruz .

5) entropi adında bir değişken tanımlıyoruz .

6) Burada yükarda resimde gördüğümüz entropi formülünü uyguluyoruz .

7) ve son olarak sonucu ekrana yazdırıyoruz .



            int[] d = new int[100];//1
            Random r = new Random();//2
            for (int i = 0; i < 100; i++)//3
            {
                d[i] = r.Next(1, 7);//4
            }
            double entropi = 1;//5
            for (int i = 0; i < 100; i++)
            {
                entropi += (d[i] * Math.Log(d[i]));//6
            }
            Console.WriteLine(entropi);//7
            Console.Read();
Categories: