![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Gracias por responder Ñuño
Va a estar difícil encontrar esos libros ya que no están en la biblioteca de mi ciudad pero “El libro gigante de los juegos para ordenador” tiene buena pinta haber si lo encuentro en alguna librería y le puedo echar un vistazo mas detalladamente. Nunca he sabido jugar al Reversi; Ponía Fichas y luego la maquina siempre convertía mis fichas pero yo las suyas no. supongo que es cuestión de leer las instrucciones… A lo bruto ya lo había intentado: -->Primero lo hice que moviera Aleatoriamente a una columna (Obviamente no tiene Inteligencia) -->Luego hice que antes de mover comprobara si hay ya 3 del usuario y si encuentra 3 le tapa la 4 posición, sino las encuentra mueve Aleatoriamente (Sigue sin tener Inteligencia pero no es tan tonto) La Idea es Ponerle Inteligencia para que El Ordenador también vaya a ganar… Para ello lo mejor es utilizar la estrategia MiniMax porque te adelantas a las posibles jugadas eligiendo la combinación óptima… Aunque también se que esto le puede llevar mucho tiempo y que habría que mezclarlo con el Algoritmo de Poda. Pero de momento lo que me interesa saber es como hacer el árbol de estados. Seguiré buscando información sobre el Algoritmo haber si me aclaro, porque encuentro mucha paginas que hablan sobre el pero en todas pone lo mismo; es un árbol de exploración donde a partir de un estado inicial del tablero, se busca aquellos valores mínimos que maximicen la posibilidad de ganar para ello hay que considerar que tras la realización de una jugada MAX, viene una jugada MIN y tras la misma viene otra MAX y así sucesivamente hasta llegar al objetivo Pero no se como valorar el tablero para buscar dichos valores. En otros juegos como el Ajedrez valoran las casillas según la ficha que hay en el tablero por ejemplo donde hay un peón (vale 1), caballo (2), Alfil (3)… Así saben donde están las piezas con mayor valor… Si alguien sabe donde puede encontrar el algoritmo explicado paso a paso que lo diga; ya que informacion interesante si que he encontrado por google pero no una explicacion detallada. |
|
#2
|
|||
|
|||
|
Aqui tienes el codigo de un Conecta4 ya hecho con Inteligencia artificial, y muy chulo hasta con grágficos 3D
http://members.fortunecity.com/schut...tFour3DSrc.zip (ademas compila sin problemas en cualquier delphi sin componentes de terceros) aqui tienes un PDF con la explicacion del funcionamiento del conecta4, en ingles, pero...... http://www.farfarfar.com/games/conne...r/connect4.pdf puedes mirar el codigo pero vamos si es para algun trabajo mejor que lo intentes por tus medios aunque no quede tan sofisticado, nadie se va a creer que ese juego lo has hecho tu. aqui hablan de lo mismo y dan ideas de como hacerlo: http://foro.hardlimit.com/programaci...a-4-11456.html aqui tienes un ejemplo en delphi pero solo la base como ya tienes, pero quizas te de alguna idea nueva para la interface source http://delphi.about.com/library/code...nnect4_src.zip ejecutable http://delphi.about.com/library/code...nnect4_exe.zip Última edición por cocute fecha: 10-01-2010 a las 16:54:21. |
|
#3
|
||||
|
||||
|
Hola gandalf85,
Al parecer, creo que estás confundiendo y mezclando lo que es el algoritmo MiniMax o Min-Max con la heurística. El algoritmo Min-Max sólo se limita a obtener los mínimos y los máximos, tal como lo has descrito, explorando sus ramas y alternando Mínimos y Maximos. La heurística es cosa aparte. La heurística es quien te dá el valor, que luego el algoritmo Min-Max captura y los evalúa. No es que el algoritmo Min-Max debe ajustarse al juego, mas bien es que debe definirse una heurística apropiada al juego. El algoritmo es fijo, no cambia. Y si, es como dicen: se explora el árbol buscando máximos y/o mínimos. La poda alfa-beta ayuda a evitar recorrer ramas innecesarias. No está demás limitar la profundidad. Prueba con 5 ramas, cuanto mucho, para empezar. A ese juego la verdad es que nunca lo he entendido, por lo que no te sabría decir como podrías definir la heurística. Quizá puedas hacer una especie de ponderación entre la cantidad de piezas y espacios libres disponibles. Prueba con diferentes heurísticas y a ver que sale. Las heurísticas del Ajedrez no son tan simples como piensas. No es una simple cuestión de la posición o valoración de las piezas. Son más de 40 o 50 variables (ya no recuerdo bien). Es más, ¡algunos diseñan sus algoritmos para ser capaces de cambiar de heurística sobre la marcha! Saludos, |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| no conecta la BD | megaredoxk | Conexión con bases de datos | 14 | 21-07-2008 17:33:55 |
| Mysql no conecta en red !!!!!!!!!!!! | david_uh | Varios | 7 | 16-07-2007 22:06:44 |
| No me conecta IB en Internet | tulio | Firebird e Interbase | 2 | 20-03-2007 16:07:26 |
| Juego genial en línea GRATUITO! | Amilius | Humor | 0 | 25-06-2004 22:45:53 |
| ¿Cómo borrar un grid sin tener que ir línea a línea? | Isaac | Varios | 2 | 18-02-2004 16:13:14 |
|