Implenentasi Program Kecerdasan buatan Back Propagasi X Y
1. Tampilan Layout
2. Program Visual Basic
using System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Windows.Forms;
{
public partial class Form1 : Form
{
double
W1, W2, W3, W4, B, X1V1;
double
X1V2, X1V3, X1V4, X2V1, X2V2, X2V3, X2V4;
double
bV1, bV2, bV3, bV4, a, Yin, q;
double
Zin1, Zin2, Zin3, Zin4, Z1, Z2, Z3, Z4;
double
YN, Delta, DW1, DW2, DW3, DW4, DB, Din1, Din2, Din3, Din4;
double
D1, D2, D3, D4, Error1, error;
double dX1V1, dX1V2, dX1V3, dX1V4;
double
dX2V1, dX2V2, dX2V3, dX2V4, dB1, dB2,
dB3, dB4;
double[] X1 = {
0, 0, 0, 0 };
double[] X2 = {
0, 0, 0, 0 };
double[] T = { 0,
0, 0, 0 };
double[] Y = { 0,
0, 0, 0 };
double[] Yout = {
0, 0, 0, 0 };
public Form1()
{
InitializeComponent();
}
private void Random_Click(object
sender, EventArgs e)
{
Random n = new Random();
for (int i=0;i<1000;i++)
{
W1 = n.Next(-10000, 10000);
W1 = W1 / 10000;
w1awal.Text =
Convert.ToString(W1);
W2 = n.Next(-10000, 10000);
W2 = W2 / 10000;
w2awal.Text =
Convert.ToString(W2);
W3 = n.Next(-10000, 10000);
W3 = W3 / 10000;
w3awal.Text =
Convert.ToString(W3);
W4 = n.Next(-10000, 10000);
W4 = W4 / 10000;
w4awal.Text =
Convert.ToString(W4);
B = n.Next(-10000, 10000);
B = B / 10000;
BB.Text = Convert.ToString(B);
X1V1 = n.Next(-10000, 10000);
X1V1 = X1V1 / 10000;
x1v1awal.Text =
Convert.ToString(X1V1);
X1V2 = n.Next(-10000, 10000);
X1V2 = X1V2 / 10000;
x1v2awal.Text =
Convert.ToString(X1V2);
X1V3 = n.Next(-10000, 10000);
X1V3 = X1V3 / 10000;
x1v3awal.Text =
Convert.ToString(X1V3);
X1V4 = n.Next(-10000, 10000);
X1V2 = X1V2 / 10000;
x1v4awal.Text =
Convert.ToString(X1V4);
X2V1 = n.Next(-10000, 10000);
X2V1 = X2V1 / 10000;
x2v1awal.Text =
Convert.ToString(X2V1);
X2V2 = n.Next(-10000, 10000);
X2V2 = X2V2 / 10000;
x2v2awal.Text =
Convert.ToString(X2V2);
X2V3 = n.Next(-10000, 10000);
X2V3 = X2V3 / 10000;
x2v3awal.Text =
Convert.ToString(X2V3);
X2V4 = n.Next(-10000, 10000);
X2V4 = X2V4 / 10000;
x2v4awal.Text = Convert.ToString(X2V4);
bV1 = n.Next(-10000, 10000);
bV1 = bV1 / 10000;
bv1awal.Text =
Convert.ToString(bV1);
bV2 = n.Next(-10000, 10000);
bV2 = bV2 / 10000;
bv2awal.Text =
Convert.ToString(bV2);
bV3 = n.Next(-10000, 10000);
bV3 = bV3 / 10000;
bv3awal.Text =
Convert.ToString(bV3);
bV4 = n.Next(-10000, 10000);
bV4 = bV4 / 10000;
bv4awal.Text = Convert.ToString(bV4);
}
}
private void Calculate_Click(object
sender, EventArgs e)
{
q = 0;
X1[0] = double.Parse(in_x11.Text);
X1[1] = double.Parse(in_x12.Text);
X1[2] = double.Parse(in_x13.Text);
X1[3] = double.Parse(in_x14.Text);
X2[0] = double.Parse(in_x21.Text);
X2[1] = double.Parse(in_x22.Text);
X2[2] = double.Parse(in_x23.Text);
X2[3] = double.Parse(in_x24.Text);
T[0] = double.Parse(in_t1.Text);
T[1] = double.Parse(in_t2.Text);
T[2] = double.Parse(in_t3.Text);
T[3] = double.Parse(in_t4.Text);
do
{
q++;
for (int i = 0; i < 4; i++)
{
Zin1 = bV1 + X1[i] * X1V1 +
X2[i] * X2V1;
Zin2 = bV2 + X1[i] * X1V2 +
X2[i] * X2V2;
Zin3 = bV3 + X1[i] * X1V3 +
X2[i] * X2V3;
Zin4 = bV4 + X1[i] * X1V4 +
X2[i] * X2V4;
Z1 = 1 / (1 +
(Math.Pow(2.7, -Zin1)));
Z2 = 1 / (1 +
(Math.Pow(2.7, -Zin2)));
Z3 = 1 / (1 +
(Math.Pow(2.7, -Zin3)));
Z4 = 1 / (1 +
(Math.Pow(2.7, -Zin4)));
YN = B + Z1 * W1 + Z2 * W2
+ Z3 * W3 + Z4 * W4;
Y[i] = 1 / (1 +
(Math.Pow(2.7, -YN)));
Error1 = T[i] - Y[i];
error = Math.Pow(Er, 2);
Delta = Er * (1 / (1 +
(Math.Pow(2.7, -YN)))) * (1 - (1 / (1 + (Math.Pow(2.7, -YN)))));
DW1 = a / 10 * Delta * Z1;
DW2 = a / 10 * Delta * Z2;
DW3 = a / 10 * Delta * Z3;
DW4 = a / 10 * Delta * Z4;
DB = a / 10 * Delta;
Din1 = Delta * W1;
Din2 = Delta * W2;
Din3 = Delta * W3;
Din4 = Delta * W4;
D1 = Din1 * Z1 * (1 - Z1);
D2 = Din2 * Z2 * (1 - Z2);
D3 = Din3 * Z3 * (1 - Z3);
D4 = Din4 * Z4 * (1 - Z4);
dX1V1 = a / 10 * D1 * X1[i];
dX1V2 = a / 10 * D2 *
X1[i];
dX1V3 = a / 10 * D3 *
X1[i];
dX1V4 = a / 10 * D4 *
X1[i];
dX2V1 = a / 10 * D1 *
X1[i];
dX2V2 = a / 10 * D2 *
X1[i];
dX2V3 = a / 10 * D3 *
X1[i];
dX2V4 = a / 10 * D4 *
X1[i];
dB1 = a / 10 * D1;
dB2 = a / 10 * D2;
dB3 = a / 10 * D3;
dB4 = a / 10 * D4;
X1V1 = X1V1 + dX1V1;
X1V2 = X1V2 + dX1V2;
X1V3 = X1V3 + dX1V3;
X1V4 = X1V4 + dX1V4;
X2V1 = X2V1 + dX2V1;
X2V2 = X2V2 + dX2V2;
X2V3 = X2V3 + dX2V3;
X2V4 = X2V4 + dX2V4;
bV1 = bV1 + dB1;
bV2 = bV2 + dB2;
bV3 = bV3 + dB3;
bV4 = bV4 + dB4;
W1 = W1 + DW1;
W2 = W2 + DW2;
W3 = W3 + DW3;
W4 = W4 + DW4;
B = B + DB;
Yin = B + Z1 * W1 + Z2 * W2
+ Z3 * W3 + Z4 * W4;
Y[i] = 1 / (1 +
(Math.Pow(2.7, -Yin)));
}
x1v1akhir.Text = Convert.ToString(X1V1);
x1v2akhir.Text =
Convert.ToString(X1V2);
x1v3akhir.Text =
Convert.ToString(X1V3);
x1v4akhir.Text =
Convert.ToString(X1V4);
x2v1akhir.Text =
Convert.ToString(X2V1);
x2v2akhir.Text =
Convert.ToString(X2V2);
x2v3akhir.Text =
Convert.ToString(X2V3);
x2v4akhir.Text =
Convert.ToString(X2V4);
b1akhir.Text =
Convert.ToString(bV1);
b2akhir.Text =
Convert.ToString(bV2);
b3akhir.Text =
Convert.ToString(bV3);
b4akhir.Text = Convert.ToString(bV4);
w1akhir.Text =
Convert.ToString(W1);
w2akhir.Text =
Convert.ToString(W2);
w3akhir.Text =
Convert.ToString(W3);
w4akhir.Text = Convert.ToString(W4);
BA.Text = Convert.ToString(B);
//Err.Text =
Convert.ToString(Er);
Error.Text =
Convert.ToString(sqEr);
} while ( sqEr > 0.01);
Epoch.Text = Convert.ToString(q);
}
private void Check_Click(object sender,
EventArgs e)
{
for (int i = 0; i < 4; i++)
{
if (Y[i] >= 0.5)
{
Yout[i] = 1;
}
else Yout[i] = 0;
}
hasil_y1.Text =
Convert.ToString(Y[0]);
hasil_y2.Text =
Convert.ToString(Y[1]);
hasil_y3.Text =
Convert.ToString(Y[2]);
hasil_y4.Text =
Convert.ToString(Y[3]);
hasil_yo1.Text =
Convert.ToString(Yout[0]);
hasil_yo2.Text =
Convert.ToString(Yout[1]);
hasil_yo3.Text =
Convert.ToString(Yout[2]);
hasil_yo4.Text =
Convert.ToString(Yout[3]);
}
private void Reset_Click(object sender,
EventArgs e)
{
foreach (Control tx in
this.Controls)
{
if (tx is TextBox) {
((TextBox)tx).Clear(); }
}
foreach (Control tx in
groupBox1.Controls)
{
if (tx is TextBox) {
((TextBox)tx).Clear(); }
}
foreach (Control tx in
groupBox2.Controls)
{
if (tx is TextBox) {
((TextBox)tx).Clear(); }
}
foreach (Control tx in groupBox3.Controls)
{
if (tx is TextBox) {
((TextBox)tx).Clear(); }
}
foreach (Control tx in
groupBox4.Controls)
{
if (tx is TextBox) {
((TextBox)tx).Clear(); }
}
foreach (Control tb in this.Controls)
{
if (tb is TrackBar)
{
((TrackBar)tb).Value = 1;
}
} }
private void trackBar1_Scroll(object
sender, EventArgs e)
{
a = Alpha1.Value;
Alp.Text = Convert.ToString(a /
10);
}
private void tombol5_exit_Click(object
sender, EventArgs e)
{
this.Close();
}
}}
NB : Jika ingin program mentah silahkan kirim pesan
Teori Kecerdasan Buatan
Bagi anda yang hobby bermain judi online seperti :
ReplyDeleteBandar Ceme, Ceme Keliling, Capsa Susun, Domino, Bandar Poker dan Live Poker.
Mari segera bergabung bersama kami di www,s1288poker,com
Kami agen penyediaan jasa judi online terbaik dan terpercaya.
Kami hadir untuk anda para pecinta judi online di tanah air.
Kami juga akan memudahkan anda untuk pembuatan ID dengan registrasi secara gratis.
Dan untuk proses DEPO & WITHDRAW langsung ditangani oleh
customer service kami yang profesional dan ramah. (PIN BBM : 7AC8D76B)