Construyendo sobre otro post y la conjetura de Collatz y Escher, Gödel, Bach...


Patrones que emergen de la conjetura de Collatz


En menos de un mes ha habido dos posts sobre matemáticas recreativas, el primero sobre la constante de Kaprekar, y el más reciente sobre la Conjetura de Collatz, la cual sin saberlo fue uno de mis primeros ejercicios de programación (en matlab), aunque presentada como Wondrous numbers en Gödel, Escher, Bach:

Tortoise: That's too complicated for me in my sleepy state. Let me instead show you a property which is very easy to define, and yet for which no terminating test is known. I'm not saying there won't ever be one discovered, mind you - just that none is known. You begin with a number - would you care to pick up one?
Achilles: How about 15?
Tortoise: An excellent choice. We begin with you number, and if it is ODD, we tripple it, and add 1. If it is EVEN, we take half of it. Then we repeat the process. Call a number which eventually reaches 1 this way a WONDROUS number, and a number which doesn't, an UNWONDROUS number.



(Collatz no está mencionado en el index del libro de Hofstadter!!!!)


   En el post sobre Collatz generan una función para llegar a 1 desde cualquier número, siguiendo las reglas de arriba:


is.even <- function(x) {
  if (x %% 2 == 0) TRUE
  else FALSE
}
 is.even(2)
## [1] TRUE
y
collatz <- function(n) {
  if (is.even(n)) n/2
  else 3 * n + 1
}
con un poco más, recogemos el número de iteraciones que le toma a cada número para llegar al 1, y ya de ahí generar gráficas y animaciones:
noa <- c()
for(i in 1:1000) {
n_total <- n


<- i
while (n != 1) {
  n <- collatz(n)
  n_total <- c(n_total, n)
}
noa <- c(noa,length(n_total))
}
 








Comentarios

Entradas más populares de este blog

El estado de las cosas: QGIS vs ArcGIS

datos socioeconómicos y resultados electorales.