Search

Inteligencia artificial 7 semestre

Christhian Julián Gómez y Nicolás Agudelo Orozco

Los 7 estándares universales del pensamiento

Según la RAE (Real Academia de la lengua Española) definimos la palabra estándar, como la norma, el modelo, patrón o referencia.

Así pues apoyandonos en este desglose, es lógico afirmar que los seres humanos al momento de querer compartir nuestros pensamientos, conocimientos y experiencias, con los demás seres de nuestro entorno, tendemos a utilizar lo que a mi me gusta denominar como “modelos mentales”. Como a modo de aclaración,  estos modelos podríamos traducirlos en creencias religiosas, valores, ética, normas básicas de convivencia entre otros. Éstos modelos por supuesto, son adquiridos y desarrollados a lo largo de nuestra vida; que desde pequeños, observamos a las personas de nuestro entorno cultural (nuestros allegados, amigos y colegas) en la forma como se comunican, se comportan ante eventos sociales.

Pero a medida que avanzamos en edad, nuestra mente se va dotando de más poder, desarrollamos nuestros atributos mentales y cualidades, que nos forman como seres humanos. En este post utilizaremos los siguientes atributos: “pensamiento crítico, racional y emocional”.

Basados en los tres atributos que nombramos en el párrafo anterior, nuestro cerebro comienza a cuestionar dichos modelos que hemos estado adquiriendo con el paso de los años; aquellos modelos que detectamos como irrelevantes, carentes de lógica, incompatibles, son desechados, y es donde comenzamos a forjar lo que entendemos como personalidad. Los modelos que no sean desechados en el proceso, son los que harán parte de lo que  nuestro cerebro utilizará como norma, referencia a la hora de querernos comunicar.

Al instante de comunicarnos con los demás, surge un par de interrogantes ¿Cúando compartimos nuestros pensamientos, críticas, tendremos razón?, ¿Cómo podemos asegurar quién tiene la razón?.

Para responder a las interrogantes del párrafo anterior, haremos uso de los “7 estándares universales del pensamiento”. Ya definimos estándar como modelos, normas y patrones, ahora si podremos citar estas 7 normas que establecen cuando un pensamiento, conocimiento o experiencia que comunicamos es correcto.

  1. Claridad: La claridad es fundamental a la hora de querer comunicar algún pensamiento, experiencia o conocimiento, es la capacidad de un individuo, de tener en cuenta el orden preciso de todos los puntos clave del comunicado.
  2. Exactitud: La exactitud es la información congruente y correcta, con la que nos apoyaremos a la hora de comunicar un pensamiento, experiencia o conocimiento.
  3. Precisión: Ser preciso a la hora de comunicar algún pensamiento, conocimiento o experiencia hace agradable lo que se está leyendo o escuchando de la persona que emite. La precisión es exponer todos los puntos claves de la idea de forma directa, sin redundancias e información basura.
  4. Relevancia: Es resaltar la importancia que tiene cada uno de los puntos claves de lo del comunicado, asegurándose que cada punto aporte algo distinto y significativo para poder garantizar su validez, y facilitar el mensaje que se quiere dar.
  5. Profundidad: Es la capacidad del emitente, lograr que todos los puntos en el momento de ser comunicados, sean completos, sólidos y muy bien argumentados. Entre más completitud tenga el comunicado aumenta la probabilidad de su validez.
  6. Amplitud: La capacidad de aceptar los demás puntos de vista de las personas a las que se les está dando el comunicado, distintos puntos de vista pueden ayudarnos a ampliar nuestros conceptos al tomar en cuenta todas las consideraciones que quizás estemos obviando.
  7. Lógica: La capacidad de que todos los puntos de nuestro comunicado sean razonables, consistentes y que las conclusiones siguen la evidencia. Un comunicado que carece de sentido lógico no tendrá impacto positivo en las personas que queremos dar nuestro comunicado.

Por supuesto existen más estándares, pero estas siete son consideradas las más relevantes para tener éxito en un comunicado.

Links de apoyo:

Apoyo 1 Apoyo 2 

Real academia de la lengua Española

Featured post

Sistema experto proyecto 3

Para interactuar con el algoritmo remitirse al siguiente Link

Para la documentación remitirse al siguiente Link

Ruta minima de un gráfo dado

Programadores: Nicolas Agudelo Orozco y Christhian Julián Gómez Castaño

 

Para la documentación remítase al siguiente Link.

Para interactuar con el algoritmo remitase al siguiente Link.

Algorítmo minimax Alfa y Beta

Algorítmo Minimax

Cuando nos referimos a juegos como el Tic tac toe, en una situación donde estamos con nuestros amigos, y hacemos una apuesta de dinero, podríamos llegar a cuestionarnos ¿Cómo hago para asegurar mi victoria?, ¿Existirá acaso alguna forma que me garantiza ganar siempre? Las respuestas a éstas integorrantes las podría suministrar un famoso método conocido como el minimax.

Árbol_Minimax

El minimax es un método diseñado para juegos de búsqueda, donde se involucre a dos jugadores. Básicamente, el método genera un árbol completo con todos los movimientos posibles a partir de un estado actual de un jugador A. Los movimientos posibles generados se les denomina ramas, donde cada rama está a su vez conformada por otros nodos, los nodos padre de estas ramas son las futuras jugadas de A, los hijos de las jugadas de A, son las jugadas de B, que a su vez sus hijos son las jugadas de A, y así sucesivamente hasta que llegue a una profundidad máxima deseada (hojas).

El objetivo del método es buscar el mejor camino para un jugador actual donde maximíze su ganancia, y al tiempo maximíze el perjuicio de su oponente. El método se basa en información previa de ambos jugadores, como el estado de juego de algún jugador.

 

Pseudocódigo del Minimax:
Pseudocódigo_minimax

Explicación del algorítmo:

La función minimax recibe cuatro parámetros que son el tablero del juego, la profundidad actual, la máxima profundidad, puntaje elegido y movimiento elegido. Lo primero que hace es verificar si hemos llegado a la profundidad máxima (caso base), si es el caso entonces elegirá la rama cuyo puntaje fue el máximo encontrado para el jugador actual (if(better(the_score,best_score)) de todas las llamadas recursivas (minimax(.,.,.,.); En caso contrario, genera una lista que contiene todos los nodos de un nivel (usando la función generate_moves(board)) a partir de la posición actual de jugador, ahora si la lista generada es nula, significa que la posición actual de jugador es una hoja (caso base) y determina la puntuación encontrada para jugador actual en ese punto (evaluation(board)), en caso contrario comienza el recorrido de cada uno de los nodos de un nivel que fueron generados a partir de la posición actual del jugador (el for). El recorrido de cada nodo genera nuevos niveles en cada llamado recursivo, (de izquierda a derecha y de arriba abajo).

Al final elige la puntuación máxima del jugador actual, y a partir de ésta puntuación se ilustra el mejor camino que puede tomar para el jugador actual. La puntuación máxima, así como su respectivo movimiento se almacenan para ser utilizados (chosen_score y chosen_move).

Minimax con cortes Alpha-Beta:

Existen juegos de búsqueda, cuyo árbol es tan enorme, que analizarlo todo no sería óptimo, ya sea por el tiempo que tarda en dar la respuesta, o el uso masivo de los recursos de la máquina donde se procesa. Tal caso se presenta en un juego muy conocido; el ajedréz, se dice que se necesitaría de una memoria con capacidad de almacenamiento infinita para considerar todas las jugadas posibles a partir de una posición inicial, además del tiempo que habría que esperar para que encuentre dicho movimiento óptimo. Por tal razón se es indispensable pensar alguna forma que nos permita una solución en un tiempo considerable además de un uso razonable de recursos.

Aparece un algorítmo denominado “Minimax Alpha-Beta”, que básicamente realiza cortes a cuyas ramas qué representan jugadas no significativas para el jugador actual. Es importante resaltar, que además de éste algorítmo para la poda, se debe definir la profundidad máxima deseada en la cual nuestro algoritmo no debe sobrepasar.
Árbol_alpha

Pseudocódigo Minimax Alpha-Beta:

Psudocódigo_Alpha

Eficiencia de Alfa-Beta

  • Supongamos que el árbol tiene profundidad d y cada nodo (excepto los nodos hoja) tiene exactamente b sucesores. Si no realizamos poda alfa-beta, deberemos revisar nodos hoja.
  • La eficiencia de la poda dependerá obviamente del orden en que se generan los nodos.

¿Cuál es el mejor caso?

¿Y el peor?

  • Es posible demostrar que en el caso promedio, alfa-beta permite aumentar aproximadamente a la profundidad de la búsqueda revisando la misma cantidad de nodos que sin poda.

 

Link de apoyo

Algoritmo de búsqueda en profundidad

Para la documentación del algoritmo remítase al siguiente Link.

Para la interacción con el algoritmo remítase al siguiente Link

Programadores: Christhian Julián Gómez Castaño y Nicolás Agudelo Orozco.

 

Blog at WordPress.com.

Up ↑