Testo, Tessuto e Calcolatori “It is known as a fact that the Jacquard loom is capable of weaving any design which the imagination of man may conceive. It is also the constant practice for skilled artists to be employed by manufacturers in designing patterns. These patterns are then sent to a peculiar artist, who, by means of a certain machine, punches holes in a set of pasteboard cards in such a manner that when those cards are placed in a Jacquard loom, it will then weave upon its produce the exact pattern designed by the artist. … “ (C. Babbage, 1864) Tessere formule algebriche Now the manufacturer may use, for the warp and weft of his work, threads which are all of the same colour; let us suppose them to be unbleached or white threads. In this case the cloth will be woven all of one colour; but there will be a damask pattern upon it such as the artist designed. But the manufacturer might use the same cards, and put into the warp threads of any other colour. Every thread might even be of a different colour, or of a different shade of colour; but in all these cases the form of the pattern will be precisely the same--the colours only will differ. Il telaio Jacquard Tessere formule algebriche The analogy of the Analytical Engine with this well-known process is nearly perfect. The Analytical Engine consists of two parts:-1. The store in which all the variables to be operated upon, as well as all those quantities which have arisen from the result of other operations, are placed. 2. The mill into which the quantities about to be operated upon are always brought. (…) Every formula which the Analytical Engine can be required to compute consists of certain algebraical operations to be performed upon given letters, and of certain other modifications depending on the numerical value assigned to those letters. (…) The Analytical Engine is therefore a machine of the most general nature. Whatever formula it is required to develop, the law of its development must be communicated to it by two sets of cards. When these have been placed, the engine is special for that particular formula. La Macchina Analitica The Difference Engine La Macchina Analitica (2) L’architettura di Von Neumann ALU Control Unit Input Output Programma Dati La Memoria Unita’ atomica, bit Cella (o Parola) Valori Indirizzi 0 1 1 Cella 2 512 N-1 . . . 3 Organizzazione dei Dati Ogni informazione per poter essere elaborata necessita di una esplicita rappresentazione in memoria Tipi di dati Numerici Testuali Ibridi Multimediali Avanzati (e.g. MP3) Diverse tipologie richiedono organizzazioni e strutture diverse Dati in un DBMS (record) Dati in un DBMS (record) (2) Dati in un DBMS (pagine) Dati in un DBMS (pagine) (2) Strutture dei dati Tipi dati primitivi (es. interi, date, …) Record (es. <nome-cognome-CF-Media>) Array di records - File di records Oggetti e classi Oggetti - TDA record set record TDP Grafi Il problema del commesso viaggiatore … I ponti di Konigsberg Soluzione di Eulero "Solutio problematis ad geometriam situs pertinentis" (1736) Equivalenza e Generalizzazione Es. frazioni: 1/2, 2/4, 6/12 3/5, 15/25, 30/50 Molti dati (puntuali) esprimono una informazione equivalente Relazione di Equivalenza () (riflessivita’) A A (simmetria) A B B A (antisimmetria)AB not (BA) (transitivita’) A B e B C A C 1/2 3/5 Equivalenza e Generalizzazione Tipi di Equivalenze (vs. proprietà) Es. sostituibilita’ nelle lingue, categorie grammaticali, e.g. nomi/verbi/aggettivi Genere e numero (nomi) Isotopie Fonetiche (…. perche’, … fuorche’) Fonetiche e semantiche ( … onde, tacque, donde, acque) Le proprietà distinguono oggetti nelle stesse classi N m V f A Stessa categoria Sint. Stesso genere Equivalenza e Generalizzazione Classi di equivalenza diverse non possono essere confrontate Isotopie di natura diversa Il genere vs. la forma verbale Classi di equivalenza in livelli diversi danno luogo ad ordinamenti parziali Es. tutti le parole x che sono “f” sono nomi N, x f(x) N(x) f N Relazioni di ordine parziale A={1,2,3} 2A = {, {1},{2},{3},{1,2},…,{1,2,3} } 2A , {1,2,3} {1,2} {1,3} {2,3} {2} {1} {3} Ereditarietà La nozione di sottoclasse stabilisce una relazione d’ordine parziale tra gli insiemi, cioe’ le classi, che implica un meccanismo di ereditarieta’ tra gli individui che appartengono a tali s.i. P N m V f A Stessa categoria Sint. Stesso genere Ogni x in f eredita anche tutte le proprieta’ di N, Ogni N,V ed A possiede tutte le caratteristiche delle P Semantica della Elaborazione dei Dati Una struttura di dati anche molto complessa fornisce sempre una precisa semantica definita da Proprietà intrinseche (per es. numero di figli per ogni nodo della gerarchia) Insieme di operazioni legali su tale struttura (per es. propagazione della ereditarietà) Una struttura di dati implicitamente determina la sua interpretazione (cioè le caratteristiche richieste al suo interprete) Verso l’IA: Logica ed Inferenza Le strutture in cui sono organizzati dati piu’ i meccanismi di navigazione ed elaborazione che essi rendono disponibile forniscono strumenti di ragionamento automatico: Inferenza logica Ereditarietà (subsumption) Analogia Similarita’ Abduzione Reti semantiche Applicazioni (4): TAL Grammatiche Disambiguazione Ontologie Persona Femmina figli (1,0) Donna Genitore Madre Donna Persona Femmina figli(ANNA,JACOPO) Navigando tessuti elettronici … Reti Neuronali e Memorie Associative Memorie Associative Modelli Markoviani di fenomeni testuali Diagramma degli stati e Trellis Lattice (1) Applicazioni nel TAL POS tagging Approccio Markoviano Stati POS tag pi (i time stamps) Transizioni pi pi+1 Emissione simbolo: zi+1 Conclusioni (?) Il calcolo sin presenta si dalle origini come “tessitura” cioè intreccio tra operazioni e dati, rappresentati in modo equivalente in trame, funzionale ad uno obbiettivo specifico Le strutture dei dati in informatica rappresentano informazioni di crescente complessità e si adattano alle realta’ (significati) che intendono modellare ma … forniscono una semantica univoca ai processi di calcolo fino ad includerne alcune caratteristiche Conclusioni (2) In modo ricorsivo le organizzazioni dei dati complesse consentono il trattamento dei fenomeni testuali complessi … Ribaltamento dei ruoli tra le organizzazioni dei dati (testi come strutture gerarchiche) e le operazioni su di essi (es. disambiguazione come navigazione nei modelli “testuali” di ragionamento) Tali meccanismi di inferenza sono applicati ricorsivamente dagli elementi più semplici fino alla generazione delle strutture complesse (e.g. grafi alle dipendenze a partire dalla disambiguazione sintattica locale alle parole) Elaborazione, Programmazione e Linguaggi Ada Byron, Lady Lovelace (1815-1852) Rappresentazione dei dati Controllo delle sequenze e loop Il linguaggio di programmazione, ADA