¿Cuáles son algunos compromisos fundamentales en informática?

Esta es una pregunta muy interesante, y me gustaría presentar dos perspectivas aquí:

Compensaciones en CS teóricas:

Quizás la compensación del espacio-tiempo es uno de los compromisos más conocidos aceptados en informática. Un punto interesante a tener en cuenta es que esta propiedad no solo se limita al almacenamiento frente a la velocidad de cálculo, sino también a la organización del código frente al tiempo de ejecución. Un buen ejemplo de almacenamiento frente a la velocidad de cálculo es la tabla de consulta frente al almacenamiento lineal, reutilizado para el cálculo. El primero ahorra tiempo, pero necesita más memoria, mientras que el segundo necesita menos memoria y necesitaría más tiempo de ejecución. Otro ejemplo para un escenario similar es: bucle regular vs bucle desenrollado. El aspecto desenrollado obviamente necesita más memoria, pero aumenta la velocidad. También piense en las funciones en línea en C ++.

Similar al teorema de CAP, existe el teorema de aceleración de B lum que concluye que para cualquier medida de complejidad hay funciones que no son óptimas con respecto a esa medida. Esto provoca muchas compensaciones, al tiempo que elabora algoritmos.

Compensaciones en CS práctica:

En el mundo real, hay casos en los que sería improbable obtener los requisitos / datos, adecuados para construir las mejores soluciones. Por lo tanto, sus restricciones lo obligarán a buscar heurísticas que lo ayuden a construir una solución casi óptima. Representar imágenes / videos, en lugar de tenerlo precargado, es uno de los mejores ejemplos prácticos que se piensa en una compensación. Puedes verificar lo mismo de Quora 🙂

Acabo de ver esto. Lo intentaré más tarde.

La informática se trata de compromiso. La prueba por contradicción es esclarecedora, pero es difícil de transformar en un artefacto tangible. Buscamos entregar.

Esto realmente requiere algo de introspección.

Pero déjame agregar una pepita. En la década de 1980 fui contratado como consultor en una compra de computadora que sería compartida entre los investigadores de Scripps y PRI. De todos modos, el sistema informático no tenía suficiente memoria para la aplicación de investigación en imágenes de resonancia magnética nuclear. ¿Cómo lo supe? Soy un combinatorio. Hablé con el investigador sobre el problema y miré el enfoque. Necesitaban una máquina dedicada con al menos cuatro veces la memoria.

Así que le dije al PRI que compartir no funcionaría, pero que deberían cuadruplicar la memoria y comprar el sistema para uso exclusivo de los investigadores. Podrían resolver la mayoría de sus problemas con microcomputadoras y acceso remoto a sistemas especializados.

La cabeza del PRI sonrió. Dijo que eso era exactamente lo que quería saber. Él financió la adquisición. Alguna vez ha tenido una resonancia magnética? Gracias a estos investigadores.

Es posible que su trabajo se haya retrasado un par de años simplemente por no entender el rendimiento que se compensa por dimensionar la memoria para el VAX. Y el sistema operativo importaba. La huella virtual de la memoria era suficiente, pero necesitaba la memoria residente.

Además, solo tenían experiencia en el uso de VMS. Así que también eligieron el sistema operativo. No olvides nunca el factor de rendimiento humano. No le dé una trompeta a un jugador de tuba solo porque tiene una boquilla y tres llaves y todos los demás quieren tocar la trompeta.

Un poco de conocimiento sobre las compensaciones de rendimiento hace la diferencia.

More Interesting

¿Cuáles son los factores de (ab - b ^ 2)? ¿Es necesario conocer los valores de a y b, y si no, por qué no?

Cómo responder a las consultas de rango medio de manera eficiente

¿Qué algoritmo debo usar para crear un solucionador de Sudoku?

¿Puedo convertirme en un buen científico de datos con programación pero no con habilidades matemáticas?

¿Cuál es el papel de las matemáticas en la programación de computadoras?

¿Dónde puedo encontrar un tutorial simplificado para Atkin's Sieve?

Si tengo una variable, X, en un modelo de regresión que se calcula usando otras tres variables (X = 0.3X1 + 0.5X2 + 0.2X3), ¿está bien que regrese 0.3X1, 0.5X2 y 0.2X3 por separado?

¿Hay ramas de las matemáticas y las ciencias que no se han descubierto, o hemos agotado todo el conocimiento que requerimos sobre estos dos?

¿Las personas descubren o inventan algoritmos? ¿Cómo?

¿Cómo escribimos código para verificar si el año es bisiesto o no en Verilog, sin usar el operador de módulo?

¿Cuáles son los requisitos previos (matemáticos, de programación, etc.) que uno debe tener para convertirse en ingeniero de control?

¿Qué es una variable volátil?

¿Qué ocupa más bytes: un DVD de Windows 7 o el índice del primer decimal en pi en el que se encuentra un DVD de Windows 7?

¿Qué métodos de análisis deberían usarse cuando el nivel de la variable dependiente es mucho mayor que el número de variable independiente?

¿Por qué es necesaria una variable de control en un experimento?