Thursday 12 September 2013

Hebb Rule 1 bit Biner

Pada postingan Kali ini saya akan membahas mengenai Algoritma Hebb Rule 1 bit Biner.
Algoritma yang digunakan ialah menggunakan proses iterasi dari nilai bobot yang didapat .

Pada postingan Kali ini saya akan membahas mengenai Algoritma Hebb Rule 1 bit Biner.
Algoritma yang digunakan ialah menggunakan proses iterasi dari nilai bobot yang didapat .
Berikut Algoritma Hebb Rule yang saya dapatkan
1. Inisialisasi nilai input (Xij)
2. Mendapatkan nilai Target(T) dari nilai Input. Sesuai dengan tugas saya nilai input di OR kan baru kita dapatkan nilai target.
contoh,
input       OR        Target
0    0                       0
0    1                       1
1    0                       1
1    1                       1



3. mendapatkan nilai bobot Wij= W_old+ Xij* Target
4. Mendapatkan nilai bias    bias= bias_old+Target
5. Ulangi sampai Proses iterasi selesai

Berikut Source Code yang saya buat di Mic. Visual C# Express 2010



  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using Microsoft.VisualBasic;

  10. namespace JST_Hebbrule_6bit_
  11. {
  12.     public partial class Form1 : Form
  13.     {
  14.    
  15.         int[] w_old = { 0, 0 };
  16.         int u, c, d, r;
  17.         int b_lamo=0;
  18.         int[] y = new int[4];
  19.         int[,] X = { { 0, 0 }, { 0, 1 }, { 1, 0 }, { 1, 1 } };
  20.         int[] T = { 0, 1, 1, 1 };
  21.         int[] b=new int[4];

  22.         int[,] W= new int[8,3];

  23.         public Form1()
  24.         {
  25.             InitializeComponent();
  26.         }

  27.         private void Form1_Load(object sender, EventArgs e)
  28.         {
  29.         }

  30.         private void button1_Click(object sender, EventArgs e)
  31.         {
  32.             listBox1.Items.Clear();
  33.             listBox1.Items.Add("Nilai bobot");
  34.             listBox1.Items.Add("");
  35.          

  36.                 for (d = 0; d <= 3; d++)
  37.                 {
  38.                     for (r = 0; r <= 1; r++)
  39.                     {

  40.                         W[d, r] = w_old[r] + (X[d, r] * y[d]);
  41.                         listBox1.Items.Add("w[" + (d) + "]" + "[" + (r) + "] = " + W[d, r]);
  42.                         b[d] = b_lamo + y[d];

  43.                     }
  44.                     b_lamo = b[d];
  45.                     w_old[0] = W[d, 0];
  46.                     w_old[1] = W[d, 1];
  47.                 }
  48.                 listBox1.Items.Add("");
  49.                 listBox1.Items.Add("Nilai bobot");
  50.                 listBox1.Items.Add("");
  51.              
  52.                 for (d = 0; d <= 3; d++)
  53.                 {
  54.                     listBox1.Items.Add("Nilai bias ["+d+"]="+b[d]);
  55.                 }
  56.          
  57.          
  58.         }

  59.         private void button2_Click(object sender, EventArgs e)
  60.         {
  61.             listBox2.Items.Clear();
  62.             int[] Y= new int[4];
  63.             int[] Y_convert = new int[4];
  64.             listBox2.Items.Add("Nilai Output Sebelum di Convert 0 & 1");
  65.             listBox2.Items.Add("");
  66.             for (d = 0; d <= 3; d++)
  67.             {
  68.                 for (r = 0; r <= 0; r++)
  69.                 {
  70.                     Y[d] = X[d, r] * W[d, r] + X[d, r+1] * W[d, r+1]+ b[d];
  71.                     if (Y[d] > 0)
  72.                      { Y_convert[d] = 1; }

  73.                 }

  74.                 listBox2.Items.Add("Y non convert[" + d + "]=" + Y[d]);
  75.             }
  76.             listBox2.Items.Add("");
  77.             listBox2.Items.Add("Nilai Output Sesudah di Convert 0 & 1");
  78.             listBox2.Items.Add("");

  79.             for (d = 0; d <= 3; d++)
  80.             {
  81.                 listBox2.Items.Add("Y convert["+d+"]="+Y_convert[d]);

  82.             }
  83.         }

  84.         private void button3_Click(object sender, EventArgs e)
  85.         {
  86.             listBox3.Items.Clear();
  87.             listBox2.Items.Add("Nilai Target");
  88.             for (d = 0; d <= 3; d++)
  89.             {
  90.                 for (r = 0; r <= 1; r++)
  91.                 {
  92.                     y[d] |= X[d,r];
  93.                 }
  94.                 listBox3.Items.Add("Target T[" + d + "]=" + y[d]);
  95.             }
  96.         }

  97.      
  98.     }
  99. }


Sekalian dulu postingan kali ini daaa kwkwkwkwkwk



No comments:

Post a Comment