Comparación de la complejidad de un sumador y un multiplicador

1

Tengo dos algoritmos con diferentes requisitos de operaciones de suma y multiplicación de la siguiente manera:

  1. Algoritmo 1: 100 adiciones 200 multiplicaciones, total = 300 operaciones.
  2. Algoritmo 2: 300 adiciones 50 multiplicaciones, total = 350 operaciones.

El algoritmo 1 requiere el menor número de operaciones, pero la mayoría de ellas son multiplicaciones que, según mi entendimiento básico, son más complejas que la adición en términos de implementación de hardware (FPGA, ASIC, DSP). El algoritmo 2, sin embargo, requiere 400 operaciones, pero requiere menos multiplicaciones. Mis preguntas son las siguientes:

  1. Es el algoritmo 2 mejor que el algoritmo 1, dada esta información.
  2. Si el algoritmo 2 es mejor, ¿hay una manera sistemática de establecer este resultado? Un método en mi mente era dar ponderaciones a la multiplicación y la suma, por ejemplo, w_addition = 1 y w_multiplication = 2 y luego calcular el número total de operaciones, pero no estoy seguro si esta es la práctica habitual en el campo de diseño de algoritmos. Si hay una forma sistemática de hacer esto, ¿podría darme algunas referencias para citar en un documento?
pregunta ubaabd

1 respuesta

1

El tiempo requerido para realizar adiciones y multiplicaciones varía con la cantidad de circuitos que uno les dedica; a la inversa, la cantidad de hardware varía según la velocidad requerida. Si está intentando averiguar qué algoritmo requeriría más hardware para implementar a una velocidad mínima aceptable, o qué algoritmo podría ejecutarse más rápido con una cantidad determinada de hardware, deberá definir sus restricciones. En general, las multiplicaciones se pueden realizar casi tan rápido como las adiciones, pero el hardware requerido para realizar las multiplicaciones a la velocidad máxima posible es mucho más costoso que el hardware requerido para realizarlas más lentamente.

    
respondido por el supercat

Lea otras preguntas en las etiquetas