Estoy de acuerdo con usted en que la descripción del procedimiento de reducción en la página de Wikipedia es inconsistente con el procedimiento de reducción utilizado en la imagen. Lo curioso es que las diferentes fuentes parecen tener una idea diferente de lo que es exactamente un árbol de Wallace. Parece que no hay una descripción rigurosa de la fase de reducción de Wallace.
Durante la conferencia, aprendí a reducir los árboles Wallace de la forma en que se explica en Wikipedia: la forma "codiciosa" (reduce tanto como puedas). Pero también encontré este sitio, donde usan un esquema de reducción similar como en la imagen de su pregunta (de hecho, debe ser el mismo, pero la imagen de Wikipedia contiene un error , en el diagrama del cuarto punto, la séptima fila de la derecha contiene un punto demasiados), y considérelo como "reducción de Wallace tradicional". Por lo tanto, hay al menos dos esquemas de reducción que tienen el nombre de Wallace (y los muchos documentos que se refieren a los árboles de Wallace o los multiplicadores de Wallace sugieren de alguna manera que hay muchos más).
En tales casos de confusión, a menudo es útil buscar papel original , Como suele ayudar a entender el contexto histórico del término. No es muy difícil de leer, y es, en algunos puntos, menos formal de lo que uno podría esperar (lo que podría ser una fuente de confusión).
Al leer el documento, queda claro que los árboles de Wallace no fueron diseñados teniendo en cuenta los diagramas de puntos. Una vez que uno ha adaptado este concepto, resulta muy fácil mejorar la reducción propuesta por Christopher Wallace. Mi conjetura es que la gente simplemente usó el término 'árbol de Wallace' para referirse a estos esquemas mejorados también. La riqueza de papeles y diseños distintos que se encuentran al buscar en Google el 'multiplicador del árbol de Wallace' parece indicar que el término se usa de manera bastante relajada.
Ahora, echemos un vistazo al diagrama de puntos del árbol de Wallace en tu pregunta. En comparación con un árbol Dadda, se destacan dos cosas:
- El árbol no tiene forma de triángulo, sino más bien como un diamante o paralelogramo
- Parece que hay alguna división de filas en grupos de tres, y los sumadores no cruzan los límites. Después de un paso de reducción, los puntos se mantienen dentro de grupos de dos filas.
Para entender esto, es útil tener en cuenta que en el documento original, Christopher Wallace no usa diagramas de puntos. En lugar de eso, describe la estrategia de manera general como "agrupar tres números y reducirlos a dos usando sumadores". La forma en que construye árboles es tomar varios bits con el mismo peso y construir un árbol de aquellos que usan solo sumadores completos. Esto se ilustra en la figura 1 del documento, en la que se agregan 39 operandos: para agregar 39 números de n bits , necesitaría n de estos árboles (más alguna estructura para manejar los bits de acarreo, lo que se podría hacer con versiones simplificadas de este árbol, ya que implica agregar menos de 39 bits: aquí es donde los diagramas de puntos son útiles). p>
Entonces, Chris Wallace no estaba pensando en los diagramas de puntos cuando ideó su método (lo cual es una razón por la que es una forma bastante ineficiente de reducir números en algunos aspectos). Estaba pensando en términos de números (más específicamente, números de múltiples bits).
Cuando lo piensas, esto explica el diseño del diagrama de puntos. Las agrupaciones de filas son grupos de tres números que se suman. Desde esta perspectiva, no tiene mucho sentido mezclar bits de los números. Este método "tradicional" de reducción de Wallace es realmente trivial cuando piensas en las filas de puntos como números de múltiples bits, y simplemente reduces cada grupo de tres números a dos números.