[pyar] Ordenar horarios - Ejercicio Python
Claudio Freire
klaussfreire en gmail.com
Mie Jul 7 13:31:09 ART 2010
2010/7/7 Sebastian Bassi <sbassi en clubdelarazon.org>
> 2010/7/7 Claudio Freire <klaussfreire en gmail.com>:
> > Y python es suficientemente rápido como para procesar 9765625
> combinaciones
> > en un santiamén.
>
> Seguro, pero es "fuerza bruta", no te sirve para demostrar muchos
> conocimientos (pensando que el problema no es solo para ser resuelto,
> sino para evaluar la manera de resolverlo).
>
Backtracking con poda y orden heurístico no es fuerza bruta.
Furza bruta es:
def cartesian(collections):
if len(collections) == 0:
raise StopIteration
elif len(collections) == 1:
for item in collections[0]:
yield (item,)
else:
for item in collections[0]:
for stuple in cartesian(*collections[1:]):
yield (item,) + stuple
def superponen(horarios):
...
for horarios in cartesian([ horarios[m] for m in materias ]):
if not superponen(horarios):
print horarios
Backtracking con poda es... fuerza informada?
;-)
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100707/d0d4cd2a/attachment.html>
More information about the pyar
mailing list