POO Lección 5: Módelos

Modelos

Venimos hablando de abstracciones, de simplificar la realidad, de representar con objetos, clases y las relaciones entre ellas según nuestro “modelo de dominio” pero… ¿De que estamos hablando cuando hablamos de modelado?

Bueno la verdad es que vivimos en un mundo en constante evolución, complejo, caótico y lleno de ruido.

Sin embargo la inteligencia humana consigue dar sentido a todo este caos en una busqueda de la elegancia que se esconde detrás de la simetría a través de los patrones que identificamos en nuestra realidad.

El desarrollo de nuestra especie se ha debido principalmente a nuestra capacidad de detectar patrones y poder utilizarlos en nuestro favor.

La ciencia nos ha dotado de esta capacidad de observar al mundo de una manera simplificada. Convirtiendo todo este ruido en conocimiento, es decir, reconstruyendo la realidad a través de modelos.

Un modelo no es más que una construcción conceptual simplificada de una realidad más compleja, a través de esta reconstrucción somos capaces de entender mejor dicha realidad para lograr utilizarla a nuestro favor. Convivimos diariamente con diferentes tipos de modelos por ejemplo un mapa

Un mapa es un modelo ya que nos permite representar de manera simplificada en un plano bidimensional el mundo tridimensional en el que vivimos eliminando los detalles innecesarios como texturas, relieves o artefactos del entorno.

Otro ejemplo puede ser una ecuación física cómo E = mc^2 donde se recogen las relaciones matemáticas entre diferentes variables, para así poder aproximar el comportamiento físico de la realidad.

Cuando hacemos uso de diagramas ya sea desde los más simples a los más complejos, también hacemos uso de modelos…

… ó una partitura que no es más que una simple representación de cómo los diferentes instrumentos deben combinarse, sincronizarse y ajustar sus frecuencias para poder producir siempre la misma canción.

Quizás una partitura podría aproximarse más a la realidad si la representaramos directamente con el espectro de frecuencias de la canción

Pero claro esto sería mucho más complejo para interpretar por parte de los músicos, como vemos un modelo simplemente busca un equilibrio entre aproximarse a representar correctamente la realidad y ser simple para poder utilizarlo.

Imagínate por ejemplo que queremos modelar: “El comportamiento natural de las aves” para ello recopilamos diferentes evidencias y tras observarlas podemos enunciar un primer modelo de su comportamiento.

  • “Este modelo nos dice que las aves pueden volar”

Pero si seguimos iterando este modelo y recopilando evidencias pronto nos daremos cuenta de que este modelo es muy simple ya que hay aves que todavía no han aprendido a volar y otras que estando heridas tampoco pueden hacerlo.

Entonces actualizamos nuestro modelo nuevamente y decimos si un ave es adulta y no esta herida, entonces puede volar.

Parece ahora que nuestro modelo se ajusta más a nuestra realidad. Pero de repente nos vamos un poco más al sur y aparecen estos malditos bichos, es decir, los pingüinos, en este momento podríamos seguir ajustando el modelo y mejorar las diferentes variaciones de la realidad que estamos estudiando, pero al final acabaremos teniendo un modelo muy complejo con todas las excepciones de porque un ave vuela o no.

Como nos damos cuenta hasta este punto los modelos buscan simplificar nuestra compleja realidad, aunque muchas veces al irlos iterando nos damos cuenta de que siempre se hacen complejos de una u otra manera, por eso hay que acotarlos al entorno que nos compete lo máximo posible cumpliendo con las especificaciones que necesitamos, pero sin complicarlo más de la cuenta.

Esto de generar modelos pasa todo el tiempo tanto en nuestro día a día como en nuestra construcción de software, simplemente quería hacer analogías de como continuamente nos topamos con modelos por todas partes, espero que a partir de esto veamos que lo que realizamos en la programación día a día no es más que la realidad en la que estamos inmersos, donde continuamente hacemos y utilizamos diferentes tipos de abstracciones y modelados para simplificar nuestras vidas diariamente.

Written on March 9, 2020