L'obiettivo del laboratorio è soddisfare la curiosità di tutti i geek e svelare loro i segreti della macchina più affascinante dell'universo. La macchina che ha rivoluzionato i meccanismi con cui l'informazione è processata dando vita a quella che oggi chiamiamo informatica e alla macchina delle meraviglie che chiamiamo computer. Il laboratorio non richiederà particolari conoscenze informatiche o matematiche e sarà accompagnato da esempi pratici e divertenti come la macchina di Turing realizzata interamente con mattoncini LEGO.
This document provides a one-month training plan consisting of bodyweight exercises and minimal equipment. The plan emphasizes developing work tolerance, movement skills, power-endurance, strength-endurance, and general endurance. It includes a schedule of daily full-body exercises such as squats, pushups, pullups, and running, with one rest day per week. Exercises are broken into rounds and sets with specified rest periods. The goal is to instill the habit of daily exercise and a strong work ethic rather than physical mastery. Beginners can modify exercises as needed.
Describes Fiber Optics using Optical Ray Theory.
For comments please contact me at solo.hermelin@gmail.com.
For more presentations visit my website at http://www.solohermelin.com.
The document discusses free space optic (FSO) communication systems. It introduces FSO concepts and components, including transmitters, receivers and the link equation. It describes how FSO can help solve the "last mile" connectivity problem and provides high bandwidth at a lower cost than other solutions. The document also covers signal propagation challenges, data security, system configurations, advantages of FSO and major players in the FSO industry.
La macchina più geek dell'universo: The Turing Machine | Laboratorio B-GeekAlumni Mathematica
Laboratorio: "La macchina più geek dell'universo: The Turing Machine"
Relatore: Pierpaolo Basile
Abstract: L'obiettivo del laboratorio è soddisfare la curiosità di tutti i geek e svelare loro i segreti della macchina più affascinante dell'universo. La macchina che ha rivoluzionato i meccanismi con cui l'informazione è processata dando vita a quella che oggi chiamiamo informatica e alla macchina delle meraviglie che chiamiamo computer. Il laboratorio non richiederà particolari conoscenze informatiche o matematiche e sarà accompagnato da esempi pratici e divertenti come la macchina di Turing realizzata interamente con mattoncini LEGO.
Se possibile si cercherà di organizzare anche una sezione interattiva in cui l'audience impersonerà le componenti della macchina di Turing, dando vita alla prima Turing Machine vivente!
27 Giugno 2015: B-Geek, la convention barese dedicata al panorama ludico-culturale moderno, che spazia dal classico gioco da tavolo al videogame, dal fumetto all’animazione, dal cosplay alla conoscenza dell’estremo oriente. Tutti questi aspetti sono esplorati nella manifestazione attraverso dimostrative di giochi e gare, workshop con esperti di settore, proiezioni e incontri con autori affermati.
The document summarizes key points about Turing machines and the halting problem:
1. Turing proved that the halting problem, determining if a program will halt, is undecidable. This means no algorithm can correctly solve it in all cases.
2. He introduced Turing machines as a model of computation to formally define the halting problem and prove its undecidability. A Turing machine has a finite state control, infinite tape, and follows transition rules.
3. The document outlines a proof by contradiction that there cannot exist a Turing machine that solves the halting problem for all Turing machines, by defining a paradoxical program.
1. Cosa e' il problem solving? Come funziona e come NON funziona.
2. Panoramica delle strategie (PSS, FARE, PDCA, DMAIC) e degli strumenti piu' comuni (Diagrammi di flusso, Analisi di Pareto, Diagramma causa-effetto, Brainstorming, 5w2h).
3. Un esempio concreto, guida al problem solving per developers.
This document provides a one-month training plan consisting of bodyweight exercises and minimal equipment. The plan emphasizes developing work tolerance, movement skills, power-endurance, strength-endurance, and general endurance. It includes a schedule of daily full-body exercises such as squats, pushups, pullups, and running, with one rest day per week. Exercises are broken into rounds and sets with specified rest periods. The goal is to instill the habit of daily exercise and a strong work ethic rather than physical mastery. Beginners can modify exercises as needed.
Describes Fiber Optics using Optical Ray Theory.
For comments please contact me at solo.hermelin@gmail.com.
For more presentations visit my website at http://www.solohermelin.com.
The document discusses free space optic (FSO) communication systems. It introduces FSO concepts and components, including transmitters, receivers and the link equation. It describes how FSO can help solve the "last mile" connectivity problem and provides high bandwidth at a lower cost than other solutions. The document also covers signal propagation challenges, data security, system configurations, advantages of FSO and major players in the FSO industry.
La macchina più geek dell'universo: The Turing Machine | Laboratorio B-GeekAlumni Mathematica
Laboratorio: "La macchina più geek dell'universo: The Turing Machine"
Relatore: Pierpaolo Basile
Abstract: L'obiettivo del laboratorio è soddisfare la curiosità di tutti i geek e svelare loro i segreti della macchina più affascinante dell'universo. La macchina che ha rivoluzionato i meccanismi con cui l'informazione è processata dando vita a quella che oggi chiamiamo informatica e alla macchina delle meraviglie che chiamiamo computer. Il laboratorio non richiederà particolari conoscenze informatiche o matematiche e sarà accompagnato da esempi pratici e divertenti come la macchina di Turing realizzata interamente con mattoncini LEGO.
Se possibile si cercherà di organizzare anche una sezione interattiva in cui l'audience impersonerà le componenti della macchina di Turing, dando vita alla prima Turing Machine vivente!
27 Giugno 2015: B-Geek, la convention barese dedicata al panorama ludico-culturale moderno, che spazia dal classico gioco da tavolo al videogame, dal fumetto all’animazione, dal cosplay alla conoscenza dell’estremo oriente. Tutti questi aspetti sono esplorati nella manifestazione attraverso dimostrative di giochi e gare, workshop con esperti di settore, proiezioni e incontri con autori affermati.
The document summarizes key points about Turing machines and the halting problem:
1. Turing proved that the halting problem, determining if a program will halt, is undecidable. This means no algorithm can correctly solve it in all cases.
2. He introduced Turing machines as a model of computation to formally define the halting problem and prove its undecidability. A Turing machine has a finite state control, infinite tape, and follows transition rules.
3. The document outlines a proof by contradiction that there cannot exist a Turing machine that solves the halting problem for all Turing machines, by defining a paradoxical program.
1. Cosa e' il problem solving? Come funziona e come NON funziona.
2. Panoramica delle strategie (PSS, FARE, PDCA, DMAIC) e degli strumenti piu' comuni (Diagrammi di flusso, Analisi di Pareto, Diagramma causa-effetto, Brainstorming, 5w2h).
3. Un esempio concreto, guida al problem solving per developers.
Un Metodo Nuovo e Semplice per Generare Numeri PseudocasualiDH Pereira
Itamaracá o semplicemente "Ita" è una nuova, semplice e veloce base matematica del PRNG che produce una sequenza "infinita" e non periodica di numeri con una distribuzione uniforme nell'intervallo [0,1].
In questo lavoro, attraverso il modello proposto da -Itamaracá-, tenendo conto della funzione valore assoluto |x|, vediamo che ∀ N numeri ∈ ℕ ≠ 0 hanno il loro valore massimo quando si sottrae la moltiplicazione tra ∀ S Cioè, attraverso una scelta arbitraria della costante λ (tenendo conto della frazione) per valori "seme" di N ∈ ℕ ≥ 0 ⊂ 0, si ottiene una sequenza di numeri casuali Xn con periodo "finito" il cui valore massimo è determinato dalla dimensione di N, tenendo conto della distribuzione uniforme [a, b]. Nel corso dello studio, l'algoritmo ha dimostrato di possedere buone proprietà statistiche in termini di uniformità e criteri di indipendenza. In questo senso, grazie alle sue proprietà uniche, ci si aspetta che venga utilizzato per tutte le attività in cui è richiesta un'elevata velocità nella generazione di sequenze casuali.
Questi sono i miei appunti di informatica sviluppati durante i lockdown. Di fatto costituiscono il libro di testo dei miei corsi. La grafica è ispirata a D&D 5e nella speranza di accattivarmi l'interesse dei ragazzi.
Questa parte è adatta ai ragazzi di 1-2° liceo SSA e di 2°-3° ITIS (in particolare ad indirizzo informatico)
Diachronic analysis of entities by exploiting wikipedia page revisionsPierpaolo Basile
In the last few years, the increasing availability of large corpora spanning several time periods has opened new opportunities for the diachronic analysis of language.
This type of analysis can bring to the light not only linguistic phenomena related to the shift of word meanings over time, but it can also be used to study the impact that societal and cultural trends have on this language change.
This paper introduces a new resource for performing the diachronic analysis of named entities built upon Wikipedia page revisions.
This resource enables the analysis over time of changes in the relations between entities (concepts), surface forms (words), and the contexts surrounding entities and surface forms, by analysing the whole history of Wikipedia internal links.
We provide some useful use cases that prove the impact of this resource on diachronic studies and delineate some possible future usage.
Come l'industria tecnologica ha cancellato le donne dalla storiaPierpaolo Basile
Oggi durante l'evento "STEM - Open day / Open mind" presso il Colla coworking ho parlato di come l'industria tecnologica ha cancellato le donne dalla storia. Dalla seconda guerra mondiale alla metà degli anni sessanta, le donne specializzate nell'industria informatica superavano gli uomini. Le donne, durante la guerra, gestivano calcolatori, si occupavano della logistica dell'esercito ed eseguivano calcoli balistici. Dopo la fine della guerra, si occupavano della raccolta dei dati e del funzionamento di calcolatori di numerose istituzioni.
Le cose cambiarono negli anni settanta, quando le istituzioni e l'industria si resero conto dell'importanza dei computer. Da questo punto in poi le donne sono state estromesse a vantaggio di uomini pagati meglio e con ruoli di maggior prestigio.
La storia dimostra, nel caso ci fossero ancora dubbi, che le donne hanno le stesse capacità degli uomini nelle discipline STEM e che il condiziomento sociale ha allontanato le donne dalle discipline scientifiche e tecnologiche.
More Related Content
Similar to La macchina più geek dell’universo The Turing Machine
Un Metodo Nuovo e Semplice per Generare Numeri PseudocasualiDH Pereira
Itamaracá o semplicemente "Ita" è una nuova, semplice e veloce base matematica del PRNG che produce una sequenza "infinita" e non periodica di numeri con una distribuzione uniforme nell'intervallo [0,1].
In questo lavoro, attraverso il modello proposto da -Itamaracá-, tenendo conto della funzione valore assoluto |x|, vediamo che ∀ N numeri ∈ ℕ ≠ 0 hanno il loro valore massimo quando si sottrae la moltiplicazione tra ∀ S Cioè, attraverso una scelta arbitraria della costante λ (tenendo conto della frazione) per valori "seme" di N ∈ ℕ ≥ 0 ⊂ 0, si ottiene una sequenza di numeri casuali Xn con periodo "finito" il cui valore massimo è determinato dalla dimensione di N, tenendo conto della distribuzione uniforme [a, b]. Nel corso dello studio, l'algoritmo ha dimostrato di possedere buone proprietà statistiche in termini di uniformità e criteri di indipendenza. In questo senso, grazie alle sue proprietà uniche, ci si aspetta che venga utilizzato per tutte le attività in cui è richiesta un'elevata velocità nella generazione di sequenze casuali.
Questi sono i miei appunti di informatica sviluppati durante i lockdown. Di fatto costituiscono il libro di testo dei miei corsi. La grafica è ispirata a D&D 5e nella speranza di accattivarmi l'interesse dei ragazzi.
Questa parte è adatta ai ragazzi di 1-2° liceo SSA e di 2°-3° ITIS (in particolare ad indirizzo informatico)
Similar to La macchina più geek dell’universo The Turing Machine (20)
Diachronic analysis of entities by exploiting wikipedia page revisionsPierpaolo Basile
In the last few years, the increasing availability of large corpora spanning several time periods has opened new opportunities for the diachronic analysis of language.
This type of analysis can bring to the light not only linguistic phenomena related to the shift of word meanings over time, but it can also be used to study the impact that societal and cultural trends have on this language change.
This paper introduces a new resource for performing the diachronic analysis of named entities built upon Wikipedia page revisions.
This resource enables the analysis over time of changes in the relations between entities (concepts), surface forms (words), and the contexts surrounding entities and surface forms, by analysing the whole history of Wikipedia internal links.
We provide some useful use cases that prove the impact of this resource on diachronic studies and delineate some possible future usage.
Come l'industria tecnologica ha cancellato le donne dalla storiaPierpaolo Basile
Oggi durante l'evento "STEM - Open day / Open mind" presso il Colla coworking ho parlato di come l'industria tecnologica ha cancellato le donne dalla storia. Dalla seconda guerra mondiale alla metà degli anni sessanta, le donne specializzate nell'industria informatica superavano gli uomini. Le donne, durante la guerra, gestivano calcolatori, si occupavano della logistica dell'esercito ed eseguivano calcoli balistici. Dopo la fine della guerra, si occupavano della raccolta dei dati e del funzionamento di calcolatori di numerose istituzioni.
Le cose cambiarono negli anni settanta, quando le istituzioni e l'industria si resero conto dell'importanza dei computer. Da questo punto in poi le donne sono state estromesse a vantaggio di uomini pagati meglio e con ruoli di maggior prestigio.
La storia dimostra, nel caso ci fossero ancora dubbi, che le donne hanno le stesse capacità degli uomini nelle discipline STEM e che il condiziomento sociale ha allontanato le donne dalle discipline scientifiche e tecnologiche.
This paper describes the first edition of the “Solving language games” (NLP4FUN) task at the EVALITA 2018 campaign. The task consists in designing an artificial player for “The Guillotine” (La Ghigliottina, in Italian), a challenging language game which demands knowledge covering a broad range of topics. The game consists in finding a word which is semantically correlated with a set of 5 words called clues. Artificial players for that game can take advantage from the availability of open repositories
on the web, such as Wikipedia, that provide the system with the cultural and linguistic background needed to find the solution.
Buon appetito! Analyzing Happiness in Italian TweetsPierpaolo Basile
We report the results of an exploratory study aimed at investigating the language of happiness in Italian tweets.
Specifically, we conduct a time-wise analysis of the happiness load of tweets by leveraging a lexicon of happiness extracted from 8.6M tweets. Furthermore, we report the results of a statistical linguistic analysis aimed at extracting the
most frequent concepts associated with the
happy and sad words in our lexicon
Detecting semantic shift in large corpora by exploiting temporal random indexingPierpaolo Basile
During the last decade, the surge in available data spanning different epochs has inspired a new analysis of cultural, social, and linguistic phenomena from a temporal perspective.
In this talk, I will describe Temporal Random Indexing (TRI) a method that enables the analysis of the time evolution of the meaning of a word by exploiting large corpora.
TRI is able to build WordSpaces that take into account temporal information. This methodology is exploited for building time series that trace how a word changes its meaning over time. I will report some experiments on the Italian language, and I will show the preliminary results obtained during my visiting at the Turing Institute by analysing the UK internet archive corpus.
Bi-directional LSTM-CNNs-CRF for Italian Sequence LabelingPierpaolo Basile
We propose a Deep Learning architecture for sequence labeling based on a state of the art model that exploits both word- and character-level representations through the combination of bidirectional LSTM, CNN and CRF. We evaluate the proposed method on three Natural Language Processing tasks for Italian: PoS-tagging of tweets, Named Entity Recognition and Super-Sense Tagging. Results show that the system is able to achieve state of the art performance in all the tasks and in some cases overcomes the best systems previously developed for the Italian.
Pierpaolo Basile is the CTO of QuestionCube, an artificial intelligence company that provides question answering and natural language processing technologies. QuestionCube's products include Respondo for question answering over FAQs and analytics dashboards, and Dokumenton for question answering over large documents using AI to learn user preferences. The company was founded in 2012 and has grown from an early startup winner to providing an upcoming cloud platform to power their question answering technologies for both Respondo and Dokumenton.
Diachronic Analysis of the Italian Language exploiting Google NgramPierpaolo Basile
In this paper, we propose several methods for the diachronic analysis of the Italian language.
We build several models by exploiting Temporal Random Indexing and the Google Ngram dataset for the Italian language.
Each proposed method is evaluated on the ability to automatically identify meaning shift over time.
To this end, we introduce a new dataset built by looking at the etymological information reported in some dictionaries.
I dati sono ovunque e oltre l'80% dell'informazione in rete è presente in forma non strutturata. Una fonte di conoscenza di inestimabile valore che potrebbe essere resa fruibile in formato aperto.
UNIBA: Exploiting a Distributional Semantic Model for Disambiguating and Link...Pierpaolo Basile
This presentation describes the participation of the UNIBA team
in the Named Entity rEcognition and Linking (NEEL) Chal-
lenge. We propose a knowledge-based algorithm able to
recognize and link named entities in English tweets. The
approach combines the simple Lesk algorithm with informa-
tion coming from both a distributional semantic model and
usage frequency of Wikipedia concepts. The algorithm per-
forms poorly in the entity recognition, while it achieves good
results in the disambiguation step.
Building WordSpaces via Random Indexing from simple to complex spacesPierpaolo Basile
This presentation describes two approaches to compositional semantics in distributional semantic spaces.
Both approaches conceive the semantics of complex structures, such as phrases or sentences, as being other than
the sum of its terms.
Syntax is the plus used as a glue to compose words.
The former kind of approach encodes information about syntactic dependencies directly into distributional spaces, the latter exploits compositional operators reflecting the syntactic role of words.
Analysing Word Meaning over Time by Exploiting Temporal Random IndexingPierpaolo Basile
This work proposes an approach to the construction of WordSpaces which takes into account temporal information. The proposed method is able to build a geometrical space considering several periods of time. This methodology enables the analysis of the time evolution of the meaning of a word. Exploiting this approach, we build a framework, called Temporal Random Indexing (TRI) that provides all the necessary tools for building WordSpaces and performing such linguistic analysis. We propose some examples of usage of our tool by analysing word meanings in two corpora: a collection of Italian books and English scientific papers about computational linguistics.
http://clic.humnet.unipi.it/proceedings/Proceedings-CLICit-2014.pdf
COLING 2014 - An Enhanced Lesk Word Sense Disambiguation Algorithm through a ...Pierpaolo Basile
The document presents an enhanced Lesk word sense disambiguation algorithm that incorporates a distributional semantic model. The traditional Lesk algorithm has issues like short gloss definitions and string-based context matching. The new approach addresses these by expanding glosses using related meanings, calculating similarity in a word embedding space, and incorporating knowledge of sense distributions from annotated data. It represents word meanings and contexts as vectors in the space, computes overlap as cosine similarity, and combines this with prior sense probabilities.
A Study on Compositional Semantics of Words in Distributional SpacesPierpaolo Basile
This paper proposes two approaches to compositional
semantics in distributional semantic spaces. Both approaches
conceive the semantics of complex structures, such
as phrases or sentences, as being other than the sum of its
terms. Syntax is the plus used as a glue to compose words. The
former kind of approach encodes information about syntactic
dependencies directly into distributional spaces, the latter exploits
compositional operators reflecting the syntactic role of words.
We present a preliminary evaluation performed on GEMS
2011 “Compositional Semantics” dataset, with the aim of understanding
the effects of these approaches when applied to
simple word pairs of the kind Noun-Noun, Adjective-Noun and
Verb-Noun. Experimental results corroborate our conjecture that
exploiting syntax can lead to improved distributional models and
compositional operators, and suggest new openings for future
uses in real-application scenario.
Exploiting Distributional Semantic Models in Question AnsweringPierpaolo Basile
This paper investigates the role of Distributional
Semantic Models (DSMs) in Question Answering (QA), and
specifically in a QA system called QuestionCube. QuestionCube is
a framework for QA that combines several techniques to retrieve
passages containing the exact answers for natural language questions.
It exploits Information Retrieval models to seek candidate
answers and Natural Language Processing algorithms for the
analysis of questions and candidate answers both in English and
Italian. The data source for the answer is an unstructured text
document collection stored in search indices.
In this paper we propose to exploit DSMs in the QuestionCube
framework. In DSMs words are represented as mathematical
points in a geometric space, also known as semantic space. Words
are similar if they are close in that space. Our idea is that
DSMs approaches can help to compute relatedness between users’
questions and candidate answers by exploiting paradigmatic
relations between words. Results of an experimental evaluation
carried out on CLEF2010 QA dataset, prove the effectiveness of
the proposed approach.
1) The document discusses super sense tagging using distributional features from a WordSpace, which represents words as vectors in a geometric space based on their contexts. 2) Two WordSpaces were created using different contexts - Wikipedia pages and categories. 3) The method used SVM classification with lexical, part-of-speech, and distributional features from the WordSpaces. 4) Evaluation showed the distributional features improved recall over the baseline, demonstrating they help address data sparseness in super sense tagging.
OTTHO (On the Tip of my THOught) is an information seeking system designed for solving a language game which demands knowledge covering a broad range of topics, such as movies, politics, literature, history, proverbs, and popular culture. OTTHO implements a knowledge infusion process in order to provide a background knowledge which allows a deeper understanding of the items it deals with. The knowledge infusion process consists of two steps: 1) extracting and modeling relationships between words extracted from several knowledge sources; 2) reasoning on the induced models in order to generate new knowledge. OTTHO extracts knowledge from several sources, such as a dictionary, news, Wikipedia, and various unstructured repositories and creates a memory of linguistic knowledge and world facts. Starting from some external stimuli (e.g. words) depending on the task to be accomplished, the reasoning mechanism allows retrieving some specific pieces of knowledge from the memory created in the previous step. OTTHO has a great potential for more practical applications besides solving a language game. It could be used for implementing an alternative paradigm for associative information retrieval, for computational advertising and recommender systems.
Word Sense Disambiguation and Intelligent Information AccessPierpaolo Basile
The document outlines Pierpaolo Basile's work on word sense disambiguation and intelligent information access. It introduces key concepts like word sense disambiguation, outlines Basile's JIGSAW algorithm for WSD that uses WordNet senses and different strategies for part of speech tags, and discusses applications of WSD in areas like information retrieval, question answering and knowledge acquisition to enhance intelligent information access.
Word Sense Disambiguation and Intelligent Information Access
La macchina più geek dell’universo The Turing Machine
1. La macchina più geek
dell’universo
The Turing Machine
Pierpaolo Basile
2. Macchina di Turing
• Modello astratto di
calcolo introdotto nel
1936 da Alan Turing
• Fornire una definizione
matematica/formale
del concetto di
algoritmo
• Risolvere il problema di
decisione
3. Algoritmo
«Procedimento di risoluzione dei problemi
per passi successivi, in particolare un
procedimento computazionale ricorsivo
determinato per risolvere un problema in
un numero finito di passi»
American Heritage Dictionary
4. Problema di decisione
«Esiste un «processo
meccanico» in grado di
stabilire se per un dato
problema esiste un
algoritmo risolvibile in
un numero finito di
passi?»
7. Problema di decisione
• Costruiamo un algoritmo H che prende in input un
altro algoritmo P
• H si comporta nel seguente modo:
vero se P termina
falso se P NON termina
H restituisce
8. Problema di decisione
• Costruiamo un altro algoritmo K che utilizzando H
decide se P termina
stampa loop se H(P)=falso
va in loop se H(P)=vero
K restituisce
K si comporta in maniera opposta al suo input P!
9. Problema di decisione
• Supponiamo di dare in input a K lo stesso K
stampa loop se K NON
termina
va in loop se K termina
K(K) restituisce
Assurdo
• K(K) si ferma quando K va in loop
• K(K) va in loop quando K si ferma
H non può esistere
11. MdT: il nastro
• Nastro potenzialmente infinito diviso in celle
(memoria)
• ogni cella contiene un simbolo preso da un
alfabeto finito
12. MdT: la testina…
• Testina di lettura/scrittura
• può leggere/scrivere in una cella per volta
13. MdT: …la testina…
• Testina di lettura/scrittura
• può leggere/scrivere in una cella per volta
• può spostarsi a destra o a sinistra di una cella
per volta
14. MdT: …la testina
• Testina di lettura/scrittura
• può leggere/scrivere in una cella per volta
• può spostarsi a destra o a sinistra di una cella
per volta
15. MdT: l’unità di controllo
• Unità di controllo
• decodifica ed esegue comandi rivolti alla testina
(controlla la testina)
Unità di
Controllo
16. MdT: lo stato
• La macchina può trovarsi in un numero finito di
stati
• La macchina può cambiare stato in seguito ad una
lettura di un simbolo dal nastro
• Chiameremo configurazione la coppia:
<simbolo visibile alla testina, stato
corrente>
• Esiste uno stato «speciale» HALT che indica la fine
dell’algoritmo
17. Macchine di Turing (MdT)
L’unità di controllo esegue un algoritmo A sui dati
memorizzati sul nastro
Le istruzioni di A sono del tipo:
< simbolo_letto,
stato_corrente,
simbolo_da_scrivere,
sinistra/destra/ferma,
nuovo_stato >
configurazione
18. Algoritmi per MdT: il nastro
• Definire un’opportuna configurazione iniziale del
nastro
• Codificare i dati
• Es.: nastro iniziale per problema della sottrazione tra
interi
4 – 2
operandi codificati con ‘I’ e separati da *
blank=^
^ I I I I * I I ^ ^
Configurazione iniziale
19. Algoritmi per MdT: il nastro
• Definire un’opportuna configurazione finale del
nastro che rappresenti la soluzione
^ ^ ^ I I ^ ^ ^ ^ ^
Configurazione finale
20. Algoritmi per MdT: il controllo
• Definire le azioni (algoritmo) dell’unità di controllo
• In pratica l’algoritmo per una MdT è una sequenza
di quintuple del tipo:
< simbolo_letto, stato_corrente, simbolo_da_scrivere,
sinistra/destra/ferma, nuovo_stato >
Es.
<|, S1, ^, D, S2 > : se leggi | e sei nello stato S1 allora
scrivi ^, sposta a destra la testina e vai nello stato S2
21. MdT: sottrazione tra interi
• Progettiamo un algoritmo per eseguire la
sottrazione tra due numeri interi n e m, n≥0, m≥0
• Per semplicità assumiamo che n≥m
• La testina è posizionata sulla prima cella vuota a destra
dell’ultimo simbolo del sottraendo
• Il modello di calcolo ci "obbliga" a pensare l’algoritmo in
base alle operazioni possibili
S0
Configurazione iniziale
22. MdT: sottrazione tra interi
• Progettiamo un algoritmo per eseguire la
sottrazione tra due numeri interi n e m, n≥0, m≥0
• Per semplicità assumiamo che n≥m
• La testina è posizionata sulla prima cella vuota a destra
dell’ultimo simbolo del sottraendo
• Il modello di calcolo ci "obbliga" a pensare l’algoritmo in
base alle operazioni possibili
S0
Configurazione iniziale
Cancellare ugual numero di
simboli da n e da m in
modo che sul nastro resti
solo il risultato finale
23. MdT: algoritmo per la sottrazione
1. Diminuisci di una unità m
• ricorda di aver cancellato un simbolo da m
2. Spostati a Sx in cerca del primo simbolo di n
3. Cancellalo
• Ricorda che ora entrambi gli operandi sono stati
diminuiti di una unità
4. Spostati a Dx in cerca dell’ultimo simbolo di m
• Se non ci sono più simboli da cancellare da m allora
cancella il separatore HALT
• In caso contrario torna al punto 1
24. La MdT per la sottrazione…
• Alfabeto = {I, *, ^}
• Stati = {S0, S1, S2, S3, HALT}
• S0 ≡ stato iniziale della computazione ovvero
ricerca ultimo simbolo di m
• S1 ≡ diminuito m
• S2 ≡ raggiunto simbolo iniziale di n
• S3 ≡ diminuiti entrambi operandi
25. …la MdT per la sottrazione
<^,S0,^,Sx,S0>
<|,S0,^,Sx,S1>
<*,S0,^,F,HALT>
<^,S1,^,Dx,S2>
<|,S1,|,Sx,S1>
<*,S1,*,Sx,S1>
<|,S2,^,Dx,S3>
<^,S3,^,Sx,S0>
<|,S3,|,Dx,S3>
<*,S3,*,Dx,S3>
41. Computazione 3-1
HALT
^ ^ ^ | | ^ ^ ^ ^ ^
trovare un * nello stato iniziale
della computazione è segno del
fatto che non ci sono più simboli
da processare in m
S0 S1 S2 S3
^ ^SxS0 ^DxS2 ^SxS0
| ^SxS1 |SxS1 ^DxS3 |DxS3
* ^F HALT *SxS1 *DxS3
42. Have Fun with MdT
1. Stabilire se un numero rappresentato con ‘|’ è pari oppure
dispari
2. Stabilire se una stringa binaria è palindroma (ovvero si legge
indifferentemente da Sx a Dx, es.: 010010)
44. Esercizio 1
• Stabilire se un numero rappresentato con ‘|’ è pari
oppure dispari
S0
^ ^ ^ | | | | ^ ^ ^
Configurazione iniziale
^ ^ ^ ^ ^ ^ ^ P ^ ^
Configurazione finale
45. Esercizio 1
• Cancellare i simboli dal nastro e memorizzare in
uno stato la situazione di parità/disparità
• q0 ≡ stato iniziale della computazione ovvero PARI
• q1 ≡ DISPARI
S0 S1
^ P F HALT D F HALT
| ^ Dx S1 ^ Dx S0
46. Esercizio 2
• Stabilire se una stringa binaria è palindroma
(ovvero si legge indifferentemente da Sx a Dx, es.:
010010)
S0
^ ^ ^ 0 1 1 0 ^ ^ ^
Configurazione iniziale
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
Configurazione finale
47. Esercizio 2
• Stabilire se una stringa binaria è palindroma
(ovvero si legge indifferentemente da Sx a Dx, es.:
010010)
S0
^ ^ ^ 0 1 0 0 ^ ^ ^
Configurazione iniziale
^ ^ ^ ^ 1 ^ ^ ^ ^ ^
Configurazione finale
48. Esercizio 2
S0 S1 S2 S3 S4 S5
0 0 S0 Dx ^ S2 Sx 0 S2 Sx 0 S3 Sx ^ S0 Dx 0 F Halt
1 1 S0 Dx ^ S3 Sx 1 S2 Sx 1 S3 Sx 1 F Halt ^ S0 Dx
^ ^ S1 Sx ^ S5 Dx ^ S4 Dx ^ S5 Dx ^ F Halt ^ F Halt
S1: leggo il primo simbolo a sinistra
S2: ho letto 0 e mi sposto tutto a sinistra
S3: ho letto 1 e mi sposto tutto a sinistra
S4: verifica che l’ultimo simbolo a sinistra sia 0
S5: verifica che l’ultimo simbolo a sinistra sia 1
S0: mi riporto a destra della stringa se leggo 0 o 1, altrimenti prova
a leggere il primo simbolo a sinistra
49. Tesi di Church-Turing
• La classe delle funzioni calcolabili coincide con la
classe delle funzioni calcolabili da una MdT
• ogni funzione calcolabile è calcolata da una MdT
• non esiste alcun formalismo capace di risolvere una
classe di problemi più ampia di quella che si può
risolvere con MdT
• Le funzioni calcolabili con C o Java sono di più di
quelle calcolabili con MdT?
50. Tesi di Church-Turing
• La classe delle funzioni calcolabili coincide con la
classe delle funzioni calcolabili da una MdT
• ogni funzione calcolabile è calcolata da una MdT
• non esiste alcun formalismo capace di risolvere una
classe di problemi più ampia di quella che si può
risolvere con MdT
• Le funzioni calcolabili con C o Java sono di più di
quelle calcolabili con MdT?
NO
51. MdT vs. CPU
• MdT
1. Legge / scrive su
nastro
2. Transita in un nuovo
stato
3. Si sosta sul nastro di
cella in cella
4. Esegue un programma
specifico CABLATO
nella macchina è
specifica per un certo
problema
• CPU
1. lettura / scrittura da /
su memoria RAM o
ROM
2. nuova configurazione
dei registri della CPU
3. scelta della cella di
memoria su cui
operare
4. È generale, nel senso
che può eseguire
programmi diversi
52. La MdT Universale (MdTU)
• Legge dal nastro DATI e PROGRAMMA
• Il programma non è più cablato nell’unità di controllo
• Codificato sul nastro come i dati
• In pratica sono rappresentate sul nastro anche le 5-ple
che definiscono l’algoritmo solutivo
• E’ una macchina programmabile
• prende le 5-ple (istruzioni) dal nastro FETCH
• le decodifica DECODE
• le esegue scrivendo sul nastro EXECUTE
• E’ un computer programmabile!
53. MdTU vs. Macchina Von Neumann
MdTU
(controllo)
Nastro
MdTU è un modello della macchina di Von Neumann
ovvero un modello degli attuali calcolatori!
(manca solo la parte di I/O)
processore
memoria
interna
memoria
esterna
interfaccia
periferiche
54. La MdT di LEGO
• Realizzata interamente con mattoncini Lego
utilizzando il LEGO MINDSTORMS NXT set
http://www.legoturingmachine.org/
58. MdT: il modello matematico
Una MdT è definita da una quintupla
M = (X, Q, fm, fd, )
X = insieme finito di simboli
comprende il blank ovvero cella vuota
Q = insieme finito di stati
comprende HALT che definisce la terminazione
59. MdT: il modello matematico
Una MdT è definita da una quintupla:
M = (X, Q, fm, fd, )
Funzione di direzione
Determina lo spostamento della testina
S=sinistra, D=destra, F=ferma
},,{: FDSXQfd
XXQfm :Funzione di macchina
Determina il simbolo da scrivere sul nastro
Funzione di transizione di stato
Definisce lo stato successivo della computazione
QXQ :