Mostrando entradas con la etiqueta pseucodigo. Mostrar todas las entradas
Mostrando entradas con la etiqueta pseucodigo. Mostrar todas las entradas

lunes, 6 de febrero de 2012

Inteligencia Artificial: Árboles de Decisión (III)


Después de la introducción que hice en la primera parte de este post y la explicación de la técnica en la segunda parte, en este último post os voy a explicar con pseucódigo el algoritmo en sí para crear un árbol de decisión.

El pseucódigo para crear un árbol de decisión es el siguiente:

ID3(E,A,X){
Si (A == vacío or MismaClase(E)) entonces Clase(X) == Clase(Mayoría)
sino
    Am = MejorAtributo(A)
    Para cada valor v de Am:
          N = CrearNodo(Am,v)
          hijos(X) = hijos(X) + N
          Em = ejemplos(E,Am,v)
          ID3(Em,A-Am,N)   
Devolver X
}

La explicación del algoritmo es la vista en la segunda parte de este post. Se crea una función que consiste en construir un árbol de decisión que en función de un ejemplos de entrenamiento E, y unos atributos A nos permita clasificar ejemplos futuros.

martes, 17 de enero de 2012

Algoritmia: Quicksort


El algoritmo Quicksort es un algoritmo de ordenación muy conocido que se caracteriza por su rápidez. Es un algoritmo recursivo encuadrado dentro de las técnicas de "divide y vencerás". Aunque hoy en día, la mayoría de lenguajes ya proporcionan en sus librerías funciones de ordenación, es necesario saber como funcionan este tipo de algoritmos ya que nunca se sabe cuando nos pueden hacer falta.

El funcionamiento del algoritmo consiste en ordenar los elementos de una lista en base a un elemento llamado pivote. En cada llamada a la función se elige un pivote y se ordenan los elementos de manera que a un lado queden todos los elemento menores que el pivote, y al otro lado queden los mayores. Se aplica el mismo proceso recursivamente a cada una de las sublistas generadas a cada lado del pivote. Los pasos a seguir son:

viernes, 13 de enero de 2012

Inteligencia Artificial: Árboles de Decisión (II)


Después de la introducción a los árboles de decisión que hice en el post Árboles de Decisión (I), en esta segunda parte explicaré en que consiste el algoritmo; en concreto la versión ID3.

Como comentamos en la primera parte del post, el algoritmo consiste en crear un árbol de decisión a partir de unos datos o ejemplos de entrenamiento para posteriormente poder usar dicho árbol para clasificar o predecir nuevos datos. Por lo tanto el algoritmo va a tener una serie datos de entrada y de salida: