Fondamenti di Informatica [Appunti del corso di Fondamenti di Informatica tenuto dal Pro: Giovanni degli Antoni press oil Polo di Crema della Università di Milano] gmbclan a.a: 2006-2007 Fondamenti di Informatica Come gestire il cambiamenti in una società che evolve continuamente. Il problema è progettare il futuro in una società che evolve. Il fturo è una risorsa Progettare La società implementa Qualcuno prepara il futuro dell società Progettare il futuro La società evolve Prodotto La società influenza Web I fondamenti dell’informatica sono la raccolta delle informazioni per la progettazione. Il trend è un web dove la rete è il computer. Li oggetti per liNel web importante è l’evoluzione della mail . Mail crisis La Mai distrugge il web. La mail è un sistema di supporto alle attività umane. La mail diventa sempre più integrata ed è necessario aggiungere intelligenza artificiale agli oggetti ed ai problemi. Aggiungere intelligenza artificiale serve a risolvere meglio i problemi ed a gestire i conflitti. I problemi sono legati alla richiesta di risore rispetto alla complessità e alla loro importanza. 1. Conflitti 2. Cooperazione 3. Risorse Sono fondamenti per la risoluzione dei problemi. TECNOLOGIA WIKY Mailspaces www. Goarmy.com Chatbot Sono esempi disistemi che aggiungono intelligenza Col passare del tempo la progettazione di un PC è diventato u problema sociale. Viasitare il sito di W3C Consortium dove vengono create le regole del web. Preparare la capacità per capire il futuro è lo scopo del W3C Consortium che agiscetramite: • Questo problema ha fatto nascere negli USA Il movimento dwl WEB 2.0 Basato tu AJAX. (Asyncronouus javascript and XML) Internet diventa Lo strumento di accesso universale Le forze in gioco Quali sono le forze in gioco nel cambiamento e perché la tecnologia si è evoluta cosi velocemente ? Rispota: Iil trianglolo delle Bermuda Tecnologia Competizione Produttività Dalla pietra scheggiata l’uomo è evoluto fino alle nano tecnolegie. Produrre tecnologia aumenta la produttività La competizione migliora la tecnologia E’ importante vedere i processi di sviluppo della società La Misura La misura è un concetto imposto dalla società La scienza cerca i legami tra le misure In quanto tale è : Arbitraria Empirica La scienza legami tra le misure Le misure hanno multipli e sottomultipli Schematizzazione del concetto di misura GRANDEZZE STRUMENTI di MISURA MISURA PREVISIONI EMPIRICHE TEORIA UNITA’ di MISURA CONFERME Esercizio 1: Scegliere una distanza dello schema e commentarla: Previsioni e teoria: Una teoria ci permette di generalizzare delle regole la generalizzazione di queste regole e la loro applicazione coerente possono trovare solo risposta nelle conferme empiriche. La conferma della teoria deriva dalla misura cioè solo ciò che possiamo quantificare e quindi misurare ci da la conferma della veridicità di una teoria e quindi ci mette nella condizione di poter fare delle previsioni L’Evoluzione dell’elettronica L’elettronica nasce con Marconi. Da allora ha avuto uno sviluppo esponenziale. Le leggi che regolano lo sviluppo dell’elettronica sono le leggi d MOORE La programmazione La programmazione è unarte Utilizza delle notazioni per rappresentare le cose Sapere programmare significa sapere il linguaggio con cui rappresentare le cose. Flex è un programma che serve a programmare. Le Nanotecnologie Le nanotecnologie consentono di aumentare la densità e questo di aumentare la velocità. Oggigiorno siamo ai limiti della tecnologia usuale. La densità aumenta con il quadrato della lunghezz. L’integrazione è la tecnologia che permette di assmblare in parallelo sullo stesso supporto piu componenti. L’origine della integrazione è nella elettronica dei semiconduttori. Tecnologia Competizione Produttività Oggigiorno sono disponibili interi laboratori per analisi mediche onchip adirittura con sensoristica integrata. L t Andament nel empo delle dimensioni clock t andamento nel tempo delle densità t Andamento nel tempo della velocità Leggi di MOORE Prima legge di MOORE Ogni 5 anni il costo dell’elettronica diminuisce di 10 volte Costo t Seconda legge di MOORE Ogni 18 mesi la velocità del clock raddoppia clock t Tterza legge di MOORE Ogni 3 anni il costo di un impianto per la produzione di semiconduttori raddoppia Costo t attualmente il costo si aggira attorno a 1 M€ Le tre leggi di MOORE hanno comeconseguenza ripercussioni sociali. Ad esempio la Globalizzazione dei mercati Il Trading online Esercizio da fare ricercare siti di trading online virtuali.: Build you first Aug italy Conseguenze delle Leggi di MOORE Opportunità e problemi sono legati tra loro. L’elettronica è lo sviluppo di tutto e il futuro è in Africa. Pogettazione Produzione Modelli d’uso Europa Cina Elaborazione Trasmissione Lavoro = Evoluzione di dati Archiviazione Esercizio : Completare lo schema sulla base delle proprie esperienze e nelle varie epoche: Nel triangolo sopra rappresentato mancano i modelli d’uso I modelli d’uso Chi inventa i m odelli d’uso genera i prodotti che vengono realizzati ai prezzi più bassi. La conseguenza dei modelli d’uso è la PROGETTAZIONE. Dai modelli d’uso deriva la cultura dell’uso La cultura dell’uso deriva dalla cultura in generale. Oggi noi siamo tra i modelli d’uso e la produzione Per progettare si deve conoscere Conoscere il mondo serve a descriverlo Descrivere serve a progettare CONOSCERE DESCRIVERE PROGETTARE Esigenz primaria: REALTA’ Strumenti per Conoscere DOCUMENTI SULLA REALTA’ STUMENTI FISICI STRUMENTI MENTALI Esercizio: Costruire esempi degli strumenti fisici per conoscere: Tutti gli strumenti usati per fare misurazioni e /o osservazioni sono strumenti per conocere. Il microscopio, il telescopio, l’oscilloscopio. Il metro. La radiografia, anche la fotografia: conoscere e riconoscere. La TV , internet. Oggigionro internet permette un rapido e universale scambio di conoscenze e di informazioni. Le conoscenzee non sono più a disposizione di pochi. Serve però……. Gli agenti cognitivi Cosa Come Chi Perché Esercitano atti mentali Dove Quando Quanto La SCIENZA COGNITIVA studia la conoscenza. Lo scopo è codificare i problemi mentalmente Gli agenti cognitivi sono tentativi di risolvere i problemi legati alla SOPRAVVIVENZA. Riprendendo lo schema precedente: REALTA’ IMMAGINE MENTALE DELLA RAPPRESENTAZIONE EVOLUZIONE ARTIFICIALE CONCETTI RAPPRESENTAZIONE della LINGUAGGI ESECUZIONE INTELLIGENZA AGENTI COGNITIVI LINGUAGGI ICONICI TEORIA DEI SISTEMI Il triangolo diviene cosi modificato Lavoro-Elaborazione Trasmissione-Trasporto Archiviazione-Accumulo La comunicazione è alla base della sopravvivenza. Comunicazione SOCIETA’ Trasmissione Accumulo Nella esecuzione delle rappresentazioni i modelli d’uso portano all’AUTOMAZIONE. AUTOMAZIONE significa mettere un po di elettronica in ogni cosa. COMPETIZIONE-COLLABORAZIONE Esercizio: Analizzare mediante gli agenti cognitivi in modo non banale il rapporto tra COMPETIZIONE E COLLABORAZIONE. La competizione può essere vista come una forma di collaborazione, ci si osserva ci si controlla e si cerca di superarci. Come : cogliendo e osservando le novità e le variazioni introdotte dal competitore. Perché: l’osservazione ci fornisce informazioni in un certo qual modo la controparte collabora. Chi: ambedue i competitori agiscono allo stesso modo . Quindi competono e collaborano . Ciascuno fa tesoro dell’esperienza dell’altro. Quando: Sempre sia nella fase di progettazione che di produzione Perché: servono retroazioni di consenso al nostro lavoro. Esercizio: Analizzare l’intelligenza del mondo artificiale: Linguaggi REALTA’ SISTEMI Agenti cognitivionici Linguaggiformali Linguaggi iconici Testi etichettati Teoria dei sistemi Testi etichettati Libri e giornali <evento del giorno> 1. Oggi………… ……………… ……………… ……………… </evento del giorno> Le parentesi angolate catturano il testo e indicano anche la fine del testo Il sistema può essere visto con occhio analitico O in modo sintetico (SINTESI) SISTEMA SINTESI ANALISI ( ANALISI) Per capire Per Progettare PROGETTARE SIGNIFICA PENSARE AD UN RAPPORTO TRA ME ED UNA REALTA’ MODIFICATA La realizzazione dalla conoscenza per progettare . La progettazione semplifica la vita dell’uomo. Gli informatici sono problem solving Testo <Parte1> ………………………………………………………………………. ………………………………………………………………………. ………………………………………………………………………. ……………………………………………………..<Parte2>….. ……………………………………………………………………….. ………………………………………………………………………… ………………………………………………………………………. ………………………………………………………………………. L’individuazione di parte del testo può essere fatta in altro modo ad esempio: …………..<Parte1>……………………………………………………..</parte1>……… ……………………………………<Parte2>………………………………….<parte2.1> …………………………………………………………………………………….</parte2.1> …………………………………………………………………………………….</parte2> Testo Parte1 Parte2 Parte 2.1 Si realizza cosi un albero piatto (FLAT) Altro modo di rapprenetare è il seguente: Test0 PARTE 1 PARTE 2 PARTE 2.1 Le etichette Chiamate sia etichette che TAG o anche Lable La notazione è stata standardizzata in due momenti. SGML Standardized XML Extended General Markup Language Markup Language Tutti pi programmi e gli strumenti sono influenzati e dipendono dalla marcatura. A partire dal SGML è nato un meccanismo per creare gli ipertesti XHTML Già i romani attraverso lo spago effettuavano una marcatura delle tavolette di legno Marcare i link significa trasformare un testo in ipertesto. Esercizio da fare: www.nova-multimedia.it google w3 school youtube Il linguaggio e la descrizione Tipologia di linguaggi: • • • • • • Linguaggi naturali Grafici Iconici Grafonici Matematici Informatici Alcuni esempi : • • • • Linguaggio naturale Agenti cognitivi ( Sono strumenti di descrizione) XML Teoria dei Sistemi (Come esempio di linguaggio Naive) Taylor è stato l’inventore degli schemi a blocchi che sono un linguaggio utilizzato nella descrizione dei Sistemi. Esempi di sistemi sono: La lavagna luminosa , come strumento per insegnare Norbert Weiner negli anni 50 inventa la CIBERNETICA. Ovvero il controllo e la comunicazione nelle macchine e negli animali. Oggi la Cibernetica si occupa anche del controllo e della organizzazione della società. Di cosa si tratta: Il Controllo : sono azioni su una entità per ottenere obiettivi La Comunicazione: sono atti orientati a chi deve esercitare il controllo Controllo e Comunicazione sono due facce della stessa medaglia: UNIVERSO ( del Discorso) nversn UNIVERSO SISTEMA (Stati) IN OUT Atto di indicazione L’atto di indicazione è un atto per indicare una entità ed è la base di tutto lo sviluppo scientifico e culturale. Ciclo di Vita Sistema Nome Sistemi Parti Output atto di indicazione (arbitrario) Stati Descrizione Materiali Input Comportamento Un sistema raramente è isolato ma sempre parte di una famiglia di sistemi. Un Sistema è dotato di un comportamento Esercizio: Descrivere 10 tipi diversi di sistema Le parti di un sistema godono della proprietà di AUTOSIMILITUDINE le parti costituenti un sistema sono anch’esse Sistemi. Il comportamento fa si che l’uscita dipenda : Dalle parti Dall’input Dagli Stati Qui si hanno due possibili atteggiament: Olistico Riduzionistico OLISMO SISTEMA PARTI COMPORTAMENTO RIDUZIONISMO Olismo e Riduzionismo sono atteggiamenti contrapposti. Natura Famiglia Come le parti sono interconnesse Punti diVista Struttura Descrizione Linguaggio di descrizione Ciclo di Vita Parti SISTEMA Atto di indicazione Sono sistemi Comportamento Input Stati Nome Output Lo schema che vediamo è fatto di linguaggio naturale. I nomi rappresentati sono METANOMI cioè TAG Il tutto è fatto di : (Espressione del linguaggio nozionale) METASIMBOLI ASSOCIAZIONI TRA METASIMBOLI Le parti compongono il sistema mediante la Struttura o Architettura che è una descrizione rete di come è fatta la struttura. I SISTEMI Esempio di un sistema C S: A,B,C,D, struttura , A B, B ,D A D Parti A B C D L’architettura si riferisce ala descrizione della struttura ed il sistema è descrivibile con gli agenti cognitivi, il linguaggio specifico, il linguaggio naturale. Olismo o Riduzionismo PARTI SISTEMA Come è fatto Struttuta COMPORTAMENTO Astrazione sulla struttura Integrazione Non esiste un modo per capire il tutto a partire da cosa fanno le singole parti (OLISMO) La visione riduzionista è una visione filosofica occidentale. La vsione Olistica è una visione filosofica Orientale. COMPORTAMENTO Lo studio del comportamento si basa su: CONTROLLO COMUNICAZIONE Km/h Obiettivo del Controllo è mantenere costante la velocità del l’automobile. Strada Velocità attuale MOTORE Regolatore Velocità desiderata Il Controllo semplifica la vita. Esercizio: L’auto come sistemanel caso della velocità costante e pendenza variabile. Il navigatore del 2050. Analizzare un articolo di Nova con gli agento cognitivi TEORIA DEI SISTEMI APPLICAZIONE CONTROLLO COMUNICAZIONE DESCRIZIONE DELLE AZIONI DI CONTROLLO Rappresentazione iconica SISTEMA PER IL CONTROLLO OBIETTIVO DEL CONTROLLO COMPORTAMENTO DESIDERATO AZIONI SISTEMA DA CONTROLLARE DI CONTROLLO PILOTA PROGETTARE AZIONI DI CONTROLLO Rappresentazione a blocchi Sistema Sistema Di Da Controllo Controlllare Lo schema a blocchi è un luogo concettuale che fa parte delle Scienze Cognitive. COME SI ATTUA LA PROGETTAZIONE COSA SERVE ALLA PROGETTAZIONE 1. UN MODELLO DEL SISTEMA DA CONTROLLARE 2. UNA CAPACITÀ DI PRECISIONE PER COLPIRE IL BERSAGLIO È NECESSARIO AVERE LA CAPACITÀ DI PREVISIONE UN BUON SISTEMA DI CONTROLL0 IL MODELLO È UNA REGOLA DI COMPORTAMENTO AZIONI ESTERNE USCITA SISTEMA REGOLATORE OSSERVAZIONE AZIONE DI CONTROLLO CONFRONTO CON LA TRAIETTORIA DESIDERATA LOOP DI RETROAZIONE (O FEED-BACK) TRAIETTORIA DESIDERATA UN BUON MODELLO DI SISTEMA È QUELLO CHE ATUA LA RETROAZIONE DESIDERATA. CIOÈ CHE AVVICINI IL COMPORTAMENTO ATTUALE A QUELLO DESIDERATO. (REATROAZIONE NEGATIVA) QUESTO IMPLICA L’ESISTENZA DI UN BUON MODELLO DI REGOLATORE REGOLATORE VANTAGGIOSO ? MODELLI ACCELERATORE AUTO SI SE PREMO ACCELERO MANOVELLA DEL TRAM SI SE RUOTO ACCELERO DENARO SI(?) INTERRUTTORE SI POLIZIA CARICA GLI STUDENTI ? SE CHIUDO FUNZIONA LA VAGHEZZA ATTUALMENTE È UN CONCETTO MATEMATICO. FUZZYNESS!!!! TEORIA MATEMATICA DEI SISTEMI FUZZY COMUNICAZIONE Le comunità sono luoghi di comunicazione. La comunità è una tecnologia per la società Capire “Second life” e fare a proposte d’uso. DALLA TEORIA DEI SISTEMI AGLI AUTOMI A = < Σ,S,Δ,f,s0> La Struttura = Descrizione dele parti invarianti (cioè che ci sono) FUNZIONE DI TRANSIZIONE f: Σx S S s0 C S s0 σ δ Diagramma degli stati Σ Δ S s0 DIAGRAMMA A BLOCCHI AUTOMI DI RICONOSCIMENTO A = < Σ,S,Δ,F,s0> f:SxΣ S FcS F è un sottoinsieme degli stati finali S0 è un elemento di σ S s0 S ed è lo stato inizial s La sequenza di ingresso è riconosciuta ed accettatta se e solo se l’automa si trova in uno stato finale Esempio: S= a,b,c Σ= 0,1 0, 1 f: 1 So a 1 0 1 c 0,1 b 0 0 S Lo stato prossimo è determinato, ciò significa che : L’AUTOMA È DETERMINISTICO DI SOTTO È RIPORTATA LA SEQUENZA DEGLI INPUT E DEGLI STATI INIZIALI: SO CF SEQUENZA DI OUTPUT STATO INPUT a a b b b c b 1 0 0 0 1 0 1 SEQUENZA DI INPUT LA SEQUENZA 1000101 È ACCCETTATA DA A. Esercizio: Modellare situazioni reali mediante automi Uso di un’aula Uso del cellulare Un laboratorio ecc…. I LINGUAGGI RICONOSCIUTI DAGLI AUTOMI LE STRINGHE La stringa è una sequenza Σ = alfabeto finito Σ+ = Insieme di tutte le stringhe costituite con simboli di Esempio: Σ (dizionario) Σ= 0,1 Σ+= 0,1,00,01,10,11,001,…………… Tutte le strighe che si costruiscono sono con l’alfabeto [ 0,1] Definire le cose e poi definire le cose sulle cose per fare ciò va introdotto il concetto di : Σ*= Σ*U λ λ = lettera vuota se x ( Σ* se x,y ( cioè Σ Xλ = X , λX=X Σ* = xy ( Σ* a,b,c abbc, ccbaaa abbcccbaaa PROPIETA’ DI CHIUSURA Σ* Σ* se x,y ( se x ( Σ* Σ* Σ* xy = yx xλ = λx Esempio: Calcolare matematicamente la lunghezza di una stringa Σ= a,b.c x = aabbcba lung (x) = lung (aabcba) = 6 (per conteggio) Σ*, N, x ( Σ*, lung (x) x ( N lung: Σ* N la lunghezza è una funzione TEORIA DEGLI AUTOMI E’ una astarzione della TEORIA DEI SISTEMI. Teoria dei sistemi Sistema ASTRAZIONE Astrazione Automi Automi COSA CARATTERIZZA UN AUTOMA: 1. Input 2. Output 3. Comportamento [Stati] INPUT : ha un alfabeto chiamato: Σ* :alfabeto di Input OUTPUT: ha un alfabeto chiamato: Δ* :alfabeto di Output COMPORTAMENTO ha un alfabeto chiamato: S* : Stati f In questo modo abbiamo costruito un nuovo oggetto. DEFINIZIONE DI AUTOMA Tipo di nomi A = < Σ,S,Δ,f,s0> Σ : Insieme finito di simboli di ingresso Δ : Insieme finito di simboli di uscita S : Insieme degli Stati ( per ora finito) f : Funzione di transizione tra gli stati s0 : Stato iniziale TIPI: : Transizione tra gli stati Σ: σ0, σ1,σ2,……….,σk-1 Σ : k (cardinalità di Σ=k) Δ : δo,,δ1,…………….,σk-1 Δ : m (cardinalità di Δ=m) Sia S: s0, s1, s2,……………sn-1 Δ =n f:SxΣ SxΔ la transizione fa capire come una azione di input fa cambiare lo stato per ogni coppia S (s,δ) dove : sC S e δ C Σ la funzione di transizione f è totale cioè: f( s,σ) (s’, δ) Esempio Si supponga di avere una rappresentazione come sotto: s0 (stato) δ transizione/δ s’ s0 C S cioè lo stato iniziale è uno degli stati possibili. Automi di riconoscimento a stati finiti Riconoscere è una attività fondamentale Il riconoscimento è una attività di tipo linguistico L= < Σ,S,Δ,f,s0> S stati S =n Σ ingressi Σ =k f : Sxs S F: stati finali F≤S s0 C Σ Esempio: L= < Σ,S,Δ,f,s0> S = a,b 0 Σ = 0,1 f= SxΣ 1 S s0 a F= b 1 b b 0 s0 = a0 C S SxΣ a0 a 1 b 0 b 1 a a b a b b Sequenza di riconoscimento di b C F 0 1 0 1 1 da a con 1 andiamo in b ma anche 01 011 001 0101 --------------------- le sequenze accettate sono infinite L’automa ha la capacità di descrivere una qualunque delle infinite sequenze. Pertanto è un automa che riconosce una stringa. f Stringa Σ CF s S0 L’automa è perfettamente deterministico, perchè conoscendo la stringa di ingresso è determinata l’uscita. Alcuni esempi esplicativi: REV (X) rev (x): la funzione REVERSE fa passare da una stringa di Σ* ad un'altra stringa di Σ*. L’operazione è: rev: Σ* Σ* Esempio: rev: 01101110 01110110 CAR (X) car (x) = primo elemento di x T(X) t(x) = resto di (x) dopo aver tolto car(x) Esempio: car (011011) = 0 t (011011) = 11011 Mescoliamo ora i tipi (stringhe e numeri) Σ*,N Sia (x) un elemnto di Σ* vogliamo costruire l(x) = LUNGHEZZA DI (X) Esempio: l(0111100) = 7 Si tratta di una trasformazione cioè: l:Σ* N la funzione fa passare da un argomento ad un valore Esecuzione dello studio: Prendiamo la stringa vuota λ ; L(λ)=0, l(λ)=0 l(σ)=1 σCΣ l(σx) = 1 + l(x) Questa è un definizione Ricorsiva Esempio: Calcolare la lunghezza di : l(1101) = l(1) + l(101) = 1 + l(101) = 1 + 1 + l(01) = 1 + 1 + 1 + l(1) = 1 + 1 +1+1 +1 = 4 Solo le funzioni ricorsive sono calcolabili Esempio: Definire la funzione reverse di una stringa di Σ* rev: Σ* Σ* DEFINIZIONI r:(σx) = (xσ) r: (λ) = (λ) r: (σ) =(σ) Esempio: r (11010)= r (1010) xxxx1 = r (010) xxx11 = r ( 10) xx011 = r (0) x1011 =r() 01011 Le stringhe possono calcolare tutto. Problema Realtà Descrizione del problema Realtà La descrizione è una funzione Esempio la reverse di una stringa è una funzione LE FUNZIONI Macchine o software hanno forma loro si possono descrivere con grafi delle funzioni tipi di ingresso e di uscita Logiche Funzioni Modalità di definizione Ricorsive Iterative Linguaggio di programmazione Gli automi sono modellati da un ingresso Σ = σ0………….σn‐1 Modellati da uno Stato S = s0……………….sn‐1 Con delle uscite Δ = δ0…………………δn‐1 Σ Δ AUTOMI ASTRATTI S Esiste unpassaggio da una situazione locale ad una globale mediante transizioni. Esistono due transizioni: f e σ funzioni di uscita transizione di f se conosciamo l’ingresso e lo Stato il tipo di f ci dice lo statpo prossimo. f: Σ x S S δ è una funzione di uscita δ: Σ x S δ Gli stati si disegnano σ/δ s s’ da S con l’ingresso σ si va allo stato S’ Se si passa da Σ a Σ* Sf S0 Σ s0 Con Σ* tutto cambia da S a S* Δ Δ a Δ* δ a δ* f* : Σ* x S S δ* : Σ* x S S DIAGRAMMA DEGLI STATI DELL’AUTOMA ESTESO XC s Σ* Y C Δ* 1 0 s’ f: 0/1 Σ = 0,1 S = s0,s1,s2 Σ* = λ,0,1,00,01,10,11,………. Σ* f* S Δ* s0 λ/11/0 λ/01/11 0 S0 S1 λ/00/01 0 1 S2 λ Volendo trovare una numerazione è possibile fare l’esempio del Numero Primo Σ*: λ,σ,σ2…… , Σ = σ λ σ σ2 σ3………… 0 1 2 3…………. Come calcolare f* matematicamente f* è iterazione di f su Σ f*= incognita f*: (λ,s) (λ azione nulla) = s f*:(σ,s) (σ è elemento di Σ) = f: ( f* (σ,x,s) = f* (x, f(σ,s)) Iterazione x elemento di Σ*. QUESTA È UNA DEFINIZIONE RICORSIVA ESEMPIO di f* in azione Σ= (0,1),S,f f* (10101,s) f*(0101,f(1,s)) f*(101,f(0,f(1,s))) Calcolo simbolico della funzione Ricorsiva di f* f*(01,f(1,f(0,f(1,s)))) f*(1,f(0,f(1,f(0,f(1,s))))) Base nota f*(1, storia di s) Automa =>f=>f*=>f*(y,s)=>procedimento di calcolo=>f*(10101,s)=>procedimento di riduzione ruolosimbolico di f*(10101,s) AUTOMI ACCETTORI Gli Automi Accettori definiscono un linguaggio <Σ,S,f,F,s0> Σ,S,f: Σ S F≤S,s0 S Σ s1/si s0 1 0 S0 S1 01 0 1 S2 F= (s1) f*(010010,s0) = s0 Si dice che la sequenza 010010 non è accettata perchè si ritorna allostato iniziale. Se f* (10000,s0)=s1 Le stringhe acettate sono l’insieme di stringhe tali che: (X|f*(x,s0)≤F) L’insieme di tutte le stringhe accettate si chiamano stringhe accettate L (A)=(x|f*(x,s )≤F) 0 Le stringhe riconosciute costituiscono il linguaggio dell’automa. Un esempio di sequenza non deterministica è il lancio del dado. ALGEBRA DELLA LOGICA Proposizioni semplici Algebra dei circuiti P,q,r,……. A,B,C Connettivi logici Operatori logici and, or, not Una proposizione composta è : una proposizione semplice la negazione di una proposizione semplice ( proposizione composta) proposizione semplece or proposizione semplice (proposizione composta or proposizione composta) proposizione semplice and proposizione semplice ( proposizione composta end proposizione compsta) P ( p) q (( p) ( q)) L’dea di un aproposizione composta usando proposizioni semplici è unan definizione ricorsiva P:= p/q/r/ P: = P P:P….P/P…..P Nient’altro è proposizione composta AB+C (Ab)+C v: x,y,z sono variabili v:vv/v v:=V X Xc x xy y x x+y y Espressioni circuitali AB +GB=Z espressione logica Segno Contesto Significato Sintassi della logica Variabilità nel tempo Significato logico T/F Sintassi dei circuiti Contesto nel Significato nei circuiti 0/1 A A B C B C Z --------------------- -- ----------------------- -- ---------------------- -- A B C Z 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 Nell’affrontare due problemi vi sono due fasi: Z ¾ Analisi Dato un circuito vedere cosa fa ¾ Sintesi Prendere un circuito e fargli fre ciò che si vuole A B Z A B Z A Z 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1 AND OR NOT ESEMPIO DI ANALISI A B C Z A B Z 0 0 0 0 1 0 1 0 0 1 1 1 A B C Z 0 0 0 Ac Bc Cc 0 0 1 Ac Bc C 0 1 0 Ac B Cc 0 1 1 Ac B C 1 0 0 A Bc Cc Teorema 1 0 1 A Bc fondamentale di BOOLE C 1 1 0 A B Cc Qualsiasi tabella della verità può essere costruita con and or e not. Dati n variabili di ingresso le possibili funzioni di uscita sono 2n A B C Z 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 A B C Le espressioni minime sono il prodotto di variabili elementari AcBcCc ABcC Sintesi della parità BOOLEANA A B C Ogni soluzione è somma di termini minimi COMPUTER QUANTICI Dalle leggi dlla fisica classica sono derivati i computers classici co 0 e 1, cioè sistemi in uno stato e uno solamente (modificabile). Nella fisica classica l’osservazione non modifica la realtà. Dalla fisica quantistica derivano i computer quantici. I bit sono sovrapposti Con 0 e 1 sovrapposti L’ossevazione modifica la realtà Tra le varie ipotesi esisterebbero degli oggetti gemelli e la velocità di comunicazione sarebbe infinita. La realtà quantistica osservata diviene realtà classica nella quale gli stati sono singoli Come si progetta una rete a stati logici FLIP – FLOP = oggetto per ricordare un bit A A’ 0 (RESET) 1 0 1 (SET) 0 (RESET) 1 (SET) Cambia stato: se è a 0 passa a 1 0 0 Problema di fondo : il flip – flop deve essere in grado di sapere automaticamente dove andare A A’ S R Se mando SET e RESET insieme? FENOMENO DEL GLITCH: a circuiti con ingressi diversi, il circuito sta a metà strada tra il bit 1 e il bit 0 (QBIT) Si denota quindi un fenomeno di instabilità nei circuiti sequenziali quando arrivano due fenomeni “contemporanei” S CLOCK: oggetto che stabilisce i tempi di cambiamento Si = SET interno Ri = RESET interno Si Ri S Istanti, impulso del clock R AUTOMA REALIZZAZIONE (macchina sequenziale) VARIABILE DI STATO DIAGRAMMA A STATO TRANSIZIONE CIRCUITI PER LA TRASMISSIONE TRA STATI S1 S3 S2 ESEMPIO 0 α 0 γ 1/0 1 1. ASSEGNAMENTO CODICE ß X1 X2 X1 X2 S1 R1 COSTRUISCO LE FUNZIONI S1 = E X 1 X2 R1 = E X1 X2 S2 = E X1 X2 + E R2 = E X1 X2 + E X1 X1 X2 X2 S2 R2 X1 X2 S1 R1 S2 E R2