Qual è il primo utilizzo di "alberi" nell'informatica?


Risposte:


13

Wikipedia afferma che il primo uso dell'albero in matematica fu da Cayley nel 1857.

Dato che l'uso dell'informatica è preso direttamente dalla matematica, sembra più fondamentale chiedere quando hanno avuto origine lì. A meno che gli informatici originariamente non chiamassero gli alberi qualcos'altro, il primo scienziato informatico ad usare "albero" non sembra più significativo, per esempio, del primo australiano che usa "albero".


Cayley probabilmente ha coniato la parola "albero", ma gli alberi sono stati usati in precedenza (ad esempio, da Kirchhoff). Nel diciannovesimo secolo i matematici non si interessavano molto degli algoritmi (alcune eccezioni qui). Gli alberi non sono stati sicuramente usati come struttura di dati come un albero di ricerca in queste opere.
A. Schulz,

11

Secondo il TAOCP di Donald Knuth, vol. 1, pag. 459 i seguenti documenti potrebbero essere considerati come una delle prime apparizioni di alberi in CS.

  • HG Kahrimanian, Differenziazione analitica da un computer digitale , Simposio sulla programmazione automatica, 6–14, 1952
  • KE Iverson e LR Johnson, rapporti di ricerca di IBM Corp. RC-390, RC-603 , 1961
  • AJ Perils e C. Thornton, Alberi filettati , CACM 3, 195–204, 1960

Controlla TAOCP per ulteriori informazioni e più riferimenti.


Grazie, sembra molto promettente. Il secondo riferimento ha un titolo? Non ho TAOCP a portata di mano, andrò in biblioteca più tardi.
john_leo

4
Questo è un argomento dell'autorità che può effettivamente funzionare, dato che Knuth è noto per essere un collezionista di riferimenti molto diligente.
Raffaello

INVERSON, KE Una notazione di programmazione per alberi. Rapporto di ricerca R - 390, Centro di ricerca II3M (gennaio 1961). Questo è da qui: dl.acm.org/citation.cfm?id=366828 che potrebbe anche essere un buon riferimento.
KWillets,

@Raphael Ha letteralmente scritto il libro sull'informatica, no ...
corsiKa

6

Isaia: "" E uscirà una verga dallo stelo di Jesse e un Ramo crescerà dalle sue radici "

L'albero come modello di dati per le informazioni genealogiche è davvero molto antico.


2
"... in informatica ."
Raffaello

@Raphael Fair point, anche se si tratta probabilmente di una struttura di dati, che è tenuosamente informatica per un altro nome.
David Richerby,

3
Tendo alla visione di Dijkstra secondo cui l'informatica riguarda le strutture di dati e gli algoritmi e ha ben poco a che fare con i computer.
Michael Kay,

4

Ho trovato questo documento nel (BCS) Computer Journal per il 1960:

PF Windley: alberi, foreste e riordini.

Introduce il concetto di "alberi", "brevemente descritto da Douglas (1959)" [Sandy Douglas] "e attribuito a Berners-Lee" [Conway Berners-Lee, padre di Tim].

È interessante notare che i suoi alberi sono botanicamente più precisi dei moderni alberi CS, in quanto hanno la radice nella parte inferiore piuttosto che nella parte superiore!

http://comjnl.oxfordjournals.org/content/3/2/84.full.pdf+html?sid=a1c02733-1497-49e9-b308-a05c1dcca1df

Per coincidenza, l'ultima citazione nel documento è di un articolo che Windley è stato coautore di Tony Rowland Jones e "LF Kay", che è un errore di stampa per LR Kay, mio ​​padre, che ha continuato a gestire UCCA, il sistema centrale di ammissioni universitarie nel Regno Unito.

Una lettera di Conway BL al Computer Journal che commenta questo documento e una risposta di Windley, è suddivisa tra le pagine 174 e 184 del seguente numero:

http://comjnl.oxfordjournals.org/content/3/3/174.full.pdf+html http://comjnl.oxfordjournals.org/content/3/3/175.full.pdf+html


3

Il calcolo del Lambda risale agli anni '30. La sua grammatica è un'applicazione precoce di alberi, in particolare alberi di sintassi astratti. Ogni termine LC è un albero. Le variabili sono i nodi foglia. Sia i termini di astrazione che quelli di applicazione sono costituiti da altri termini, quindi sono nodi non foglia.

Non so quando i termini LC sono stati inizialmente pensati come alberi. Tuttavia, le prime prove che coinvolgono LC richiedevano l'analisi del caso, proprio come fanno i programmatori che scrivono programmi per camminare con AST.

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.