Skip to content

Una macchina di riduzione per il λ-calcolo con valutazione dei costi

L’obiettivo della tesi è quello di realizzare un valutatore per il lambda-calcolo e, implementare su di esso, un modello di costi per la beta -regola, in quanto essa non può essere considerata un’operazione primitiva. La macchina realizzata rappresenta un caso particolare della Macchina Universale per il LambdaDelta- calcolo proposta da Simona Ronchi della Rocca e Luca Paolini, poichè è possibile selezionare l’insieme dei valori di input e l’insieme dei valori di output da un sottoinsieme ristretto: in particolare, per i valori di input è possibile scegliere quelli che implementano la strategia di valutazione call-by- name e quelli che implementano la strategia di valutazione call-by-value, mentre per i valori output è possibile scegliere fra la forma normale e la forma normale di testa. Accanto ai valori di input e di output è possibile scegliere il tipo di valutazione Lazy o NotLazy. La macchina è stata implementata sulla base di un algoritmo proposto da Ugo Dal Lago e Simone Martini, i quali hanno realizzato una strategia di valutazione call-by-value Lazy; la novità proposta è stata quella di estendere tale algoritmo anche alle altre strategie di valutazione. Gli stessi Dal Lago e Martini hanno, inoltre, proposto un modello dei costi in termini di complessità temporale per la beta -regola e tale modello è stato implementato nella macchina realizzata. Oltre a tale misura è stato proposto un modello di costi in termini di spazio. L’applicativo realizzato può essere utile come strumento per lo studio della complessità computazionale implicita in un programma.

La tesi è stata strutturata in cinque capitoli:
Il primo capitolo introduce in labda-calcolo: dopo un’accenno alle note storiche, vengono definite la sintassi e le teorie principali di tale formalismo. Successivamente viene definito il LambdaDelta-calcolo, ponendo risalto al concetto di redesso. Il capitolo si conclude con un’introduzione alla notazione dei labda-termini basata sugli indici alla De Bruijn.
Il secondo capitolo è relativo alle macchine astratte: la prima macchina presentata é la Macchina Universale per il LabdaDelta-calcolo di cui vengono descritte nel dettaglio le regole. Successivamente vengono proposti due casi particolari di macchina universale: la SECD di Landin e la Macchina di Krivine. L’ultima parte del capitolo, infine, è dedicata alla Macchina di Turing e alla sua versione multinastro.
Il terzo capitolo descrive gli algoritmi e le strutture utilizzate per implementare un’istanza di Macchina Universale: la prima parte è dedicata alla descrizione dell’analisi dei costi; successivamente vengono descritte nel dettaglio le strutture utilizzate. Il capitolo si conclude con la descrizione dettagliata degli algoritmi e, per ciascuno di esso, viene fornito un esempio di esecuzione.
Il quarto capitolo tratta l’implementazione vera e propria degli algoritmi descritti nel terzo capitolo; in particolare, vengono descritti i moduli che compongono il progetto realizzato, ponendo risalto alle problematiche di gestione della stampa e dell’efficienza.
Il quinto capitolo, infine, descrive l’applicativo che realizza un’istanza della macchina proposta.

CONSULTA INTEGRALMENTE QUESTA TESI

La consultazione è esclusivamente in formato digitale .PDF

Acquista
Mostra/Nascondi contenuto.
Capitolo 1 Il λ-Calcolo 1.1 Note storiche Nella logica matematica e nell’informatica, il λ-calcolo ` e un sistema for- male realizzato per studiare la definizione di funzioni, la loro applicazione e la ricorsione. Esso fu inventato da Alonzo Church [1] nel 1930 e, successiva- mente, venne usato da Kleene [2] per codificare le funzioni calcolabili come un linguaggio di programmazione astratto (esattamente come la macchina di Turing pu` o essere considerata come il primo esempio di calcolatore astratto). Il λ-calcolo ha una sintassi piuttosto semplice (con appena tre regole per la costruzione dei termini) e una semantica operazionale non complicata (con una sola operazione, la sostituzione) e, per tali ragioni esso pu` o essere usato per studiare le propriet` a computazionali dei programmi. Il primo contatto tra il λ-calcolo e i linguaggi di programmazione reali avvenneintornoaglianni1956-1960,quandoMcCarthysvilupp` oillinguaggio di programmazione LISP, ispirato al λ-calcolo e che, di fatto, rappresenta il primoesempiodilinguaggiodiprogrammazionefunzionale[6].Tuttavial’uso del λ-calcolo come un paradigma astratto per i linguaggi di programmazione 11

CONSULTA INTEGRALMENTE QUESTA TESI

La consultazione è esclusivamente in formato digitale .PDF

Acquista
Il miglior software antiplagio

L'unico servizio antiplagio competitivo nel prezzo che garantisce l'aiuto della nostra redazione nel controllo dei risultati.
Analisi sicura e anonima al 100%!
Ottieni un Certificato Antiplagio dopo la valutazione.

Informazioni tesi

  Autore: Leonardo Simone
  Tipo: Laurea II ciclo (magistrale o specialistica)
  Anno: 2006-07
  Università: Università degli Studi di Torino
  Facoltà: Scienze Matematiche, Fisiche e Naturali
  Corso: Informatica
  Relatore: Simonetta Ronchi della Rocca
  Lingua: Italiano
  Num. pagine: 165

FAQ

Per consultare la tesi è necessario essere registrati e acquistare la consultazione integrale del file, al costo di 29,89€.
Il pagamento può essere effettuato tramite carta di credito/carta prepagata, PayPal, bonifico bancario.
Confermato il pagamento si potrà consultare i file esclusivamente in formato .PDF accedendo alla propria Home Personale. Si potrà quindi procedere a salvare o stampare il file.
Maggiori informazioni
Ingiustamente snobbata durante le ricerche bibliografiche, una tesi di laurea si rivela decisamente utile:
  • perché affronta un singolo argomento in modo sintetico e specifico come altri testi non fanno;
  • perché è un lavoro originale che si basa su una ricerca bibliografica accurata;
  • perché, a differenza di altri materiali che puoi reperire online, una tesi di laurea è stata verificata da un docente universitario e dalla commissione in sede d'esame. La nostra redazione inoltre controlla prima della pubblicazione la completezza dei materiali e, dal 2009, anche l'originalità della tesi attraverso il software antiplagio Compilatio.net.
  • L'utilizzo della consultazione integrale della tesi da parte dell'Utente che ne acquista il diritto è da considerarsi esclusivamente privato.
  • Nel caso in cui l’utente che consulta la tesi volesse citarne alcune parti, dovrà inserire correttamente la fonte, come si cita un qualsiasi altro testo di riferimento bibliografico.
  • L'Utente è l'unico ed esclusivo responsabile del materiale di cui acquista il diritto alla consultazione. Si impegna a non divulgare a mezzo stampa, editoria in genere, televisione, radio, Internet e/o qualsiasi altro mezzo divulgativo esistente o che venisse inventato, il contenuto della tesi che consulta o stralci della medesima. Verrà perseguito legalmente nel caso di riproduzione totale e/o parziale su qualsiasi mezzo e/o su qualsiasi supporto, nel caso di divulgazione nonché nel caso di ricavo economico derivante dallo sfruttamento del diritto acquisito.
L'obiettivo di Tesionline è quello di rendere accessibile a una platea il più possibile vasta il patrimonio di cultura e conoscenza contenuto nelle tesi.
Per raggiungerlo, è fondamentale superare la barriera rappresentata dalla lingua. Ecco perché cerchiamo persone disponibili ad effettuare la traduzione delle tesi pubblicate nel nostro sito.
Per tradurre questa tesi clicca qui »
Scopri come funziona »

DUBBI? Contattaci

Contatta la redazione a
[email protected]

Ci trovi su Skype (redazione_tesi)
dalle 9:00 alle 13:00

Oppure vieni a trovarci su

Parole chiave

alpha
beta
calcolo
costi computazionali
delta
lambda
regola
spazio
strategie di valutazione
tempo
valutatore

Tesi correlate


Non hai trovato quello che cercavi?


Abbiamo più di 45.000 Tesi di Laurea: cerca nel nostro database

Oppure consulta la sezione dedicata ad appunti universitari selezionati e pubblicati dalla nostra redazione

Ottimizza la tua ricerca:

  • individua con precisione le parole chiave specifiche della tua ricerca
  • elimina i termini non significativi (aggettivi, articoli, avverbi...)
  • se non hai risultati amplia la ricerca con termini via via più generici (ad esempio da "anziano oncologico" a "paziente oncologico")
  • utilizza la ricerca avanzata
  • utilizza gli operatori booleani (and, or, "")

Idee per la tesi?

Scopri le migliori tesi scelte da noi sugli argomenti recenti


Come si scrive una tesi di laurea?


A quale cattedra chiedere la tesi? Quale sarà il docente più disponibile? Quale l'argomento più interessante per me? ...e quale quello più interessante per il mondo del lavoro?

Scarica gratuitamente la nostra guida "Come si scrive una tesi di laurea" e iscriviti alla newsletter per ricevere consigli e materiale utile.


La tesi l'ho già scritta,
ora cosa ne faccio?


La tua tesi ti ha aiutato ad ottenere quel sudato titolo di studio, ma può darti molto di più: ti differenzia dai tuoi colleghi universitari, mostra i tuoi interessi ed è un lavoro di ricerca unico, che può essere utile anche ad altri.

Il nostro consiglio è di non sprecare tutto questo lavoro:

È ora di pubblicare la tesi