-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrbn.h
85 lines (71 loc) · 2.64 KB
/
rbn.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#ifndef __RBN__
#define __RBN__
/*****************************************************
Estructura: ATTRACTOR
Contenido: Lista ligada que contiene información de los atractores
encontrados
*****************************************************/
typedef struct attractor{
unsigned estado;
unsigned inicio;
unsigned final;
struct attractor *next;
}ATTRACTOR;
/*****************************************************
Estructura: RBN
Contenido: Contiene la información referente a
una RBN como numero de nodos, numero de
enlaces, etc.
*****************************************************/
typedef struct rbn{
unsigned numNodos;
unsigned numEnlaces;
float probabilidad;
unsigned char **conexiones;
unsigned *transiciones;
ATTRACTOR *atractores;
FILE *estadosRBN;
}RBN;
/*****************************************************
FUNCTION: error()
IN str: Archivo | nro: Línea | err: Cadena de
información del error
OUT void
MAKE Escribe un mensaje indicando el tipo de error
encontrado y sale del programa
*****************************************************/
void error( char *str, int nro, char *err );
/*****************************************************
FUNCTION: generarConexiones();
IN
OUT
MAKE Genera la tabla de conexiones del RBN
*****************************************************/
int generarConexiones(RBN *redBooleana);
/*****************************************************
FUNCTION: generarFunciones();
IN
OUT
MAKE Genera las funciones para cada nodo
*****************************************************/
int generarFunciones( RBN *redBooleana );
/*****************************************************
FUNCTION: iterar();
IN
OUT
MAKE Evoluciona la red
*****************************************************/
int iterar( RBN *redBooleana, unsigned numIteraciones, unsigned *historial );
/*****************************************************
FUNCTION: buscarAtractores();
IN
OUT
MAKE Busca la existencia de atractores
*****************************************************/
int buscarAtractores( unsigned numIteraciones, unsigned inicioAtractores, unsigned *historial, ATTRACTOR **atractores );
int liberarRBN( RBN *redBooleana );
void imprimirConexiones( RBN *redBooleana );
void imprimirFunciones( RBN *redBooleana );
void imprimirEstado( RBN *redBooleana, unsigned estado );
void imprimirGrafico(unsigned estado, unsigned numNodos);
#endif