Algebraisk komplexitet är en gren av beräkningskomplexitetsteorin som behandlar polynom. Den skapades främst tack vare F. Strassens arbete [1] [2] [3] .
Den algebraiska komplexiteten för ett polynom , som betecknas med , är längden på det kortaste icke-förgrenade programmet som beräknar [4] . Ett icke-grenprogram är en sekvens av funktioner som definieras enligt följande:
, … , …där och är polynom av första graden. Längden på ett icke-grenprogram är antalet termer i sekvensen . Ett icke-förgrenande program med längd beräknar ett polynom om .
Överväg operationen att multiplicera en kvadratisk matris med konstanta element: med en vektor .
Den additiva komplexiteten hos en kvadratisk matris är längden på den kortaste sekvensen av funktioner som beräknar produkten av en vektor och en tabellrad och definieras enligt följande: , ..., , ... där , och är konstanter.
Klassen VP är mängden av alla familjer av polynom för vilka . Till exempel hör problemet med att beräkna determinanten för en matris till VP-klassen. Beräkningskomplexitetsklassen VP är en algebraisk analog till klassen P från beräkningskomplexitetsteorin [6] .
En VNP-klass inkluderar en familj av polynom om den har en familj av polynom från VP-klassen så att . Summeringen utförs över alla vektorer av nollor och längdenheter och är lika med värdet av den -:e koordinaten för vektorn e. Till exempel hör problemet med att beräkna en matris permanent till VNP-klassen. VNP-beräkningskomplexitetsklassen är en algebraisk analog till NP-klassen från beräkningskomplexitetsteorin.