Řetězec sčítání a odčítání - Addition-subtraction chain

An řetěz sčítání a odčítání, zobecnění adiční řetězce zahrnout odčítání, je a sekvence A0, A1, A2, A3, ... to uspokojuje

Řetězec sčítání a odčítání pro n, délky L, je řetězec sčítání a odčítání takový, že . To znamená, že tím lze počítat n podle L sčítání a / nebo odčítání. (Všimněte si, že n nemusí být pozitivní. V tomto případě lze také zahrnout A−1 = 0 v pořadí, takže n = -1 lze získat řetězcem délky 1.)

Podle definice je každý sčítací řetězec také řetězcem sčítání a odčítání, ale ne naopak. Proto je délka nejkratší řetěz sčítání a odčítání pro n je omezen výše délkou nejkratšího řetězce přidání pro n. Obecně je však stanovení řetězce minimálního sčítání a odčítání (jako problém stanovení řetězce minimálního sčítání) obtížným problémem, pro který nejsou v současné době známy žádné efektivní algoritmy. Související problém hledání optima sekvence přidání je NP-kompletní (Downey et al., 1981), ale není jisté, zda hledání optimálních řetězců sčítání nebo odčítání je NP-tvrdé.

Například jeden řetězec sčítání a odčítání je: , , , . To není minimální řetěz sčítání a odčítání pro n= 3, protože jsme si místo toho mohli vybrat . Nejmenší n pro které je řetězec sčítání a odčítání kratší než řetězec minimálního sčítání n= 31, které lze vypočítat pouze v 6 přídavcích (spíše než 7 pro řetězec minimálního přidání):

Jako sčítací řetězec lze použít i sčítací a odčítací řetězec umocňování přídavného řetězce: vzhledem k řetězci délky sčítání a odčítání L pro n, energie lze vypočítat vynásobením nebo dělením X L krát, kde odčítání odpovídají rozdělení. To je potenciálně efektivní v problémech, kde je dělení nenákladná operace, zejména při umocňování eliptické křivky kde rozdělení odpovídá pouhé změně znaménka (jak navrhli Morain a Olivos, 1990).

Nějaký multiplikátory hardwaru vynásobit n pomocí adičního řetězce popsaného n v binárním formátu:

    n = 31 = 0 0 0 1 1 1 1 1 (binární).

Další multiplikátory hardwaru se vynásobí n pomocí řetězce sčítání a odčítání popsaného n v Kódování stánku:

    n = 31 = 0 0 1 0 0 0 0 −1 (kódování stánku).

Reference

  • Volger, Hugo (8. dubna 1985). Msgstr "Některé výsledky na řetězcích sčítání / odčítání". Dopisy o zpracování informací. 20 (3): 155–160. doi:10.1016/0020-0190(85)90085-7.
  • Morain, François; Olivos, Jorge (1990). "Zrychlení výpočtů na eliptické křivce pomocí řetězců sčítání a odčítání" (PDF). Informační technologie a aplikace. 24 (6): 531–543. CiteSeerX  10.1.1.56.347.
  • Downey, Peter J .; Leong, Benton L .; Sethi, Ravi (1981). Msgstr "Výpočet sekvencí s adičními řetězci". SIAM J. Comput. 10 (3): 638–646. doi:10.1137/0210047.
  • Sloane, N. J. A. (vyd.). "Pořadí A128998 (délka řetězce minimálního sčítání a odčítání)". The On-line encyklopedie celočíselných sekvencí. Nadace OEIS.