Closed brunopk closed 6 years ago
No me queda claro porque los pesos jugarían en esta funcion, quizas te referis a alguna de más alto nivel, la funcion converter lo unico que hace es dado un tablero version matricial, convertirlo en sus features, es decir, x1, x2, x3 ... . Los pesos son de la función V la cual no existe al menos en este nivel.
Sobre la matriz que comentas te dejo el resultado que me dio:
[[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 2 2 2 0 0 0 0 0 0]
[0 0 0 0 0 0 2 2 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]]
{'X': {2: {'dirty': 0, 'clean': 0}, 3: {'dirty': 0, 'clean': 0}, 4: {'dirty': 0, 'clean': 0}, 5: {'dirty': 0, 'clean': 0}}, 'O': {2: {'dirty': 0, 'clean': 6}, 3: {'dirty': 0, 'clean': 1}, 4: {'dirty': 0, 'clean': 0}, 5: {'dirty': 0, 'clean': 0}}}
[0, 0, 0, 0, 0, 0, 0, 6, 0, 1, 0, 0, 0, 0]
Lo cual me parece que esta bien no? 1 linea de 3 limpia y 6 lineas de 2 limpias
Acabo de crear un test unitario con tu tablero, de ahi podemos armar otro def
para ver si falla otro tablero
Es difícil de explicar, donde puede llegar a dar problema lo que digo es en esta funcion
Está perfecto el resultado para el caso de prueba que mostrás. Arme otro test y también dio lo esperado y razonándolo bien no veo ningún otro caso que falle 👌
Con estos tableros converter me da error: [2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0] [0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 1, 1, 1] [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1] [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1] [2, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 1] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 1] [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0] [0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1] [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2] [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0] [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 2] [0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 1] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0] [0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0] [0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 1, 1, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0] [0, 0, 1, 0, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0] [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0] [0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0] [0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Traceback (most recent call last):
File "test.py", line 38, in
Lo que veo en comun con todos los tableros es que tienen ..101... pero no estoy segura si es eso el problema.
En general está muy bien, veo que es recursivo como yo lo imaginaba. Hay algunas pocas cosas que no me convencen:
La funcion convert debería recibir un segundo parametro para indicar para quien se quieren obtener los pesos. Deberia tomar solo dos valores, uno para cada jugador posible.
En el caso siguiente:
[' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '] [' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '] [' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '] [' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '] [' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '] [' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '] [' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '] [' ' ' ' ' ' ' ' ' ' ' ' 'O' 'O' 'O' ' ' ' ' ' ' ' ' ' ' ' '] [' ' ' ' ' ' ' ' ' ' ' ' 'O' 'O' ' ' ' ' ' ' ' ' ' ' ' ' ' '] [' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '] [' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '] [' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '] [' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '] [' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '] [' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ']
creo que no se contarian las dos lineas de dos verticales