Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++]Błąd 0xC00000FD

Ostatnio zmodyfikowano 2015-11-14 22:12
Autor Wiadomość
ac281201
Temat założony przez niniejszego użytkownika
[C++]Błąd 0xC00000FD
» 2015-11-14 21:44:13
Witam,
Ostatnio zafascynowały mnie ANN(sztuczne połączenia nerwowe).
Zrobiłem więc programik który trenuje mój wytwór metodą bruteforce.
Gdy ten oto programik dochodzi do 185570 kombinacji wyskakuje mi error 0xC00000FD.
Co jest nie tak?
Z góry dziękuję ;)

C/C++
#include <iostream>
#include <fstream>
#include <iostream>
#include <cmath>
#include <windows.h>

float nw1;
float nw2;
float nw3;

int n;
int s;

float a1 = 0.0;
float a2 = 0.0;
float a3 = 0.0;
float a4 = 0.0;
float a5 = 0.0;
float a6 = 0.0;

float neuron1( int n, int s, float a1, float a2 )
{
    float w1 = n * a1;
    float w2 = s * a2;
    float ww = w1 + w2;
    return( 1 /( 1 + exp( - ww ) ) );
}

float neuron2( int n, int s, float a3, float a4 )
{
    float w1 = n * a3;
    float w2 = s * a4;
    float ww = w1 + w2;
    return( 1 /( 1 + exp( - ww ) ) );
}

float neuronW( float nw1, float nw2, float a5, float a6 )
{
    float w1 = nw1 * a5;
    float w2 = nw2 * a6;
    float ww = w1 + w2;
    return( 1 /( 1 + exp( - ww ) ) );
}

float train()
{
    int licz;
   
    if( a1 == 11 )
    {
        a1 = 0;
        a2 += 1;
    }
   
    if( a2 == 11 )
    {
        a1 = 0;
        a2 = 0;
        a3 += 1;
    }
   
    if( a3 == 11 )
    {
        a1 = 0;
        a2 = 0;
        a3 = 0;
        a4 += 1;
    }
   
    if( a4 == 11 )
    {
        a1 = 0;
        a2 = 0;
        a3 = 0;
        a4 = 0;
        a5 += 1;
    }
   
    if( a5 == 11 )
    {
        a1 = 0;
        a2 = 0;
        a3 = 0;
        a4 = 0;
        a5 = 0;
        a6 += 1;
    }
   
    n = 3;
    s = 5;
    nw1 = neuron1( n, s, a1 / 10, a2 / 10 );
    nw2 = neuron2( n, s, a3 / 10, a4 / 10 );
    nw3 = neuronW( nw1, nw2, a5 / 10, a6 / 10 );
   
    if( a6 == 11 )
    {
        return( 0 );
    }
   
    licz += 1;
    std::cout << a1 << "|" << a2 << "|" << a3 << "|" << a4 << "|" << a5 << "|" << a6 << "\n";
    Sleep( 1 );
    a1 += 1;
   
    train();
   
}

int main()
{
    train();
}
P-140134
1aam2am1
» 2015-11-14 21:52:22
Twój program działa rekurencyjnie i przepełnia stos
P-140135
ac281201
Temat założony przez niniejszego użytkownika
» 2015-11-14 22:04:22
A jest jakiś sposób na naprawę programu?
P-140136
ac281201
Temat założony przez niniejszego użytkownika
» 2015-11-14 22:12:07
Problem rozwiązany, rekurencję zmieniłem na pętle for.
P-140137
« 1 »
  Strona 1 z 1