Nozione formale per la complessità energetica dei problemi computazionali


35

La complessità computazionale include lo studio della complessità temporale o spaziale dei problemi computazionali. Dal punto di vista del mobile computing, l'energia è una risorsa computazionale molto preziosa. Quindi, esiste un adattamento ben studiato delle macchine di Turing che tengono conto dell'energia consumata durante l'esecuzione degli algoritmi. Inoltre, ci sono classi di complessità energetica stabilite per problemi computazionali?

I riferimenti sono apprezzati.


1
Il consumo di energia dipende dalla macchina e una questione pratica, vale a dire che le costanti nascoste nell'analisi classica sono in genere di interesse (qualsiasi unica differenza tra tempo di esecuzione e consumo di energia).
Raffaello

6
Teoricamente, puoi fare passi reversibili senza costi energetici. In pratica, si possono costruire chip che eseguono passaggi reversibili a un costo energetico sostanzialmente inferiore rispetto ai passaggi non reversibili. Come ciò si traduca in teoria non è chiaro, ma forse possiamo definire un modello di macchina di Turing che fa passi reversibili al costo e passi non reversibili al costo β , e iniziare in teoria a ragionare sul consumo di energia. Almeno è forse meglio che alzare le mani nella disperazione e dire "dipende tutto dalla macchina". αβ
Peter Shor


Susanne Albers ha scritto un eccellente sondaggio nella comunicazione di ACM, algoritmi ad alta efficienza energetica. cacm.acm.org/magazines/2010/5/87271-energy-efficient-algorithms/…
Mohammad Al-Turkistany,

Risposte:


28

Esiste un adattamento ben studiato delle macchine di Turing che rappresentano l'energia consumata durante l'esecuzione di algoritmi? No!

Ma forse potresti trovarne uno. È possibile che tu possa dividere i passi della macchina di Turing in reversibili e non reversibili (quelli non reversibili sono dove le informazioni vengono perse). Teoricamente, sono solo i passaggi non reversibili che costano energia. Un costo di un'unità di energia per ogni bit cancellato sarebbe teoricamente la misura giusta.

Esiste un teorema di Charles Bennett secondo cui la complessità temporale aumenta al massimo di una costante quando un calcolo viene reso reversibile (CH Bennett, Reversibilità logica del calcolo ), ma se ci sono anche limiti nello spazio, quindi rendere reversibile il calcolo potrebbe comportare un sostanziale aumento nel tempo (riferimento qui) . Il principio di Landauer afferma che cancellare un po 'costa di energia, dove T è la temperatura e k è costante di Boltzmann. Nella vita reale, non puoi avvicinarti a questo minimo. Tuttavia, è possibile creare chip che eseguono passaggi reversibili utilizzando sostanzialmente meno energia di quella che utilizzano per passaggi irreversibili. Se dai passaggi reversibili il costo di αkTln2Tkα e un passaggio irreversibile un costo di , sembra che possa dare un modello teorico ragionevole.β

Non so come le macchine di Turing con alcuni passaggi reversibili si colleghino ai chip con alcuni circuiti reversibili, ma penso che valga la pena studiare entrambi i modelli.


Peter, nelle discussioni su Efficient Church-Turing Thesis, ricordo di aver letto di aver preso in considerazione la quantità di energia utilizzata nel calcolo. Sai se c'è un buon riferimento sull'argomento? (Posso pubblicare questo come una domanda separata se lo preferisci.)
Kaveh,

4
Se sei solo preoccupato per i fattori polinomiali, come lo sei per la tesi di Church-Turing efficiente, tutto funziona, perché puoi ottenere un calcolo reversibile (quantità arbitrariamente piccola di energia spesa) con solo un costante aumento del fattore nel tempo, e il lo spazio non può essere più grande del tempo. Penso di aver visto un buon sondaggio recente su questa roba. Spero che qualcuno riesca a individuarlo.
Peter Shor,

Grazie Peter, immagino che potrei trovarlo da solo usando Google (posterò una domanda se non lo trovo).
Kaveh,

idee interessanti che portano alla domanda: quanto possono essere trasformati algoritmi arbitrari in calcoli reversibili? come nel qm computing questo è sempre possibile con i bit "ancilla" ma mantenere questo "scratch" può ridurre l'efficienza dell'algoritmo in alcuni casi e forse fino ad ora non è stato ben compreso quanto. nota williams ha alcune idee su calcoli reversibili efficienti
vzn

Anche se abbiamo una macchina di calcolo reversibile, ci sono ancora dei costi energetici "nascosti": quando vogliamo eseguire un nuovo calcolo, dobbiamo creare un nuovo banco di memoria o cancellare alcuni dei dati precedentemente scritti per fare spazio per il nuovo input e calcoli. In che modo ciò influisce sulla risposta? (ad esempio, il calcolo reversibile di solito presuppone l'accesso a una sezione di memoria "vuota" inizializzata? sembra barare ...)
usul,

7

Non ci sono ancora classi di complessità energetica, ma c'è sicuramente molto interesse nello studio su come progettare algoritmi che siano efficienti dal punto di vista energetico in alcuni modelli. Non ho familiarità con l'intero corpus di lavori, ma un punto di accesso è il lavoro che Kirk Pruhs sta facendo sull'informatica sostenibile. Kirk è un teorico con esperienza nella programmazione e approssimazioni ed è recentemente diventato molto attivo in questo settore, quindi la sua prospettiva è buona per la gente algoritmica.

Il punto di ps gabgoh sul principio di Landauer è buono. Se vuoi saperne di più sulla relazione tra energia e informazione, non c'è fonte migliore del libro Demone di Maxwell .


+1 Grazie Suresh per la risposta.
Mohammad Al-Turkistany,


5

Kei Uchizawa e i suoi coautori studiano la complessità energetica dei circuiti di soglia. Lo definiscono come il numero massimo di gate di soglia che generano 1 su tutti i possibili input.

Dal momento che non si tratta di macchine Turing, questo non risponde alla domanda. Ma spero che i loro articoli diano alcune idee. La sua pagina web contiene puntatori. http://www.nishizeki.ecei.tohoku.ac.jp/nszk/uchizawa/


4

Vi è una giustificazione per l'utilizzo del modello di memoria esterna come modello di calcolo consapevole dell'energia. Paolo Ferragina ne ha discusso brevemente nel suo discorso invitato all'ESA 2010, ma non so se ci siano risultati pubblicati. L'idea di base è che se il numero di I / O domina il tempo di calcolo, allora l'energia richiesta per quegli I / O probabilmente dominerà il consumo totale di energia.

La relazione del primo seminario sulla scienza della gestione dell'alimentazione conteneva principalmente domande e problemi aperti. Non so cosa sia successo al Secondo Workshop , ma le pagine web dicono che ci sarà un numero speciale di Informatica sostenibile dedicato agli approcci teorici, matematici e algoritmici all'informatica sostenibile.


0

ecco alcuni nuovi / altri riferimenti / angoli su questa domanda apparentemente profonda con la ricerca in corso. come indicato da P.Shor l'area finora sembra essere in attesa di un sondaggio completo, standardizzazione e / o unificazione. ci sono più approcci astratti / teorici elencati al 1 °, seguiti da approcci più applicati: algoritmi ad alta efficienza energetica, misurazione del consumo di energia nel mobile per l'ordinamento, studio dei fattori in VLSI che influenzano la complessità energia / tempo.


-3

Le complessità nel tempo e nello spazio sono indipendenti dal dispositivo. Non vedo un modo per rendere indipendente il dispositivo di complessità energetica.

WWW

O(Wf(n))=O(f(n))


sto votando verso il basso questa risposta poiché penso che manchi il punto. Penso che ci sia una giustificazione teorica per porre un limite inferiore al consumo di energia di qualsiasi algoritmo basato sul principio di Landauer. Trovo la domanda molto sensata.
gabgoh,

@gabgoh Temo che qualsiasi limite inferiore generale dovrebbe fare ipotesi di uniformità che vanificherebbero lo scopo. @TheMachineCharmer In effetti, i processori reali possono avere diversi ordini di comandi per efficienza. Sicuramente, anche se il tuo secondo paragrafo mi confonde.
Raffaello,

4
αβαβαβ

1
@Konrad: gabgoh si riferisce a Rolf Landauer, non a Lev Landau.
Peter Shor,

1
@Peter: grazie per le informazioni. Per la cronaca, stavo parlando di Edmund Landau, inventore della notazione big-O. Pensavo che a questo si riferisse gabgoh con il "principio di Landauer".
Konrad Rudolph,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.