elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C] proyecto sobre scrabble en mente, dudas sobre la "IA"
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C] proyecto sobre scrabble en mente, dudas sobre la "IA"  (Leído 3,697 veces)
Traxza

Desconectado Desconectado

Mensajes: 2



Ver Perfil
[C] proyecto sobre scrabble en mente, dudas sobre la "IA"
« en: 14 Mayo 2013, 21:23 pm »

Buenas tardes, llevo semanas calentándome la cabeza hasta que me decido postear mi "problema" para pedir ideas.

Estoy trabajando en un proyecto en C standard (con algo de c++ pero poco), en el juego scrabble mas concretamente,
y tengo por ahora el proyecto casi terminado, pero para que soporte un jugador o 2 jugadores "humanos", mi problema viene cuando quiero implementar una especie de IA o robot para jugar contra un jugador humano, no hago mas que darle vueltas a la cabeza pero o se me ocurren locuras o no se me ocurre nada.

No vengo al foro a que me den las cosas hechas ni mucho menos, tan solo me gustaría que quien quiera poner su granito de arena me aporte alguna idea, y añadir que el proyecto es para aprender.

Para hacer una idea a quien lea el post, tengo una estructura en el tablero de juego así:

struct casilla
{
int bonus;//si es por dos o por tres
int tipobonus;//si es de letra o de palabra
bool ocupado;//controla si ya esta ocupada
bool candidata;//controla si puede ser ocupada
char letra;//letra
int valor;//valor en puntos
bool nueva;//se controla si es de las recién colocadas
bool puntuado;//se controla cada turno si esta ficha ha sido puntuada
};

Estoy abierto a modificaciones en la estructura sin problemas.

Por ahora soy capaz de formar palabras con las 7 letras del "estante" del robot, pero sin tener en cuenta las letras del tablero, por otra parte, si tuviese en cuenta alguna letra o conjunto de letras sé que debería forzar que esas letras se encuentren en la palabra final en el mismo orden.

Gracias por vuestra atención.


En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: [C] proyecto sobre scrabble en mente, dudas sobre la "IA"
« Respuesta #1 en: 14 Mayo 2013, 23:07 pm »

Podemos pensar en, segun las palabras que disponga el bot. Generar una lista de palabras equivalentes o seudoequivalentes (seudoequivalente es igual pero faltando la
ultima/primera letra). Calcular los puntos de cada palabra y coger la que más tiene, después sería buscar alguna letra "libre" con la que cruzar (colocar la palabra y detectar si hay alguna palabra en horizontal o vertical).

Creo que deberías seguir ese camino. De momento intenta apañarte una función que te devuelva las palabras posibles respecto a un cojunto de letras desordenadas...


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
OmarHack


Desconectado Desconectado

Mensajes: 1.268


Ver Perfil
Re: [C] proyecto sobre scrabble en mente, dudas sobre la "IA"
« Respuesta #2 en: 14 Mayo 2013, 23:31 pm »

Si quieres algo profesional busca una lista con las palabras del diccionario para que el bot maneje. También puedes ponerle dificultad, y esta variará según el tamaño que le pongas a la base de datos con las palabras. Lleva mucho trabajo, pero si le pones 100 parabras, le vas a ganar siempre, todo depende de las letras que generes para usar.
En línea

I like to test things.
Traxza

Desconectado Desconectado

Mensajes: 2



Ver Perfil
Re: [C] proyecto sobre scrabble en mente, dudas sobre la "IA"
« Respuesta #3 en: 14 Mayo 2013, 23:45 pm »

De momento intenta apañarte una función que te devuelva las palabras posibles respecto a un cojunto de letras desordenadas...

Sí, he creado una función que recoge una cadena de caracteres y forma todas las palabras posibles (que hay en un diccionario binario con 75.000 palabras)con esas letras, en milésimas de segundo, pero sin tener en cuenta las del tablero (por ahora), mañana seguiré a ver que puedo sacar de todo esto, gracias
En línea

amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: [C] proyecto sobre scrabble en mente, dudas sobre la "IA"
« Respuesta #4 en: 14 Mayo 2013, 23:58 pm »

Perfecto, ahora lo ideal sería encontrar un "cruce" donde meter.

Por no complicarse mucho, coge la ultima letra de una palabra y busca otra igual en el tablero. Cada letra que encuentres en el tablero debe cumplir el siguiente requisito:

- Que no haya ninguna otra letra ocupada en n+1 espacios a la izquierda (donde n es la longitud de la palabra).


Despues ya, intenta generalizarlo para cruzar en vertical, de izquierda a derecha...
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
dudas sobre las tarjetas PCI "ws"
Materiales y equipos
yopispo 3 2,651 Último mensaje 6 Enero 2009, 21:59 pm
por zydas
dudas sobre "ataque modelo"
Hacking
aeroslax 1 3,900 Último mensaje 19 Noviembre 2009, 11:46 am
por kamsky
Dudas sobre "preparación" para la programación « 1 2 »
Programación General
pequezere 11 5,765 Último mensaje 11 Octubre 2011, 20:45 pm
por pequezere
Dudas sobre reaver y tarjeta de red "sorda" « 1 2 »
Hacking Wireless
Anshii 10 9,639 Último mensaje 31 Octubre 2012, 21:46 pm
por Sh4k4
Dudas sobre "LynxFramework" (payload: facebook)
Hacking
Dog Evil ! 0 2,305 Último mensaje 9 Abril 2016, 04:04 am
por Dog Evil !
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines