martes, 13 de septiembre de 2016

BFS

En Ciencias de la ComputaciónBúsqueda en anchura (en inglés BFS - Breadth First Search) es un algoritmo para recorrer o buscar elementos en un grafo (usado frecuentemente sobre árboles). Intuitivamente, se comienza en la raíz (eligiendo algún nodo como elemento raíz en el caso de un grafo) y se exploran todos los vecinos de este nodo. A continuación para cada uno de los vecinos se exploran sus respectivos vecinos adyacentes, y así hasta que se recorra todo el árbol.

acá el enlace de un pequeño aplicativo desarrollado en php  con su respectivo paper con el código por:
Sebastían David Cano Uribe
Karen López
Juan Suarez

domingo, 4 de septiembre de 2016

ALGORITMO DE MINIMAX ALPHA-BETA

El algoritmo alfa beta es una técnica de búsqueda que reduce el número de nodos evaluados en un árbol de juego por el algoritmo Minimax. Se trata de una técnica muy utilizada en programas de juegos entre adversarios como el ajedrez, el tres en raya o el Go.

de cierta forma este algoritmo trata de premeditar por medio de probabilidad y estadística  la siguiente jugada del adversario, acá les dejo el seudo-código para que lo puedan construir en su lenguaje de programación de preferencia:



función alfabeta(nodo //en nuestro caso el tablero, profundidad, α, β, jugador)
    si nodo es un nodo terminal o profundidad = 8
        devolver el valor heurístico del nodo
    si jugador
        para cada hijo de nodo
            α := max(α, alfabeta(hijo, profundidad+1, α, β, jugador))
            si β≤α
                break (* poda β *)
        devolver α
    si no
        para cada hijo de nodo
            β := min(β, alfabeta(hijo, profundidad+1, α, β, jugador))
            si β≤α
                break (* poda α *)
        devolver β
(* Llamada inicial *)
alfabeta(origen, profundidad, -infinito, +infinito, jugador_deseado)