C # Elo Rating Class digunakan pada Facemash seperti terlihat dalam Social Network Movie

Standar

Jika anda bertanya sesulit apaka algoritma pengkodean yg ada di film social network

ternyata alogaritma yang di pakai itu adalah algoritma yang sering di gunakan untuk memprediksi permainan catur yang di sebut Elo Rating System

Setelah sekian lama ku googling sana sini akhirnya ku menemukan persamaan kode nya, akan terlihat algoritma yang ada di film akan sama.

untuk pejelasan lebih lengkap silahkan cari di wikipedia atau anda bisa langsung melihat penerapan kode nya di salah satu situs social network indonesia www.campusrelation.com

class di bawah ini di tulis dengan bahasa C# menggunakan constanta 400 silahkan sesuaikan

</strong>

public class EloRating
    {
        public double Point1 { get; set; }
        public double Point2 { get; set; }

        public double FinalResult1 { get; set; }
        public double FinalResult2 { get; set; }

        public EloRating(double CurrentRating1, double CurrentRating2, double Score1, double Score2)
        {
            /*
            double CurrentR1 = 1500.0;
            double CurrentR2 = 1500.0;

            double Score1 = 20.0;
            double Score2 = 10;
            */

            double E = 0;

            if (Score1 != Score2)
            {
                if (Score1 > Score2)
                {
                    E = 120 - Math.Round(1 / (1 + Math.Pow(10, ((CurrentRating2 - CurrentRating1) / 400))) * 120);
                    FinalResult1 = CurrentRating1 + E;
                    FinalResult2 = CurrentRating2 - E;
                }
                else
                {
                    E = 120 - Math.Round(1 / (1 + Math.Pow(10, ((CurrentRating1 - CurrentRating2) / 400))) * 120);
                    FinalResult1 = CurrentRating1 - E;
                    FinalResult2 = CurrentRating2 + E;
                }
            }
            else
            {
                if (CurrentRating1 == CurrentRating2)
                {
                    FinalResult1 = CurrentRating1;
                    FinalResult2 = CurrentRating2;
                }
                else
                {
                    if (CurrentRating1 > CurrentRating2)
                    {
                        E = (120 - Math.Round(1 / (1 + Math.Pow(10, ((CurrentRating1 - CurrentRating2) / 400))) * 120)) - (120 - Math.Round(1 / (1 + Math.Pow(10, ((CurrentRating2 - CurrentRating1) / 400))) * 120));
                        FinalResult1 = CurrentRating1 - E;
                        FinalResult2 = CurrentRating2 + E;
                    }
                    else
                    {
                        E = (120 - Math.Round(1 / (1 + Math.Pow(10, ((CurrentRating2 - CurrentRating1) / 400))) * 120)) - (120 - Math.Round(1 / (1 + Math.Pow(10, ((CurrentRating1 - CurrentRating2) / 400))) * 120));
                        FinalResult1 = CurrentRating1 + E;
                        FinalResult2 = CurrentRating2 - E;
                    }
                }
            }
            Point1 = FinalResult1 - CurrentRating1;
            Point2 = FinalResult2 - CurrentRating2;

        }
    }
<strong>

About arrew

Rahadian Wijaya, Lahir di Subang, 28 november 1988 menyelesaikan D1 Pada Jurusan Manajemen Informatika di AMIK BSI Karawang, Setelah Lulus kemudian melanjutkan pendidikan D3 Manajemen Informatika AMIK BSI Karawang, Pernah bekerja di DHL INDONESIA Sebagai Database Administrator, Konsultan IT Pada PRUDENT INTERNATIONAL PATENT , Dan sekarang sedang menjalankan Usaha Online di bidang Webdevelopment http://www.aerestechnology.com

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s