BIOINFORMATICA - PowerPoint PPT Presentation

1 / 79
About This Presentation
Title:

BIOINFORMATICA

Description:

BIOINFORMATICA La Bioinformatica si occupa, dell acquisizione, memorizzazione, distribuzione, analisi e interpretazione dei dati prevalentemente nell ambito della ... – PowerPoint PPT presentation

Number of Views:224
Avg rating:3.0/5.0
Slides: 80
Provided by: Dott64
Category:

less

Transcript and Presenter's Notes

Title: BIOINFORMATICA


1
BIOINFORMATICA
  • La Bioinformatica si occupa, dellacquisizione,
    memorizzazione, distribuzione, analisi e
    interpretazione dei dati prevalentemente
    nellambito della biologia.
  • Questa nuova disciplina scientifica utilizza
    metodi di matematica, informatica, biologia,
    medicina, fisica allo scopo di migliorare la
    comprensione dei fenomeni biologici. Di seguito,
    si elenca a titolo alcuni dei principali
    obiettivi della Bioinformatica

2
Sviluppo di strumenti per la generazione ed il
mantenimento dellinformazione proveniente alle
varie fonti mappa fisica, mappa genetica, mappa
cromosomica, mappa citogenetica, polimorfismi, e
linformazione relativa alle sequenze genomiche e
proteiche etc. Raccolta e organizzazione delle
informazioni genetiche associate alle patologie
mediche Sviluppo di programmi di calcolo per
l'analisi delle sequenze Sviluppo dinterfacce
grafiche in grado di visualizzare in maniera
efficace linformazione richiesta Sviluppo di
metodi software che consentano di agevolare tutte
le fasi dei progetti Sviluppo di strutture per
database specializzate ed integrate
3
  • Realizzazione di standard per lo scambio e la
    descrizione dei dati
  • Realizzazione di una rete dati per la raccolta
    la distribuzione e laggiornamento costante di
    tutta informazione prodotta
  • Raccolta della bibliografia, brevetti e altri
    database di supporto allinformazione specifica
  • Predizione dei geni nelle sequenze di DNA
  • Predizione delle strutture tridimensionali
    delle proteine partendo dalle sequenze primarie
  • Predizione delle funzioni biologiche e
    biofisiche sia dalle sequenze e sia dalle
    strutture
  • Simulazione dei processi metabolici e cellulari
    basati su queste funzioni.
  • Realizzazioni di sistemi per la correlazione
    dellinformazione in sistemi biologici complessi.

4
LOGICA
  • LOGICA, i principi logici che collegano la
    scrittura sintattica delle frasi con la loro
    verità e falsità possono essere ampliamente
    trovati in Platone (428-348 a.C.).
  • Il primo studio sistematico della logica è noto
    come il trattato di Organon, scritto dagli
    allievi di Aristotele.
  • La scuola di Megera e quella stoica pongono le
    basi per lo studio sistematico delle
    implicazioni, mentre lo studio di un linguaggio
    formale artificiale basato sulla notazione
    matematica per chiarire le relazioni logiche e
    ridurre linferenza logica ad un processo
    meccanico e formale si deve a Leibnz nel
    1600-1700.
  • Solo con Boole nella metà dellottocento si ha un
    sistema logico ragionevolmente completo il
    sistema includeva le parti principali della
    logica aristotelica ed un sistema analogo alla
    logica proposizionale moderna.

5
  • Le tavole della verità come metodo per la
    verifica della validità delle formule nel
    linguaggio proposizionale sono state introdotte
    simultaneamente ed indipendentemente da
    Wittgenstein (1922) e da Emil Post (1921).
  • Nel 1982 Quine descrive un metodo per lanalisi
    dei valori della verità che è molto efficiente
    basato su alberi di decisione.
  • La base di conoscenza o KB (Knowledge Base) è un
    insieme di rappresentazioni del mondo, ogni
    singola rappresentazione è denominata come
    formula, le formule a loro volta sono espresse in
    un linguaggio denominato linguaggio di
    rappresentazione della conoscenza.

6
LINGUAGGIO
  • Il linguaggio viene definito in un dizionario
    come "l'insieme di parole e metodi di
    combinazione di parole usate e comprese da una
    comunità di persone".
  • Loggetto della rappresentazione della conoscenza
    è lespressione della conoscenza espressa in
    forma trattabile automaticamente.
  • Alla base di tutta linformatica vi sono due
    concetti fondamentali, che risultano strettamente
    interconnessi tra loro quello di automa e quello
    di linguaggio.

7
SEMANTICA
  • La sintassi del linguaggio che descrive le
    possibili configurazioni che costituiscono le
    formule. Di solito rappresentiamo la sintassi in
    termini di formule per la carta stampata, in
    realtà la vera rappresentazione è allinterno di
    un computer ogni formula è implementata da una
    configurazione fisica.
  • La semantica determina le realtà del mondo a cui
    si riferiscono le formule. Con la semantica ogni
    formula asserisce qualcosa al mondo.
  • Ogni linguaggio, così come ogni lingua umana, è
    formato da parole che devono essere messe insieme
    secondo determinate regole (sintassi) al fine di
    ottenere un significato (semantica).

8
  • Il risultato di questo processo di astrazione
    consiste nella definizione di opportuni modelli
    matematici, cioè di sistemi formali che
    definiscono di fatto il concetto stesso di
    computabilità, cioè costituiscono l'ossatura
    portante della teoria della computabilità.
  • Tra i più noti di questi sistemi formali vi è una
    gerarchia di macchine astratte (la gerarchia
    caratterizza la capacità di risolvere classi
    diverse di problemi) che parte dagli automi a
    stati finiti e termina alla macchina di Turing.

9
  • I sistemi di produzione di Thue, Post, Markov
    partono invece dall'idea di automa come insieme
    di regole di riscrittura (dette anche produzioni
    o regole di inferenza) che trasformano frasi
    (insiemi di simboli) in altre frasi.
  • I diversi formalismi si differenziano invece
    radicalmente per il modo con cui giungono ad
    esprimere la soluzione ad un problema.

10
  • Verso la fine degli anni 30, Claude Shannon
    dimostrò che utilizzando un circuito elettrico
    dotato di un interruttore era possibile definire
    le condizioni VERO per il circuito aperto e FALSO
    per circuito chiuso.
  • Era possibile dunque effettuare delle operazioni
    logiche associando il numero 1 a VERO e il numero
    0 a FALSO.
  • Questo linguaggio venne chiamato linguaggio
    BINARIO. Il linguaggio binario è dunque il
    linguaggio che consente il funzionamento dei
    computer.

11
LINGUAGGIO BINARIO
  • Il linguaggio binario è dunque il linguaggio che
    consente il funzionamento dei computer.
  • Il bit significa binary digit, vale a dire 0 o 1.
  • Quindi la più piccola unità informativa
    manipolabile.
  • Con un solo bit possiamo avere sia 1 che 0.
  • Con due bit possiamo avere una combinazione di
    (22). Con tre bit 3 bits possiamo avere otto
    situazioni differenti (222).
  • Un ottetto è una unità di informazione composta
    da 8 bits, e permette di rappresentare caratteri,
    intesi come numeri o lettere

12
Linguaggio macchina
  • Quando nacquero gli elaboratori, l'unico modo di
    far comprendere loro un programma era quello di
    specificarlo nel loro stesso linguaggio, cioè il
    "linguaggio macchina" un linguaggio fatto solo
    di bit e di byte, in cui ogni operazione aveva un
    codice binario di identificazione e in cui ogni
    quantità, numerica o alfabetica, doveva essere
    caratterizzata dall'indirizzo dei byte di memoria
    centrale che la contenevano.

13
linguaggi assemblatori
  • Questo rendeva la programmazione un lavoro da
    specialisti. Il linguaggio macchina è il
    linguaggio programmativo della 1a generazione.
  • Ben presto si passò ai linguaggi della 2a
    generazione, cioè ai cosiddetti "linguaggi
    simbolici".
  • Ai byte si sostituirono dei codici convenzionali,
    diversi a seconda del ruolo svolto ad esempio se
    il byte 01010101 denotava la somma, esso si
    indicò con il codice ADD, facile da ricordare.
  • I linguaggi simbolici snellirono di molto la
    programmazione ed in effetti sono talvolta usati
    ancora oggi di solito sono detti "linguaggi
    assemblatori" ed essendo analoghi al linguaggio
    macchina permettono una programmazione
    particolarmente efficiente.

14
linguaggi algebrici
  • Si arrivò così ai linguaggi della terza
    generazione, detti "linguaggi algebrici", che
    possono essere utilizzati anche da persone senza
    una profonda conoscenza dell'informatica.
  • Il nome di questi linguaggi deriva dal fatto che
    in essi è possibile scrivere un'espressione quasi
    come si scrive in algebra e che l'elaboratore è
    in grado di riconoscere e tradurre nel proprio
    linguaggio macchina.

15
La base di conoscenza
  • La base di conoscenza o KB (Knowledge Base) è un
    insieme di rappresentazioni del mondo, ogni
    singola rappresentazione viene denominata
    formula, le formule a loro volta sono espresse in
    un linguaggio denominato linguaggio di
    rappresentazione della conoscenza.
  • Loggetto della rappresentazione della conoscenza
    è lespressione della conoscenza espressa in
    forma trattabile automaticamente. Un linguaggio
    di rappresentazione della conoscenza è definito
    da due aspetti

16
regola soggetto verbo complemento
  • Disporre le parole rispettando una regola non è
    sufficiente per dare loro un significato
  • es. 1 Il mio cane corre sul prato (sintassi
    corretta, significato valido)
  • es. 2 Il tuo gatto salta sulla macchina
    (sintassi corretta, significato valido)
  • es. 3 Il fiume beve sul mio cane (sintassi
    corretta ma priva di significato)
  • es. 4 Il prato corre nella mia macchina
    (sintassi corretta ma priva di significato)
  • Le regole per la costruzione delle frasi di un
    linguaggio sono espresse come produzioni di un
    sistema formale denominato grammatica.

17
  • In ambito più strettamente linguistico si intende
    per significato il contenuto semantico o senso di
    un segno linguistico.
  • Il termine semantica (che indicava anticamente,
    in medicina, la scienza che valuta i sintomi
    delle malattie) fu introdotto da Locke in
    filosofia per indicare lo studio dei segni
    linguistici.
  • Morris (1938 e 1946) ha introdotto la
    distinzione in sintattica che studia le
    relazioni dei segni tra di loro semantica, che
    studia le relazioni dei segni con gli oggetti cui
    sono applicabili.
  • Le regole per la costruzione delle frasi di un
    linguaggio sono espresse come produzioni di un
    sistema formale denominato grammatica.

18
Linguaggio
  • Per poter elaborare le informazioni, ovvero per
    eseguire tutte le operazioni che possono essere
    effettuate sulle informazioni (inserimento,
    archiviazione, modifica, ordinamento, calcolo,
    ecc.) è necessario definire un linguaggio, ossia
    uno strumento che sostituisca dei simboli
    particolari agli oggetti ed ai concetti.
  • Esistono diversi tipi di linguaggi, in
    particolare si distinguono tra
  • NATURALI
  • FORMALI

19
ALFABETO
  • Un modo più tecnico per definire il concetto di
    linguaggio è introdurre un insieme di simboli
    (detto alfabeto) e dire che "un linguaggio è un
    particolare insieme di frasi formate dai simboli
    dellalfabeto".
  • possiamo pensare di usare il linguaggio naturale.
  • Ad esempio, detto A l'insieme 0,1, diciamo che
    L1 è il linguaggio le cui frasi sono formate da n
    simboli 0 seguiti da n simboli 1, con n che
    denota un qualunque numero intero positivo. In
    base a questa definizione,
  • sono frasi di L1 0011, 01, 000111
  • non appartengono a L1 011, cane, ab, etc.

20
LINGUAGGI NATURALI
  • I linguaggi naturali sono quelli utilizzati
    quotidianamente dagli uomini per comunicare tra
    loro (italiano, inglese, francese, ecc.) sono
    dotati in una notevole ricchezza espressiva e
    semantica, ma possono dar luogo ad ambiguità,
    imprecisione e difficoltà di interpretazione.
  • I linguaggi formali sono quelli artificiali,
    creati dalluomo secondo regole ben definite e
    prive di eccezioni e di ambiguità (Pascal, Cobol,
    ecc.) sono dedicati a scopi precisi e
    circoscritti.

21
ALFABETI
  • Ogni tipo di linguaggio, in ogni caso, è
    costruito su un alfabeto.
  • Un alfabeto è definito come un insieme finito e
    non vuoto di simboli convenzionali.
  • Una stringa è costituita da una sequenza
    qualsiasi di simboli.
  • La stringa vuota è una stringa priva di simboli,
    indicata con ?.
  • La lunghezza di una stringa è il numero di
    simboli nella stringa, per esempio abc 3.

22
  • Un linguaggio su un alfabeto I è un insieme di
    stringhe costruite su I.
  • Con I si indica linsieme di tutte le stringhe
    su I, inclusa la stringa vuota.
  • Con I si indica linsieme di tutte le stringhe
    su I, esclusa la stringa vuota.
  • Per esempio, se I 0,1, allora I
    0,1,00,10,01,11,000,111,...

23
  • Esempi di alfabeti per i linguaggi naturali
    possono essere
  • italiano, composto da 21 lettere
  • inglese, composto da 26 lettere.
  • Esempi di alfabeti per i linguaggi artificiali
    possono essere
  • insieme linea, punto del linguaggio
    telegrafico
  • insieme dei colori rosso,giallo,verde del
    linguaggio semaforico
  • insieme delle cifre 0,1 utilizzato per il
    sistema di numerazione binaria.

24
GRAMMATICA
  • Dopo aver definito un linguaggio L su un alfabeto
    I, il primo problema che bisogna risolvere è la
    rappresentazione del linguaggio.
  • Se L è finito, allora basta elencare le stringhe
    che compongono il linguaggio.
  • Se L è infinito, allora bisogna trovare altre
    soluzioni
  • un primo metodo consiste nellintroduzione di un
    sistema generativo, denominato grammatica.
  • In pratica, ogni stringa del linguaggio viene
    costruita e strutturata in modo preciso e non
    ambiguo utilizzando le regole di una grammatica.
    Il linguaggio generato dalla grammatica G si
    indica con L(G) e rappresenta linsieme delle
    stringhe generabili da G

25
AUTOMA
  • Il concetto di automa può essere introdotto come
    segue per automa si intende un dispositivo che
    stabilisce una precisa relazione tra un dato di
    ingresso e un dato di uscita,
  • vincoli di realizzabilità fisica se l'automa è
    fatto di parti, queste sono in numero finito
    l'ingresso e l'uscita sono denotabili attraverso
    un insieme finito di simboli.
  • L'automa potrebbe essere realizzato da un insieme
    di dispositivi elettronici digitali, oppure da
    dispositivi meccanici o biologici.
  • L'obiettivo è di astrarre dai singoli, specifici
    casi concreti enucleando le caratteristiche
    ritenute essenziali.

26
AUTOMA
  • In pratica, lautoma accetta in input una
    qualsiasi stringa e risponde SI se la stringa
    appartiene al linguaggio associato, NO
    altrimenti.
  • Il linguaggio riconosciuto dallautoma A si
    indica con L(A) e rappresenta linsieme delle
    stringhe riconosciute da A.

27
AUTOMA
  • In generale, un automa è un dispositivo in grado
    di eseguire da solo, cioè in modo automatico,
    senza lintervento di una persona, una sequenza
    di azioni stabilite in precedenza.
  • Gli aspetti che caratterizzano il funzionamento
    di un automa sono
  • i simboli forniti dallesterno, che lautoma sa
    riconoscere nel loro significato
  • i simboli prodotti allesterno come risultato del
    lavoro svolto
  • linsieme di tutti i possibili stati che lautoma
    può assumere
  • linsieme di tutte le possibili transizioni di
    uno stato allaltro.

28
  • Il comportamento di un automa può essere
    descritto da un algoritmo che specifica le azioni
    da compiere e del quale lautoma è lesecutore.
  • Un automa è definito come una quintupla di
    elementi A (I,S,s0,F,T)
  • alfabeto dei simboli input I (i1, i2,,in),
    cioè linsieme finito dei simboli che lautoma è
    in grado di ricevere dallesterno,
    riconoscendoli
  • insieme dei possibili stati S (s1, s2,,sn) che
    lautoma può assumere durante il suo
    funzionamento
  • stato iniziale s0?S di partenza del funzionamento
    dellautoma

29
  • insieme degli stati finali F?S
  • funzione di transizione T (it, st-1) ? (st,ot)
    cioè la funzione che indica lo stato successivo
    di transizione allistante t e il simbolo che
    viene emesso verso lesterno, in relazione di un
    determinato stato precedente allistante t-1 e di
    un determinato simbolo input.
  • In generale, il funzionamento di un automa
    consiste nellaccettare un simbolo dallesterno
    ed emettere un simbolo in uscita, producendo un
    cambiamento di stato.

30
  • Una stringa sarà riconosciuta dallautoma se,
    partendo dallo stato iniziale s0 e avendo come
    input la stringa, esso dopo un certo numero di
    transizioni di stato si troverà in uno stato
    finale di F se alla fine lautoma non si trova
    in uno stato finale, allora la stringa sarà
    rifiutata.
  • Il funzionamento di un automa può essere
    descritto mediante un algoritmo, mediante un
    grafo di transizione oppure mediante la tabella
    della sua funzione.

31
DAL PROBLEMA ALLALGORITMO
  • Problema Qualunque problema che ci troviamo a
    dover risolvere genera delle domande a cui
    dobbiamo trovare una risposta.
  • Per la risoluzione di un problema si devono
    affrontare alcune fasi la prima fase consiste
    nellindividuare con precisione la domanda a cui
    rispondere e le risposte da ottenere (dati del
    problema).
  • La seconda fase consiste nella costruzione di uno
    schema che tenga conto solo degli aspetti
    importanti al fine della risoluzione del problema
    (modello del problema).
  • La terza fase è quella più creativa e consiste
    nellindividuare le operazioni da compiere per
    raggiungere il risultato stabilito del problema
    (algoritmo).

32
Dati e Azioni
  • Nella descrizione del problema occorre anzitutto
    definire i dati iniziali (dati di input) sui
    quali basare la soluzione del problema essi non
    devono essere né sovrabbondanti né troppo
    ridotti.
  • Poi bisogna definire i risultati che si vogliono
    ottenere (dati di output). In un problema i dati
    possono essere di tipo diverso numerico (solo
    cifre stipendio, importo, ecc.), alfabetico
    (solo lettere nome, cognome, ecc.) o
    alfanumerico (insieme di cifre e lettere codice
    fiscale, targa, ecc.).
  • Le azioni rappresentano le attività che si
    compiono in un intervallo

33
  • operazioni di tipo aritmetico quali i calcoli
    (somma, IVA 20, ecc.) o di tipo logico
    (confronto tra due valori AgtB, controllo per
    stabilire se è stata raggiunta la fine di un
    elenco, ecc.).
  • Per descrivere le azioni è necessario disporre di
    un linguaggio le descrizioni delle azioni sono
    dette istruzioni.
  • Una regola pratica per individuare quali sono i
    dati e quali le azioni di un problema, consiste
    nel trattare i sostantivi come dati e i verbi
    come azioni.

34
  • Modello è una forma semplificata di
    rappresentazione della realtà che tiene conto di
    tutti e solo gli elementi determinanti per la
    risoluzione di un problema (per esempio, la carta
    stradale per la risoluzione del problema della
    determinazione del percorso più breve tra varie
    città).
  • Algoritmo successione ordinata e finita di tutte
    le operazioni che devono essere eseguite per
    raggiungere il risultato del problema stabilito
    in precedenza.
  • Implementazione Per implementazione di un
    problema si intende il suo trasferimento su un
    sistema di elaborazione.
  • Risolutore Il risolutore è colui che progetta
    prima il percorso di risoluzione di un problema e
    successivamente lalgoritmo.
  • Esecutore Lesecutore è lente, nel senso
    generico di umano o automatico, che esegue le
    azioni secondo le istruzioni dellalgoritmo.

35
  • Rappresentazione degli algoritmi Per
    rappresentare un algoritmo occorre seguire delle
    modalità e regole precise. Per quanto riguarda le
    modalità, possiamo dividere la sua
    rappresentazione in tre parti
  • 1) riga di intestazione la prima riga contenente
    il nome che il risolutore decide di dare
    allalgoritmo per ricordare lobiettivo del
    problema (Algoritmo Media, Algoritmo Ordina,
    ecc.)
  • 2) sezione dichiarativa una o più righe
    contenente la descrizione degli oggetti che
    vengono usati dallalgoritmo, cioè nome e tipo di
    dati (base, altezza numeri reali
    pigrecocostante 3,14 ecc.)
  • 3) sezione esecutiva inizia con la parola begin
    (o inizio) e termina con end (o fine), e contiene
    lelenco ordinato delle istruzioni dellalgoritmo
    che lesecutore deve eseguire.

36
  • Vi sono poi delle regole per comunicare le
    istruzioni allesecutore
  • a) per indicare listruzione di acquisizione di
    dati si usa il comando input (o leggi) seguito
    dal nome della variabile da leggere, messo fra
    parentesi se le istruzioni di lettura sono più
    di una, si può utilizzare un elenco di variabili
    separandole con una virgola
  • input (base)
  • input (altezza)
  • oppure
  • input (base, altezza)
  • b) per indicare listruzione di comunicazione di
    dati si usa il comando output (o scrivi)
  • output (A)
  • output (B)
  • oppure
  • output (A, B)
  • c) per indicare lattribuzione di un valore ad
    una variabile si usa listruzione di
    assegnamento
  • A BC oppure A ? BC.

37
  • Esempio 1 Calcoliamo la media di tre numeri
    reali assegnati.
  • algoritmo MEDIA
  • variabili
  • A,B,C,M numeri reali
  • begin
  • input (A,B,C)
  • M ? (ABC) / 3
  • output (M)
  • end

38
  • Esempio 2 Dato un numero intero, calcolare il
    precedente e il successivo.
  • algoritmo PREC_SUCC
  • variabili
  • N,P,S numeri interi
  • begin
  • input (N)
  • P ? N 1
  • S ? N 1
  • output (P,S)
  • end

39
  • Esempio 3 Calcolare il punteggio totale
    attribuito da una giuria di 10 elementi ad un
    iscritto ad una gara.
  • algoritmo SOMMA
  • variabili
  • C,S,N numeri interi
  • begin
  • C ? 0
  • S ? 0
  • repeat
  • input (N)
  • S ? S N
  • C ? C 1
  • until C lt 10
  • output (S)
  • end

40
(No Transcript)
41
INFERENZA
  • La proprietà che un fatto segue altri fatti è
    rispecchiata dalla proprietà di una formula di
    essere derivata da unaltra formula.
  • Linferenza logica genera nuove formule che sono
    derivate da formule esistenti. A noi in generale
    interessa generare nuove formule che siano
    necessariamente vere, nel caso in cui le vecchie
    formule siano vere questa relazione viene
    chiamata implicazione.
  • Il termine di ragionamento ed inferenza sono
    solitamente sinonimi se usati per descrivere un
    procedimento che porta al raggiungimento di
    conclusioni.

42
INFERENZA
  • Linferenza logica è quindi un processo che
    realizza la relazione di implicazione fra
    formule.
  • Una formula è valida o necessariamente vera se e
    solo se è vera secondo tutte le possibili
    interpretazioni in tutti i mondi possibili. Cè
    un muro davanti a me e non cè un muro davanti a
    me è una formula insoddisfacibile.
  • Un sistema formale di logica per la descrizione
    di cose consiste quindi in
  • sintassi
  • semantica
  • una teoria della dimostrazione.

43
  • Esistono due tipi di logica
  • logica proposizionale o logica booleana
  • logica del primo ordine.
  • Nella logica proposizionale i simboli
    rappresentano intere proposizioni e le
    proposizioni possono essere combinate usando i
    connettivi booleani.
  • La logica di primo ordine affida la
    rappresentazione dei mondi in termini di oggetti
    e predicati su oggetti, cioè proprietà degli
    oggetti o relazione tra oggetti.
  • Si utilizzano connettivi e quantificatori che
    consentono di scrivere in una unica formula
    asserzioni riguardanti tutti gli elementi
    delluniverso.

44
  • Logiche speciali assumono assunzioni logiche
    superiori, ad esempio la logica temporale
    considera che il mondo sia ordinato da un insieme
    di punti di tempo.
  • i sistemi che usano la teoria della probabilità
    possono avere gradi di credenza che possono
    variare da 0 (credenza nulla) a 1 (certezza).

45
  • I sistemi basati sulla logica fuzzy possono avere
    gradi di credenza secondo gradi di verità. Un
    fatto non deve essere vero o falso, ma può essere
    vero fino ad un certo grado. Ad esempio
    laffermazione La Juventus è una grande squadra
    può essere vera con un certo grado di verità.

46
(No Transcript)
47
LA LOGICA PROPOSIZIONALE
  • La sintassi della logica è molto semplice in
    quanto utilizza le costanti logiche, vero-falso,
    i simboli preposizionali P e Q e i connettivi
    logici. Tutte le formule sono costruite
    utilizzando i simboli secondo alcune regole
  • Le costanti logiche Vero o Falso sono formule
  • Un simbolo preposizionale come P o Q è una
    formula
  • Mettere delle parentesi determina una formula

48
  • Una formula può essere ottenuta combinando
    formule semplici con i connettivi logici.
  • ? (and). Una frase in cui il connettivo
    principale è ? (P?Q) è chiamata congiunzione
  • ? (or). Una formula che usa ?, A ? (P?Q) è una
    disgiunzione dei disgiunti (il simbolo ? deriva
    dal latino vel che significa o).
  • Una formula come (P?Q) R è chiamata
    implicazione.
  • La parte (P?Q) rappresenta la premessa o
    antecedente, mentre R costituisce la conclusione.
  • La formula (P?Q) (Q?P) è una
    equivalenza
  • chiamata anche bicondizionale.
  • (not). Una formula come P è chiamata negazione.

49
  • In molti casi la logica preposizionale non
    necessita di alcuna relazione per la rilevanza
    tra P e Q. Ad esempio la frase 5 è dispari
    implica Parigi è una capitale è un poco strana,
    ma corretta.
  • Una confusione inoltre deriva dal fatto che
    qualsiasi implicazione è vera quando il suo
    antecedente è falso. Ad esempio posso avere 5 è
    pari (Falso) Giovanni è stupido (vero). In
    realtà dovrei dire P e Q se P è vero, allora Q è
    vero, altrimenti non sostengo nulla.
  • Qualsiasi mondo in cui una formula sia vera
    secondo una particolare interpretazione è
    chiamato modello

50
Le grammatiche.
  • Il mondo è costituito da oggetti, cioè identità
    individuali con proprietà e relazioni, se le
    relazioni sono tali per cui esiste un solo
    ingresso si parla di funzioni.
  • Un linguaggio formale è definito come un insieme
    di stringhe in cui ogni stringa è una sequenza di
    simboli. Tutti i linguaggi sono quindi un insieme
    infinito di simboli che ha bisogno di un modo
    conciso di rappresentazione che è dato dalla
    grammatica.

51
(No Transcript)
52
MODELLO
  • La conoscenza e la comprensione di fenomeni
    complessi in ambito della ricerca sono
    rappresentate come modello. Il metodo scientifico
    è basato sulla creazione, verifica, modifica del
    modello di rappresentazione del mondo. La
    finalità del modello è quella di semplificare e
    di spiegare la complessità dei diversi fenomeni.
    Le scienze applicate usano i modelli per predire,
    controllare e comprendere la realtà del mondo.

53
  • Il modello è una rappresentazione che contiene
    gli elementi essenziali degli oggetti o degli
    eventi che si realizzano nel mondo reale. 
  • La rappresentazione di un modello può avvenire
    secondo due modalità.
  • FISICA. Come un modello di aeroplano o il modello
    di una costruzione.
  • SIMBOLICA. Come nel linguaggio naturale, un
    programma al computer o una serie di equazioni
    matematiche.

54
  • I modelli possono essere facilmente cambiati o
    manipolati il cambiamento di un modello
    simbolico è certamente più facile rispetto al
    cambiamento in un modello fisico. I valori che si
    modificano in un modello sono chiamati parametri.

55
  • La costruzione del modello passa attraverso
    quattro fasi
  • SEMPLIFICAZIONE e IDEALIZZAZIONE si identificano
    gli elementi essenziali della struttura (oggetti
    ed eventi).
  • MANIPOLAZIONE e TRASFORMAZIONE rappresentano le
    implicazioni derivate dal modello.
  • RAPPRESENTAZIONE e MISURA sono il formalismo che
    descrive gli oggetti, gli eventi e le loro
    relazioni. Questo è il processo di traduzione
    dalle parole allespressione algebrica in
    statistica utilizziamo i simboli dellalgebra
    (misure) per dare significato al processo
    chiamato misura.
  • VERIFICA. Le implicazioni derivate sono
    confrontate con i risultati o le osservazioni nel
    mondo reale

56
(No Transcript)
57
...dal bit al linguaggio R
58
In principio era il bit
  • Per intenderci 0 e 1, il linguaggio macchina.
  • Tra gli anni '40 e gli anni '50, la
    programmazione degli elaboratori elettronici era
    destinata solamente a una ristrettissima cerchia
    di esperti.

59
  • Progenitore di tutti i computer è l'ENIAC
    (Electronic Numerical Integrator And Calculator
    ), al cui progetto partecipò J. von Neumann.

60
EVOLUZIONE STORICA DEL CALCOLO
  • ABACO
  • 1642 Blaise Pascal

61
  • 1822 C. Babbage

62
Linguaggio Assembly
63
PRIMO VERO LINGUAGGIO DI PROGRAMMAZIONE
  • FORTRAN (FORmula TRANslation)
  • L'ideatore fu John Backus.
  • Lo scopo principale era quello di automatizzare
    calcoli matematici e scientifici.
  • Sulla sua scia vennero progettati moltissimi
    altri linguaggi di alto livello.

64
Linguaggio di programmazione di secondo livello
  • Algol
  • Progettato da un comitato internazionale con
    l'obiettivo di creare un linguaggio universale.
  • La sua indipendenza dalla macchina concedeva
    maggiore creatività ai progettisti.

65
Aree di applicazione
  • ALGOL è stato utilizzato in particolare da
    scienziati europei e americani interessati a
    ricerche sui computer.
  • La sua applicazione in ambito commerciale è
    stata interdetta.
  • ALGOL 60 divenne comunque lo standard per la
    pubblicazione di algoritmi.

66
1960COBOL
  • COmmon Business Oriented Language
  • Utilizzato per sviluppare programmi gestionali.
  • La sua diffusione è dovuta alla facilità della
    sue istruzioni, molto simili a frasi inglesi.
  • Trovando una grandissima applicazione nelle
    aziende, ebbe molto successo.

67
Per i programmatori pricipiantiBASIC
  • Beginner's All purpose Symbolic Instruction Code
  • Sviluppato a Dartmouth College, grazie al
    progetto di J. Kemeny e T. Kurtz (1964).
  • E tra i migliori linguaggi utilizzati nelle
    scuole a scopo didattico.
  • Realizza un'ampia gamma di applicazioni e dispone
    di molte versioni.
  • Dal BASIC discende il filone dei vari Visual
    BASIC, linguaggi visuali orientati agli oggetti,
    con l'interfaccia grafica (bottoni, finestre
    etc.).

68
Chi è Pascal?
  • Sviluppato da Niklaus Wirth, membro
    dell'International Federation of Information
    Processing (IFIP).
  • La pubblicazione originale del linguaggio avvenne
    nel 1971, ma fu scelto per linsegnamento dagli
    anni 60 alla fine degli anni 80.
  • Consente lo sviluppo di programmi ben strutturati
    e ben organizzati.
  • E diretto discendente di ALGOL 60.

69
Il più basso tra i più altiil linguaggio C
  • Linguaggio ad alto livello definito come il
    linguaggio di piu' basso livello tra i linguaggi
    ad alto livello.
  • Dennis Ritchie realizzò la prima versione nel
    1972 a Bell Laboratories.
  • I suoi principi erano presi dal precedente
    linguaggio B e il B aveva ereditato certe
    caratteristiche da BCPL e CPL.
  • Nasce per lo sviluppo di sistemi operativi,
    quindi per software di basso livello.

70
Combined Programming Language (CPL)
  • Problema
  • occupava troppo spazio per poter girare in molte
    applicazioni.
  • Soluzione
  • 1967 venne creato il BCPL (Basic CPL), versione
    ridotta che non perde le sue funzioni di base.

71
  • La potenza e flessibilità del C apparve subito
    evidente e per questo il sistema operativo di
    Unix, scritto in assembly, venne riscritto
    immediatamente in C.
  • Riesce a mantenere semplicita' d'uso ma

72
Cè un trucco
  • Affida le funzioni più complesse a un'insieme di
    librerie esterne, esattamente come il MacOS.

73
C
  • E' un'estensione del C.
  • Fornisce una serie di funzioni che potenziano il
    C.
  • Software Engineering
  • Grafica

74
  • Sviluppato nei primi anni '90 alla Sun
    Microsystem.
  • E' orientato agli oggetti.
  • E' indipendente dalla piattaforma.
  • Contiene strumenti per il networking.
  • E' progettato per eseguire codici in modo sicuro.
  • Il bytecode viene eseguito dalla JVM (Java
    Virtual Machine).

75
LINGUAGGIO R
  • Nasce in Nuova Zelanda.
  • Basato sulla probabilità e la statistica.
  • Usato per la progettazione di software di
    biologia molecolare
  • Esistono diverse versioni.
  • Progetto Bionconductor.

76
Però..
  • I linguaggi si dividono infine in base alla
    modalità di esecuzione
  • Un file.exe è un file che è stato scritto in un
    certo linguaggio X e poi è stato tradotto nel
    linguaggio macchina (il linguaggio X è
    compilato).
  • Un file.bat è un file che viene eseguito senza
    dover essere compilato di volta in volta
    (linguaggio interpretato).

77
  • Ora,resta solo un'ultima,fondamentale e
    importante domanda

78
Perchè tutti questi linguaggi?
  • Perchè col tempo sono cambiate le esigenze
  • Negli anni '60 tutto era molto sperimentale
  • Gli anni '70 hanno portato alla diffusione dei
    linguaggi procedurali. Il software è artigianato
  • Gli anni '80 portano alla diffusione dei primi pc
    e alla pragrammazione ad oggetti. Il software è
    manifattura seriale
  • Gli anni '90 portano alla programmazione ad
    aspetti. Il software è commerciale
  • Gli anni 2000 portano allo sviluppo complesso.
    Non esiste più il concetto di software ma di
    servizio.

79
Conclusioni
  • Ciascun programmatore sceglierà sempre e
    comunque uno specifico linguaggio da utilizzare
    in base al problema da risolvere.
Write a Comment
User Comments (0)
About PowerShow.com