Fondamenti di Informatica. Cenni di Algebra di Boole. Prof. Franco Zambonelli Gennaio 2011

Documenti analoghi
Fondamenti di Informatica. Computabilità e Macchine di Turing. Prof. Franco Zambonelli Gennaio 2011

Algebra di Boole ed Elementi di Logica

Calcolatori: Algebra Booleana e Reti Logiche

Alcune nozioni di base di Logica Matematica

La Logica Proposizionale. (Algebra di Boole)

Introduzione al MATLAB c Parte 2

LOGICA PER LA PROGRAMMAZIONE. Franco Turini

Operatori logici e porte logiche

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

Dimensione di uno Spazio vettoriale

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Anno 1. Definizione di Logica e operazioni logiche

Algebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.

MAPPE DI KARNAUGH. Nei capitoli precedenti si è visto che è possibile associare un circuito elettronico o elettrico ad una funzione logica.

ci sono più problemi che programmi esiste un problema che non si può risolvere con un programma

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

I sistemi di numerazione

Lezione 8. La macchina universale

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

ALGEBRA DELLE PROPOSIZIONI

Laboratorio di Informatica

Laurea Specialistica in Informatica

(anno accademico )

L algebra di Boole. Cenni Corso di Reti Logiche B. Mariagiovanna Sami

Codici Numerici. Modifica dell'informazione. Rappresentazione dei numeri.

Origini e caratteristiche dei calcolatori elettronici

Algebra di Boole. Le operazioni, nell algebra booleana sono basate su questi tre operatori: AND ( ), OR ( + ),NOT ( )

Appunti sulla Macchina di Turing. Macchina di Turing

Utilizzo delle formule in Excel

Matematica Computazionale Lezione 4: Algebra di Commutazione e Reti Logiche

Algebra Booleana ed Espressioni Booleane

Algoritmi e Complessità

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Richiesta pagina PHP (es: index.php)

Matematica generale CTF

Più processori uguale più velocità?

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme

Elementi di Algebra Relazionale

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Sistemi Informativi Territoriali. Map Algebra

risulta (x) = 1 se x < 0.

Predicati e Quantificatori

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

OSSERVAZIONI TEORICHE Lezione n. 4

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

Reti Logiche. Le reti logiche sono gli elementi architettonici di base dei calcolatori, e di tutti gli apparati per elaborazioni digitali.

Storia dell informatica

Cosa dobbiamo già conoscere?

Algebra di Boole e reti logiche. Giovedì 8 ottobre 2015

Programma precorso di matematica

4 3 4 = 4 x x x 10 0 aaa

Matematica 1 - Corso di Laurea in Ingegneria Meccanica

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Fondamenti di calcolo booleano

L espressione torna invece sempre vera (quindi la soluzione originale) se cambiamo contemporaneamente il verso: 1 < 0.

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

Teoria delle code. Sistemi stazionari: M/M/1 M/M/1/K M/M/S

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

MATEMATICA p = 4/6 = 2/3; q = 1-2/3 = 1/3. La risposta corretta è quindi la E).

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

I PROBLEMI ALGEBRICI

Capitale & Ricchezza

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

Introduzione ai tipi di dato astratti: applicazione alle liste

Introduzione agli Abstract Data Type (ADT)

u 1 u k che rappresenta formalmente la somma degli infiniti numeri (14.1), ordinati al crescere del loro indice. I numeri u k

Corso di formazione CerTICTablet

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.

L infinito nell aritmetica. Edward Nelson Dipartimento di matematica Università di Princeton

MATEMATICA Classe I ATTIVITÀ:

Funzioni. Funzioni /2

CONCETTO DI ANNIDAMENTO

Si sa che la via più breve tra due punti è la linea retta. Ma vi siete mai chiesti, Qual è la via più breve tra tre punti? o tra quattro punti?

Matematica in laboratorio

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

1 Serie di Taylor di una funzione

Le parole dell informatica: modello di calcolo, complessità e trattabilità

Calcolo Relazionale Basi di dati e sistemi informativi 1. Calcolo Relazionale. Angelo Montanari

Corso di Analisi Matematica Serie numeriche

Le equazioni. Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Istituto d Istruzione Secondaria Superiore M.BARTOLO. A cura del Prof S. Giannitto

Lezione 2 Circuiti logici. Mauro Piccolo piccolo@di.unito.it

Modulo 1: Motori di ricerca

ESEMPIO 1: eseguire il complemento a 10 di 765

x u v(p(x, fx) q(u, v)), e poi

Dispense di Filosofia del Linguaggio

L INNOVAZIONE SCIENTIFICO-TECNOLOGICA NEI PROCESSI PRODUTTIVI

PENSIERO DI LENIN. Fonte: Lenin [Vladimir Ilic Ulianov], Scritti economici, Roma, Editori Riuniti, 1977, pp

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!

+ / operatori di confronto (espressioni logiche/predicati) / = > < Pseudo codice. Pseudo codice

Algebra e Logica Matematica. Calcolo delle proposizioni Logica del primo ordine

Schemi delle Lezioni di Matematica Generale. Pierpaolo Montana

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Colloquio di vendita GRUPPO TELECOM ITALIA. La gioia di vendere

Architettura degli Elaboratori Implementazione di funzioni booleane

Ammortamento di un debito

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

Transcript:

Fondamenti di Informatica Cenni di Algebra di Boole Prof. Franco Zambonelli Gennaio 2011 Letture Consigliate: Roger Penrose, La Mente Nuova dell Imperatore, Sansoni Editrice. Martin Davis, Il Calcolatore Universale, Adelphi. Yuri Castelfranchi, Macchine Come Noi. Algebra di Boole 1

Il Sogno dell Informatica Fin dagli albori dell umanità, vi era il sogno di creare macchine in grado di emulare l uomo: - robot (attività meccaniche) - Calcolatori (attività matematiche) L aritmetica, di per sé, è relativamente facile da meccanizzare: - calcolatori meccanici (e.g., Pascalina) - in grande uso fino agli anni 60 peraltro - macchine per il calcolo di logaritmi, derivate, etc. La matematica, però, e più in generale il ragionamento logico, sono meno facili. Aristotele: - concetto di sillogismo Se A implica B Se B implica C Allora A implica C Esempio: Tutti gli Ateniesi Hanno la Barba Socrate è Ateniese Socrate ha la barba Il ragionamento logico implica: Elaborare fatti, verità, del nostro universo Produrre nuove verità, sulla base di regole logiche à algoritmi Il ragionamento matematico (la capacità di dimostrare teoremi ) è ragionamento logico): Se X > Y Se Y > Z Allora X > Z I calcolatori, e cioè le macchine in grado di emulare le nostre attività mentali, perciò chiaramente richiedono: - capacità aritmetiche - capacità logiche Algebra di Boole 2

Algebra Booleana: preliminari 1 L algebra tradizionale manipola entità numeriche attraverso - una serie di operazioni ben definite (somma e moltiplicazione) - una serie chiara di regole di manipolazione Boole scoprì (1847) che il nostro ragionare sui fatti del mondo poteva altresì assumere la forma di un algebra - i numeri sono sostituiti da insiemi - ci sono operazioni base tra insiemi - le regole sono isomorfe a quelle dell algebra tradizionale Insiemi: - contengono entità e fatti del mondo p.e., l insieme dei mammiferi l insieme dei miei soprammobili l insieme degli uomini bruni alti più di 1,70 e meno di 1,73 Chiaramente, possono esistere insiemi vuoti: p.e., l insieme dei cavalli parlanti Algebra di Boole 3

Algebra Booleana: preliminari 2 Consideriamo le operazioni tra insiemi Unione (u) e Intersezione (n) Consideriamo l insieme vuoto: O XnX=X Xn0=X OnO=X XuX=X Xu0=X OuO=O Boole si chiese: queste operazioni possono definire un algebra coerente?? In effetti assomigliano alle operazioni di moltiplicazione e addizione (n=* e u=+). Denotiamole allora come tali, e assumiamo per O e 1 gli stessi ruoli: 1 corrisponde all insieme totale ( universo ) insieme di tutti i fatti verità del mondo 0 corrisponde all insieme vuoto, il nulla, l insieme delle cose che non esistono, cioè le cose false Allora: Se Y è un insieme, (1-Y) è il suo complemento (il resto dell universo) Affermare Se X allora Y significa scrivere: Xn(1-Y) = O Ma, se n corrisponde a * e u a + allora: X*(1-Y) = X*1 X*Y E i conti tornano.come nella normale algebra Algebra di Boole 4

Algebra Booleana: preliminari 2 Più in generale, l algebra booleana può essere concettualmente considerata come un modo di operare sulle verità, i fatti del mondo. I fatti del mondo si esprimono attraverso predicati (frasi) io sono un mammifero à questo predicato è vero, cioè l insieme dei mammiferi non è vuoto e io appartengo a tale insieme Marco è un cavallo à questa predicato è falso Consideriamo quindi di assegnare valore 1 ai predicati veri, e 0 ai predicati falsi (corrispondente, in termini insiemistica, a 1 come insieme esistente e a 0 come insieme vuoti. Le operazioni di unione e intersezione corrispondono allora, in termini di predicati, alle congiunzioni o ed e Questo e quello Questo o quello Intendo riferimi a qualcosa contenuto nei due insiemi, ciòè compio una operazione di UNIONE degli insiemi Quando dico Questo e quello Intendo riferirmi a ciò che è parte sia Questo che Quello, cioè compio una operazione logica che è una operazione i INTERSEZIONE di insiemi. Algebra di Boole 5

Operazioni Algebra Booleana Ora su questa base, se indichiamo o (OR logico) come + ed e (AND logico) come moltiplicazione: 0+0=0 0+1=1 1+0=1 1+1=1 0*0=0 0*1=1 1*0=0 1*1=1 Come vediamo, a parte un singolo caso, queste operazioni logiche sembrano operazioni matematiche. Non solo, ma obbediscono a regole molto simili: A + B = B + A; A*B = B*A (A + B) + C = A + (B + C); (A * B) * C = A * (B * C) (A+B)*C = A*C+B*C Con aggiunto l operatore di complemento o negazione (NOT logico) not X = (1-X) à si indica spesso con X con una barra sopra e con in aggiunta le seguenti regole: x + (x *y) = x x *(x + y) = x x + (1-x) = 1 x *(1-x) = 0 Grande progresso della scienze e invenzione della logica moderna : la logica (e quindi la nostra capacità di ragionare sui fatti del mondo e derivarne fatti, verità nuove) può essere trattata come un algebra e quindi può essere in qualche modo automatizzata!!!! Teoremi Algebra Booleana: not (A * B) = not A + not B not (A + B) = not B * not A Algebra di Boole 6

Algebra Booleana: tecnologie I calcolatori moderni sono basati su circuiti elettronici ( porte logiche ) a transistor capaci di fare operazioni logiche OR, AND, NOT sulla base di presenza-assenza di tensione sui fili. Componendo questi circuiti, possiamo comporre espressioni logiche: poniamo 1 o 0 sui fili in ingresso, corrispondenti a predicati veri o falsi, e il circuito logico mi calcola automaticamente il risultato della espressione booleana corrispondente. Poiché gli operatori dell algebra booleana sono molto simili a quelli dell aritmetica, possiamo usare le stesse porte logiche per comporre circuiti in grado di fare automaticamente operazioni aritmetiche. Il cuore del microprocessore è detto Unità Aritmetico Logica per queste ragioni. Il calcolatore può anche valutare la verità di predicati aritmetici: (X > Y) Il calcolatore può verificare questo calcolando X-Y (operazione aritmetica) e poi verificare se il risultato è diverso, minore, o maggiore di zero. Quindi, attraverso i circuiti logici possiamo fare: X=Y+Z; if (X>5 AND X<7) etc. etc. while (x>5) etc. che è esattamente ciò che ci serve per realizzare algoritmi! Algebra di Frege In verità l algebra di Boole era ancora un pò banale, perchè ragionava su predicati fissi. Frege introdusse (1879) nell algebra logica il concetto di variabile, oggi fondamentale per l informatica: per ogni x, Se X è vero allora Y è vero; esiste un x tale che: Se x è vero, allora z è vero Cioè non ragioniamo più su predicati fissi, ma su predicati variabili che si possono affermare 1) su tutte le entità di un certo insieme quantificatore universale; 2) per almeno un elemento dell insieme quantificatore esistenziale. Algebra di Boole 7

Babbage e Lady Lovelace A prescindere dalla logica booleana, Charles Babbage aveva già nella seconda metà dell 800 (1831) progettato una macchina meccanica che permetteva in teoria di risolvere problemi matematico-logici basati su algoritmi. La tecnologia meccanica dell epoca, però, non era abbastanza sofisticata da permettergli di finalizzarne la costruzione. Cfr. Sterling and Gibson, The Difference Engine (It. la macchina della realta ), interessante romanzo di fantascienza che descrive come sarebbe stato il mondo se Babbage fosse riuscito. Collaborava con Babbage, Lady Ada Lovelace, figlia del poeta Lord Byron, che si inventò (1834) un linguaggio di programmazione di tipo moderno per programmare la macchina di Babbage: conteneva variabili, istruzioni if, e cicli while in pratica, un linguaggio per realizzare algoritmi. E a tutt oggi riconosciuta come la madre della programmazione moderna Algebra di Boole 8