You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# _password = "El módulo estandariza un conjunto básico de herramientas rápidas y eficientes en memoria que son útiles por sí mismas o en combinación. Juntos, forman un álgebra iteradora que permite construir herramientas especializadas de manera sucinta y eficiente en Python puro."
10
-
# _password = "Este módulo implementa una serie de bloques de construcción de iteradores inspirados en construcciones de APL, \"Haskell\" y SML. Cada uno ha sido refundido en una forma adecuada para Python. El módulo estandariza un conjunto básico de herramientas rápidas y eficientes en memoria que son útiles por sí mismas o en combinación. Juntos, forman un álgebra iteradora que permite construir herramientas especializadas de manera sucinta y eficiente en Python puro. Por ejemplo, SML proporciona una herramienta de tabulación: que produce una secuencia . El mismo efecto se puede lograr en Python combinando map() y count() para formar .tabulate(f)f(0), f(1), ...map(f, count()) Estas herramientas y sus contrapartes integradas también funcionan bien con las funciones de alta velocidad en el módulo del operador. Por ejemplo, el operador de multiplicación se puede mapear a través de dos vectores para formar un producto de punto eficiente: .sum(map(operator.mul, vector1, vector2))Iteradores infinitos: "
11
-
12
-
''' Settings for the genetic algorithm
13
-
aptitud:
14
-
- proportional: Probabilidad de supervivencia proporcional al valor de la función fitness
15
-
- ranked: Probabilidad de supervivencia proporcional a pa posicion en el ranking
16
-
muestreo:
17
-
- ruleta: Seleccion por ruleta
18
-
- torneo: Seleccion por n torneos
19
-
- elitista: Seleccion por elitismo (Mantener a los mejores para evitar perderlos)
20
-
mutacion:
21
-
- intercambio: Intercambia dos genes
22
-
- incremento: Incrementa un gen
23
-
- decremento: Decrementa un gen
24
-
cruzamiento: (crossover)
25
-
- 1_punto: Cruza un punto
26
-
- 2_puntos: Cruza dos puntos
27
-
- random: Cruza aleatoriamente
28
-
29
-
'''
17
+
# _password = "Python Random module is an in-built module of Python which is used to generate random numbers. These are pseudo-random numbers means these are not truly random. This module can be used to perform random actions such as generating random numbers, print random a value for a list or string, etc."
30
18
31
19
32
20
defget_password_len():
@@ -35,9 +23,7 @@ def get_password_len():
35
23
36
24
37
25
defget_fitness(guess):
38
-
""" Return the number of caracters in guess string mismatching the same position of the password """
39
-
# El objeto zip produce tuplas de n-longitud, donde n es el número de iterables pasados como argumentos posicionales a zip().
40
-
# El elemento i-ésimo en cada tupla viene del argumento i-ésimo iterable a zip(). Esto continúa hasta que el argumento más corto se agota.
26
+
""" Return the number of caracters in guess string mismathing the same position of the password """
# Implemente la función crossover() que recibe 2 cromosomas, realiza con ellos una hibridación de 1 punto aleatorio, y devuelve otro cromosoma con la hibridación realizada.
64
50
defcrossover(chromosome1, chromosome2):
65
51
""" Perform a one point crossover of the chromosomes """
66
-
p=random.randint(0, get_password_len() -1)
67
-
returnchromosome1[:p] +chromosome2[p:]
68
-
69
-
70
-
"""
71
-
• pop_size el tamaño de la población (por defecto 100) que se mantiene fijo entre generaciones
72
-
• elite_rate la proporción de la población que se consideran buenas soluciones y que se usan para construir la siguiente población (por defecto es el 20%)
73
-
• mutate_prob la proporción de candidatos que mutan (por defecto es el 80%) de la población entera (incluida la élite). Los candidatos que no se mutan, se cruzan con otro
74
-
• max_generations el número máximo de generaciones que permitimos iterar en el
0 commit comments