User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ia [2019/09/10 17:03]
jpirmz
ia [2020/01/18 16:33]
Line 1: Line 1:
-==== Inteligencia Artificial ==== 
  
-[[https://​www.dropbox.com/​s/​x4pntz47xwxxbc2/​InteligenciaArtificial.pdf?​dl=0|Temario y criterios de evaluación]] 
- 
-[[https://​notebooks.azure.com/​jpi-ramirez/​projects/​ia2019|Notebooks de Jupyter relacionados al curso]] 
- 
-[[https://​www.dropbox.com/​s/​q053k2n8k8oaxzw/​Inteligencia%20Artificial%20presentacion.pdf?​dl=0|Diapositivas del curso]] 
- 
-Algoritmo de Dijkstra interactivo https://​www-m9.ma.tum.de/​graph-algorithms/​spp-dijkstra/​index_en.html 
- 
-Algoritmo A* interactivo https://​www-m9.ma.tum.de/​graph-algorithms/​spp-a-star/​index_en.html 
- 
-Pseudocódigo del algoritmo de Dijkstra https://​www.dropbox.com/​s/​h1ke9yn81wcypb0/​dijkstra.pdf?​dl=0 
- 
-Implementación del algoritmo de Dijkstra para referencia https://​github.com/​jpiramirez/​roboticamovil/​blob/​master/​dijkstra.py 
- 
-=== Asignatura === 
- ​Ensayo con el tema "​Impacto actual de la IA en la vida cotidiana",​ fecha de entrega 20 de agosto. 
- 
-Extensión mínima 3 cuartillas, incluir al menos Introducción,​ Desarrollo y Conclusiones. Citas y referencias a pie de página. Incluir en la primera página nombre del curso, del profesor, del estudiante y fecha. 
- 
-Entregar el ensayo en formato PDF [[https://​www.dropbox.com/​request/​HHbmdbyzbN4Fd4VA8X7k|a través de este enlace.]] 
- 
- 
-=== Proyecto individual 1 === 
- 
-Implementar un programa capaz de resolver el problema del "​comesolo"​ o peg solitaire, en su modalidad triangular de 15 posiciones, llamada también "​Triangle(5)"​ http://​recmath.org/​pegsolitaire/​tindex.html 
-El objetivo es obtener un tablero con todas sus posiciones vacías con excepción de una. Si no conoce el juego puede utilizar la siguiente página interactiva para familiarizarse con el: https://​www.mathsisfun.com/​games/​triangle-peg-solitaire/​index.html 
- 
-El programa deberá leer una posición inicial de tablero desde la linea de comandos, indicando cuál poste comenzará vacío, y también deberá leer una posición final, que es donde se desea que quede el último poste. Si no importa la posición final, se indicará con un * (caracter de asterisco). Favor de utilizar la notación de la figura. 
-{{ :​triangular15coordinates.gif?​100 |}} 
- 
-Después de la ejecución, el programa debe determinar si existe una solución para las posiciones inicial y final indicadas. Si existe, debe imprimir los pasos para obtener la solución. Si no existe, debe reportar este hecho. 
- 
-La implementación deberá ser, de preferencia,​ en Python. Su entrega debe incluir todos los archivos necesarios para ejecutar el programa, incluyendo un archivo llamado README.txt con instrucciones para la ejecución del programa. Favor de enviar un solo archivo comprimido Zip o Tar/GZ (RAR no, de preferencia). 
- 
-Enlace para enviar su proyecto: https://​www.dropbox.com/​request/​1J1XAwV4Vz2Tu0DUl43u 
- 
-**Fecha de entrega: 3 de septiembre de 2019** 
- 
- 
-=== Proyecto individual 2 === 
- 
-Implementar el algoritmo de poda alfa-beta para crear un jugador de "​gato"​. Este juego es muy popular pero si no lo conoce puede consultar [[https://​es.wikipedia.org/​wiki/​Tres_en_línea | en este enlace]] 
- 
-Deberá envolver la lógica del jugador de gato en una función con el siguiente prototipo: 
- 
-<code python> 
-def tttplayer(board,​ cross): 
-   ... 
-   ​return move 
-</​code>​ 
- 
-Donde board es una lista con el estado actual del tablero, fila por fila. Ejemplo ​ 
- 
-<code python> 
-board=['​X','​O','​X',​ ' ', '​O',​ ' ', '​X',​ ' ', ' '] 
-</​code>​ 
- 
-cross es una variable booleana que indica si su jugador debe usar X (cross=True) o el símbolo O (cross=False). 
-y move es qué movimiento se realizará, usando coordenadas en un tuple. Si para el tablero del ejemplo su jugador recomienda colocar '​O'​ en la esquina inferior derecha, entonces move = (2,2). 
- 
-El programa completo deberá pedirle a un jugador humano que escoja X o O, en general X comienza. Posteriormente debe, para cada jugada, imprimir el tablero en pantalla. Si es turno del humano, debe pedirle que introduzca la posición de su siguiente jugada en forma de tuple. El programa debe detectar cuándo alguien ha ganado y mencionarlo,​ o anunciar la existencia de un empate. 
- 
-La implementación deberá ser, de preferencia,​ en Python. Su entrega debe incluir todos los archivos necesarios para ejecutar el programa, incluyendo un archivo llamado README.txt con instrucciones para la ejecución del programa. Favor de enviar un solo archivo comprimido Zip o Tar/GZ (RAR no, de preferencia). 
- 
-Enlace para enviar su proyecto: https://​www.dropbox.com/​request/​gPQC2BQ9KArDqYKmFxjR 
- 
-**Fecha de entrega: 24 de septiembre de 2019**