I valutatori ottimali sono effettivamente ottimali?


10

Il seguente termine (usando gli indici bruijn):

BADTERM = λ((0 λλλλ((((3 λλ(((0 3) 4) (1 λλ0))) λλ(((0 4) 3) (1 0))) λ1) λλ1)) λλλ(2 (2 (2 (2 (2 (2 (2 (2 0)))))))))

Se applicato a un numero di chiesa, si Nvaluta rapidamente in forma normale in diversi valutatori esistenti, inclusi quelli ingenui . Tuttavia, se codifichi quel termine in reti di interazione e lo valuti usando l'algoritmo astratto di Lamping, ci vuole un numero esponenziale di riduzioni beta in relazione a N. Su Optlam, in particolare:

N   interactions(betas)     (BADTERM N)
1   129(72)                 λλλ(1 (2 (2 (2 (2 (2 (2 (2 0))))))))
2   437(205)                λλλ(2 (1 (2 (2 (2 (2 (2 (2 0))))))))
3   976(510)                λλλ(1 (1 (2 (2 (2 (2 (2 (2 0))))))))
4   1836(1080)              λλλ(2 (2 (1 (2 (2 (2 (2 (2 0))))))))
5   3448(2241)              λλλ(1 (2 (1 (2 (2 (2 (2 (2 0))))))))
6   6355(4537)              λλλ(2 (1 (1 (2 (2 (2 (2 (2 0))))))))
7   11888(9181)             λλλ(1 (1 (1 (2 (2 (2 (2 (2 0))))))))
8   22590(18388)            λλλ(2 (2 (2 (1 (2 (2 (2 (2 0))))))))
9   43833(36830)            λλλ(1 (2 (2 (1 (2 (2 (2 (2 0))))))))
10  85799(73666)            λλλ(2 (1 (2 (1 (2 (2 (2 (2 0))))))))
11  169287(147420)          λλλ(1 (1 (2 (1 (2 (2 (2 (2 0))))))))
12  335692(294885)          λλλ(2 (2 (1 (1 (2 (2 (2 (2 0))))))))
13  668091(589821)          λλλ(1 (2 (1 (1 (2 (2 (2 (2 0))))))))
14  1332241(1179619)        λλλ(2 (1 (1 (1 (2 (2 (2 (2 0))))))))
15  2659977(2359329)        λλλ(1 (1 (1 (1 (2 (2 (2 (2 0))))))))

Su valutatori simili come BOHM, sono necessari molti meno passaggi beta, ma più interazioni. Se i valutatori ottimali sono ottimali, come possono valutare termini asintoticamente più lenti rispetto ai valutatori esistenti?

Questo link ha una spiegazione sull'origine del termine, nonché un'implementazione della stessa funzione che si comporta in modo opposto, quasi in modo bizzarro: dovrebbe funzionare in tempo esponenziale - funziona in tempo esponenziale nella maggior parte dei valutatori - tuttavia, ottimale i valutatori lo normalizzano in tempo lineare!

Risposte:


5

Efficienza di optlam

Non ho studiato i dettagli di BADTERM né dell'implementazione del valutatore optlam, ma trovo abbastanza strano che optlam esegua una serie di interazioni ß drasticamente diverse da un altro valutatore ottimale come BOHM. Un tale numero deve essere, per definizione, sostanzialmente lo stesso in un determinato termine. Sei sicuro della correttezza del nucleo di optlam?

Efficienza di valutatori ottimali

Ricordiamo che il concetto di ottimalità di questi valutatori è più propriamente noto come ottimismo Lévy, e non è quello ingenuo, dal momento che una strategia di riduzione che esegue il numero minimo di ß-step non è calcolabile. Ciò che è minimizzato, quindi, è il numero di passi paralleli di riduzione ß eseguiti su un'intera famiglia di redex, che è approssimativamente l'insieme ottenuto dalla chiusura simmetrica e transitiva della relazione che lega due redexes quando uno viene copiato dall'altro. In generale, non dovrebbe sorprendere vedere discrepanze tra il numero di passi ß e il resto dei passi di duplicazione, poiché sappiamo che la maggior parte del carico di normalizzazione potrebbe essere trasferito dal primo al secondo, come mostrato da Asperti, Coppola e Martini [1].

Non dovrebbe sorprenderci neanche vedere che il numero totale di interazioni necessarie per normalizzare un termine con un valutatore ottimale è inferiore a quello di un ordinario, poiché l'osservazione empirica precedente aveva già mostrato notevoli miglioramenti delle prestazioni. Ciononostante, un enorme salto di complessità, dal tempo esponenziale a quello lineare, è forse il primo del suo genere ad essere scoperto. (Controllerò questo.)

D'altra parte, i risultati teorici sull'efficienza della riduzione ottimale (che è la tua grande domanda), sono ancora pochi e non ancora generali, poiché si limitano alle reti di prova tipizzate EAL (che è sostanzialmente la stessa restrizione di optmal valutatore, se ho capito bene), ma tutti sono leggermente positivi, poiché nel peggiore dei casi la complessità della riduzione della condivisione è limitata da quella ordinaria da un fattore costante [2,3].

Riferimenti

  1. A. Asperti, P. Coppola e S. Martini, La duplicazione (ottimale) non è ricorsiva elementare , Informazione e calcolo, vol. 193, 2004.
  2. P. Baillot, P. Coppola e U. Dal Lago, Logiche leggere e riduzione ottimale: completezza e complessità , informazione e calcolo, vol. 209, n. 2, pagg. 118-142, 2011.
  3. S. Guerrini, T. Leventis e M. Solieri, Deep into optimality - complessità e correttezza della condivisione dell'implementazione di logiche limitate , DICE 2012, Tallin, Estonia, 2012.

Such a number must be, by definition, basically the same on a given termcosì ho pensato. Ciò mi ha sorpreso poiché Optlam offre lo stesso numero di beta di BOHM in molti casi che ho testato. In alcuni casi, tuttavia, offre di meno, a causa della sua strategia di chiamata per necessità. Qualcuno mi ha detto che la riduzione senza l'oracolo non è effettivamente ottimale e ora non lo so più. Tutto sommato, sono profondamente confuso. Ma no, non c'è assolutamente alcuna prova che Optlam funzioni correttamente. Sto pensando al resto del tuo commento - grazie.
MaiaVictor,

Inoltre, in realtà ho trovato molti termini diversi che si comportano proprio come Badterm. Sto studiando ulteriormente il problema in modo da poter trovare termini più semplici che lo replicano.
MaiaVictor,

Una sorta di strategia parallela di chiamata per necessità è standard per i valutatori ottimali, incluso BOHM, poiché è necessario per l'ottimalità di Lévy stessa. L'oracolo non è strettamente necessario per ridurre in modo ottimale i termini λ: i termini stratificati, come quelli tipizzati da EAL, non ne hanno bisogno.
Marco Solieri,

Oh, mio ​​cattivo, allora. Ad ogni modo, solo per essere sicuro di capirlo, quando si tiene conto della duplicazione (non solo dei beta), possono esserci termini che sono asintoticamente più lenti da ridurre su valutatori ottimali, anche sul caso tipizzato EAL? In tal caso, mi chiedo perché sia ​​significativo contare solo i passi beta e se ci sono davvero dei vantaggi nell'usare le reti di interazione allo scopo di ridurre il calcolo del λ ...
MaiaVictor,

1
Aha! Quindi ci sono termini non tipizzabili EAL che possono essere ridotti senza l'oracolo? Ho ipotizzato che se Optlam lo avesse ridotto, era tipizzabile EAL (dato che non ho un inferenziatore di tipo EAL). Se così non fosse, allora tutto ha un senso adesso. Dal momento che il sottoinsieme di termini tipizzabili EAL ha abbastanza potenza per esprimere qualsiasi algoritmo poly-time come l'ordinamento, immagino che sarebbe saggio tentare specificamente di progettare termini tipizzabili EAL. Mi chiedo come si possa fare in pratica, però. Grazie mille.
MaiaVictor,
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.