{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# ¿Qué es un laberinto?\n", "Matemáticamente un laberinto se puede contemplar desde varios puntos: un laberinto puede ser visto como un grafo, un juego, o un escenario de búsqueda de caminos." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Estructura de un laberinto\n", "\n", "Un laberinto es un grafo no dirigido y cuyas aristas tienen un peso constante de 1. Las aristas representan las transiciones posibles, y los nodos los estados. Vamos a implementar una clase para definir un laberinto en Python. Nos apoyaremos en la librería Networkx para la manipulación de grafos, y de matplot para displayear el objeto." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import networkx as nx\n", "import numpy as np \n", "import matplotlib.pyplot as plt " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "class Maze:\n", " def __init__(self, N=5):\n", " self.N = N\n", " self.end = (N-1,N-1)\n", " self.start = (0,0)\n", " self.player = (0,0)\n", " self.bariers = []\n", " self.grid = self.generate()\n", "\n", " def generate(self):\n", " while True:\n", " G = nx.grid_2d_graph(self.N, self.N)\n", " all_nodes = list(G.nodes())\n", " all_nodes.remove(self.start)\n", " all_nodes.remove(self.end)\n", " barriers = np.random.choice(range(len(all_nodes)), size=2*self.N, replace=False)\n", " barriers = [all_nodes[i] for i in barriers]\n", " G.remove_nodes_from(barriers)\n", " if nx.has_path(G, self.start, self.end):\n", " return G\n", "\n", " def display(self):\n", " pos = {(x, y): (y, -x) for x, y in self.grid.nodes()}\n", " fig, ax = plt.subplots(figsize=(5, 5))\n", " nx.draw(self.grid, pos=pos, ax=ax, node_size=100, node_color='lightgray')\n", " nx.draw_networkx_nodes(self.grid, pos=pos, nodelist=[self.player], node_color='green', node_size=150, label='Jugador')\n", " nx.draw_networkx_nodes(self.grid, pos=pos, nodelist=[self.end], node_color='red', node_size=150, label='Meta')\n", " ax.legend()\n", " plt.grid(True)\n", " plt.axis('equal')\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "<Figure size 500x500 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "LABERINTO ALEATORIO 0\n", "\n", "\n" ] }, { "data": { "image/png": "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RETEOg0XERGxTsNFRESs03ARERHrNFxERMQ6DRcREbFOw0VERKzTcBEREes0XERExDoNFxERsU7DRURErNNwERER6zRcRETEulivA1pljAEAZDKZhT/36lePGmMQBAHCMITruvA8r6e/BlVr07wH4Fgbth7tq/5o6VeOqa8iqSAIUCwWUSgUUC6XF97u+z5SqRSSySQ8z1txLWw9TC3q6Z8Wth6mln5HPVxKpRJyuRzCMFzyMa7rIpvNIh6Pr5gWth6mFvX0TwtbD1PLIKAdLqVSCTMzMy0/fmhoqGs7nKmFrYepRT3908LWw9QyKCif0A+CALlcrq1tcrkcgiAY6Ba2HqYW9fRPC1sPU8sgoRwuxWKx6anpqYRhiLm5uYFuYethalFP/7Sw9TC1DBK64WKMQaFQiLRtPp+HzZ/yMbWw9TC1qKd/Wth6mFoGDd1zLtVqFUeOHIm8feMVHjb4vh95W9stAFcPUwugnmaYWgCunk5aNm/ejFisb17RsazoVqXd09MTjY6OYnZ21kpLJpPB5OQkRQtbD1OLevqnha2n05ZOv14NMp25nAbTd1gAVw9TC6CeZphaAK4enbl0B92qeJ4H3/cjHUC+72NkZMTaK2mNMZienqZoYethalFP/7Sw9XTaohdULo3uCX3HcZBKpSJtm06nrf4jYGph62FqUU//tLD1MLUMGrrhAgDJZBKu216a67pIJBID3cLWw9Sinv5pYethahkklMPF8zxks9m2tslms105RWVqYethalFP/7Sw9TC1DBK6J/QbMd3rh6mFrYepRT3908LWw9QyCKiHC1C7NcPc3Bzy+fxJdylNp9NIJBLLesdUlha2HqYW9fRPC1sPU0vfM30iDENTqVTM/Py8qVQqJgzDnrZMTU2ZTCZjpqametrC1sPUwtqj45i/h6mlX9FdirwUx3ForievXyFSfyFXr68YYephamn8/Ew9Oo5PjamHqaVfUT6hLyIi/U3DRURErNNwERER6zRcRETEOo5nFmXgBUGASqXSk89tjMHQ0BCMMXj99dd70sDG9/22X5Uu0g4NF+kqYwx+/vOf9/S39sViMXz9619HLBbDCy+80LMOJq7rYuPGjb3OkAGm4SJdVR8sZ599NtauXduTSzpfe+01VCoVZLNZrF27dtk/P5swDDE7O4sXX3xRv0lRukbDRbrGGLMwWNLp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a7hI39NwER6lUmdnLUBXbtx3ww034KabbgIAfO1rX1v0vldffRUAcPDgQbz1rW9d9L4T76d2otHRUQwNDeGb3/wmMpkMwjDEBRdc0JV7eYksNw0X4RGP166E6WTAeB6wbp29JtR+K2W5XIbjOLjqqqsWve/888/H6tWrcfz4cWxf4sVv9ctaG3+nSj6fx3PPPYdvfvOb+K3f+i0AwA9+8AOr3SK9pOEiPFr4PfAtsXzjPs/z8NOf/nThvxvF43GMj4/j5ptvRhiG2Lp1K15++WU88cQTWLduHT72sY9haGgIjuPgwIEDeP/7348zzjgDyWQS6XQaf/3Xf43169fj+PHjuO2226x2i/SSLkkRHmNjtVu6dKJLN+5bt24d1i1xRvTHf/zHuP3223HXXXfhne98J66++mocPHgQGzduBAC89a1vxR133IHbbrsNb37zm3HTTTfBdV088MADmJqawgUXXICbb74Zd999t/VukV7Riyila+ov1GvrRZQ7d9Zu6RLl94jHYsD731+79l+airRvRNqgMxfhMj4ebbAAtedqdu2y2yMikWi4CJcBunGfyEqm4SJ8Gm7cd9pbwRDfuE9kJdNwET6OU/vx1uHDtedQHKd2iXH9Sq36fztO7f2HD9ceP8C/TVKk3+hSZOm6yNeMbNtW+18uV7uly9GjtRdIrltXu9z4+utpfutev9F1PNJtGi7SNatWrQIAvPbaaws3a4ykT2/cx6x+F4CV9MvSZHlpuEjXeJ6HRCKBX/7ylwCAtWvX9vy27lL7FQH//d//jbVr10b7tQgiLdCRJV31lre8BQAWBoxwcF0XGzZs0LCXrtGLKGVZBEGASqXS6wx5Q/23T4p0i4aLiIhYp29dRETEOg0XERGxTsNFRESs03ARERHrNFxERMQ6DRcREbFOw0VERKzTcBEREes0XERExDoNFxERsU7DRURErNNwERER6zRcRETEOg0XERGx7v8DrGZoZDc4NHMAAAAASUVORK5CYII=", "text/plain": [ "<Figure size 500x500 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "LABERINTO ALEATORIO 1\n", "\n", "\n" ] }, { "data": { "image/png": "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", "text/plain": [ "<Figure size 500x500 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "LABERINTO ALEATORIO 2\n", "\n", "\n" ] } ], "source": [ "for i in range(3):\n", " m = Maze(10)\n", " m.display()\n", " print(f\"LABERINTO ALEATORIO {i}\\n\\n\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Resolver un laberinto consiste en encontrar un camino desde un punto del mismo hasta otro cualquiera bajo ciertas que restricciones. Restricciones que pueden incluir limitaciones en número de movimientos, en el tiempo para calcular la ruta, etc.. Para ello disponemos de varios métodos. Los más clasicos son los algoritmos de búsqueda en grafos, incluyendo Dijkstra y A*, y más recientemente otros con aplicación en juegos, como MonteCarlo Tree Search (usado con éxito por DeepMind en AlphaGo y AlphaStar)\n", "\n", "[Algoritmos de búsqueda en grafos](https://es.wikipedia.org/wiki/Algoritmos_de_b%C3%BAsqueda_en_grafos)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.8" } }, "nbformat": 4, "nbformat_minor": 2 }