نمایش نتایج 1 تا 3 از 3

نام تاپیک: مشکل در کدنویسی الگوریتم

  1. #1
    کاربر جدید
    تاریخ عضویت
    تیر 1390
    محل زندگی
    Tehran
    پست
    14

    Question مشکل در کدنویسی الگوریتم

    سلام
    خسته نباشید دوستان
    من کد زیر رو نوشتم:


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;




    namespace xsvasdf
    {
    class Program
    {
    static int[,] input = { { 1, 1 }, { 1, -1 }, { -1, 1 } };
    static int[] target = { -1, 1, 1 };
    static double[,] weigh = { { 0.05, 0.1 }, { 0.2, 0.2 }, { 0.5, 0.5 } };
    static double[] bias = { 0.3, 0.15, 0.5 };
    static bool epoch = true;
    static int input1 = 0, input2 = 0;
    static int k = 0;
    static double[] z_input = new double[2];
    static int[] z_layer = new int[2];
    static double y_input;
    static int y;
    static int pp = 0;




    static void Main(string[] args)
    {
    weigh = train(weigh, bias, target);




    Console.WriteLine("b1:{0} , b2:{1} , b3:{2} \n w00:{3} , w10:{4} , w01:{5}, w11:{6} \n pp:{7}", bias[0], bias[1], bias[2], weigh[0, 0], weigh[1, 0], weigh[0, 1], weigh[1, 1], pp);




    z_input[0] = bias[0] + (-1*weigh[0, 0]) + (-1* weigh[1, 0]);
    z_layer[0] = f(z_input[0]);
    z_input[1] = bias[1] + (-1* weigh[0, 1]) + (-1* weigh[1, 1]);
    z_layer[1] = f(z_input[1]);
    y_input = bias[2] + (0.5) * (z_layer[0]) + (0.5) * (z_layer[1]);
    if (y_input >= 0)
    Console.WriteLine("1");
    else
    Console.WriteLine("-1");








    Console.ReadLine();
    }








    public static double[,] train(double[,] weigh, double[] bias, int[] target)
    {




    double[,] bestWeghits = new double[2, 1];


    while (epoch)
    {
    epoch = false;
    for (int j = 0; j < 3; j++)
    {




    input1 = input[j, 0];
    input2 = input[j, 1];
    z_input[0] = bias[0] + (input1 * weigh[0, 0]) + (input2 * weigh[1, 0]);
    z_layer[0] = f(z_input[0]);
    z_input[1] = bias[1] + (input1 * weigh[0, 1]) + (input2 * weigh[1, 1]);
    z_layer[1] = f(z_input[1]);
    y_input = bias[2] + z_layer[0] * weigh[2, 0] + z_layer[1] * weigh[2, 1];
    y = f(y_input);
    if (target[j] != y)
    {
    epoch = true;
    if (target[j] == -1)
    {




    for (k = 0; k < 2; k++)
    {
    if (z_input[k] > 0.0)
    {
    bias[k] = bias[k] + 0.5 * (-1.0 - z_input[k]);
    weigh[k, 0] = weigh[k, 0] + 0.5 * (-1.0 - z_input[k]) * input1;
    weigh[k, 1] = weigh[k, 1] + 0.5 * (-1.0 - z_input[k]) * input2;
    }
    }




    }
    else if (target[j] == 1)
    {
    if (Math.Abs(z_input[0]) < Math.Abs(z_input[1]))
    k = 0;
    else
    k = 1;




    bias[k] = bias[k] + 0.5 * (1 - z_input[k]);
    weigh[0, k] = weigh[0, k] + 0.5 * (1 - z_input[k]) * input1;
    weigh[1, k] = weigh[0, k] + 0.5 * (1 - z_input[k]) * input2;
    }
    }
    }
    pp = pp + 1;
    }
    bestWeghits = weigh;
    return weigh;
    }




    public static int f(double xIn)
    {
    return (xIn >= 0.0) ? 1 : -1;
    }
    }
    }









    که الگوریتم madaline از شبکه های عصبی هستش ولی اینطور که معلومه اولا حلقه ی while هیچ تاثیری روی وزن ها نداره و اینکه جواب درستی نمیده
    کد واسه شبیه سازی تابع xor هستش که بین دوتا عدد انجام میشه و با بدست آوردن وزن مناسب جواب رو تخمین میزنه
    الگوریتمش اینجاست:
    https://img5.file-upload.com/i/00347/jwacbvqqzicy.jpg

    مشکل کدم چیه؟ ممنون میشم کمک کنید.
    آخرین ویرایش به وسیله amir.nazarizadeh : سه شنبه 27 تیر 1396 در 21:51 عصر

  2. #2

    نقل قول: مشکل در کدنویسی الگوریتم

    به نظرم خط 67 باید input2 باشه که اشتباه نوشتی.

  3. #3
    کاربر جدید
    تاریخ عضویت
    تیر 1390
    محل زندگی
    Tehran
    پست
    14

    نقل قول: مشکل در کدنویسی الگوریتم

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    به نظرم خط 67 باید input2 باشه که اشتباه نوشتی.
    بله درستش کردم ولی کماکان مشکل حل نمیشه

تاپیک های مشابه

  1. سوال: مشکل در یه الگوریتم دارم
    نوشته شده توسط k00r0sh در بخش الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها
    پاسخ: 4
    آخرین پست: پنج شنبه 09 اردیبهشت 1389, 17:30 عصر
  2. مشكل در اجراي الگوريتم dijkstra با زبان C++‎
    نوشته شده توسط hitman2004 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 0
    آخرین پست: جمعه 03 اردیبهشت 1389, 15:34 عصر
  3. سوال: مشكل در مورد الگوريتم dijkstra با زبان C++‎
    نوشته شده توسط hitman2004 در بخش الگوریتم، کامپایلر، هوش مصنوعی و ساختمان داده ها
    پاسخ: 0
    آخرین پست: جمعه 03 اردیبهشت 1389, 15:28 عصر
  4. مشكل در كدنويسي در VB‎.Net براي Crystal Report
    نوشته شده توسط mgh64120 در بخش ابزارهای گزارش سازی
    پاسخ: 0
    آخرین پست: پنج شنبه 05 شهریور 1388, 15:19 عصر
  5. مشکل در کدنویسی
    نوشته شده توسط merychobi در بخش ASP.NET Web Forms
    پاسخ: 10
    آخرین پست: شنبه 09 تیر 1386, 19:13 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •