Entradas

Mostrando entradas de marzo, 2019

Taller sistema basado en reglas

Imagen
2) Encadenamiento hacia delante Qué ocurre si no se establece un objetivo Encadenamiento hacia atrás 3) Encadenamiento hacia adelante Qué ocurre si no se establece un objetivo Encadenamiento hacia atrás 4) Encadenamiento hacia adelante Que pasa si no se establece un objetivo? Encadenamiento hacia atras

Algoritmo MiniMax

Imagen
Este algoritmo representa la forma en la cal se toman las decisiones para miniar la perdida máxima que se aplica en los juegos de adversario, además tiene la característica de que los cada uno de los jugadores tiene el conocimiento en el estado por el cual está el otro. Minimax busca seleccionar el mejor movimiento para cada uno de los jugadores, así que supone el oponente no tomara el mejor movimiento o decisión. En cuanto al algoritmo toma la posición actual del jugador y comienza a generar los diferentes posibles movimientos, esto lo hace generando diferentes posiciones seguidas, hasta el límite que el usuario o el mismo juego permita Este código trabaja con una función que retorna un valor que puede ser positivo o negativo, el positivo suele indiciar la mejor situación para el jugador que hace uso del código,  y el valor negativo que retorna suele indicar buenas jugadas para el adversario. Pasos del Algoritmo Minimax: Generar el árb...

Algoritmos Geneticos(Explicacion)

Imagen

Perceptron Multicapa con Backpropagation en c++

#include <iostream> #include <cstdlib> #include <math.h> #include <stdlib.h> #include <time.h> using namespace std; double x[6],w[6],alpha,umbral,posi, esperado[6][7]={ 1,1,1,1,1,1,1,//Algunos ejemplos de frutas 0,0,0,0,0,0,0,//Fruta dulce 1,1,1,1,1,0,0, 1,0,1,1,1,1,0, 0,0,0,1,1,1,1, 1,1,0,1,1,0,1},f; double getY1() { double wx, y1; wx=0; for(int i=0;i<6;i++){ wx = (x[i] * w[i]) + wx;//Función propagación } y1 = tanh(wx); //Salida return y1; } void reevaluarW(){//Cuando hay error for(int i=0;i<6;i++){ f = (double)rand()/ RAND_MAX; w[i] = w[i] + alpha * (esperado[i][0] - getY1()) * x[i]; } } int main(){ srand(time(NULL)); int ex; while(true){ int fac; for(int i=0;i<6;i++){ //Inicializa Valores Pesos (aleatorios)[-1,1] f = (double)rand()/ RAND_MAX; w[i] = -1 + f * (1+1); } //Inicializa Alfa alpha = f; umbral = -1 + f * (1+1); //Inicializa Umbral cout<<"Ingrese entradas: "<...

Perceptron Multicapa (Ejemplo)

Imagen

Perceptron Multicapa (Explicacion)

Imagen