Riassunto manuale sull'automazione e 4 saggi di Logica e Linguaggio della Prof. Casadio, Past Exams for Logic
C_dots
C_dots

Riassunto manuale sull'automazione e 4 saggi di Logica e Linguaggio della Prof. Casadio, Past Exams for Logic

47 pages
14Number of visits
Description
Saggi di Frege, Jackendoff, Chomsky, Dreyfus
20 points
Download points needed to download
this document
Download the document
Preview3 pages / 47
This is only a preview
3 shown on 47 pages
This is only a preview
3 shown on 47 pages
This is only a preview
3 shown on 47 pages
This is only a preview
3 shown on 47 pages
Riassunti esame

Manuale

Basi Logiche Concetti logici

Proposizioni: Dette anche enunciati, asserzioni, affermazioni; possono essere complesse o semplici, possono contenere componenti che esprimono concetti logici. Esprimono informazioni, dati, notizie e si usano per sviluppare ragionamenti e argomentazioni. Sono studiate per il loro significato (semantica), uso (pragmatica), proprietà strutturali (sintassi) e proprietà logiche ( forma logica). Proposizioni semplici: Il gatto è un felino Proposizioni complesse: il gatto è un felino e 3 è un numero dispari. Le proposizioni studiate dalla logica sono gli enunciati dichiarativi al modo indicativo con tempo presente o passato e alla terza persona singolare o plurale. EX: Venere è un pianeta. Non ricadono in questa categoria gli enunciati dotati di vari tipi di forza illocutoria ad esempio domande o imperativi. Le proposizioni possono solamente essere vere o false.

Connettivi logici: Nel calcolo delle proposizioni o logica preposizionale sono definiti i seguenti cinque operatori o connettivi logici fondamentali: - Negazione: ̃A che si legge “non A”, “non si dà il caso che A” - Congiunzione: A ̂B che si legge “e” - Disgiunzione : A ̌B che si legge “o” - Condizione o Implicazione: A —> B si legge “se A allora B” dove

B è la conseguenza di A e A è il condizionale; si interpreta “se vale A, allora vale anche B” oppure “A dipende da B”

- Equivalenza o Bicondizionale: A<—>B si legge “ A se e solo se B”. Si equivalgono.

Questi connettivi sono detti logici perché introducono operazioni verofunzionali: la verità o la falsità di una proposizione complessa è determinata dalla verità o falsità delle proposizioni che la formano

in base alle connessioni istituite dai connettivi. Il valore di ciascun connettivo è espressione dai valori 0 o 1. Come segue:

Negazione: se A è una proposizione, ̃A è la sua negazione quindi: se A è vera, ̃A è falsa; se ̃A è vera, A è falsa.

Congiunzione: date le preposizioni A, B la proposizione A ̂B è la loro congiunzione, con la condizione: A ̂B è vera solo se sia A che B sono vere; se o A o B o entrambe sono false A ̂B è falsa e ha valore 0.

Disgiunzione (inclusiva): date le proposizioni A, B, la proposizione A ̌B è la loro disgiunzione con la condizione: A ̌B è vera (1) se o A è vera, o B è vera o entrambe sono vere; A ̌B è falsa se e solo se sia A che B sono false.

Implicazione (condizione materiale): date le proposizione A, B la proposizione A—>B è il condizione A implica B, in base alla condizione: A—>B è vera se e solo se non si il caso che l’antecedente A sia vero e il conseguente B falso. A—>B è falsa se A è vera e B è falsa.

Equivalenza (bicondizionale): date le proposizione A, B, l’equivalenza A<—>B è una proposizione, con la condizione di verità: A<—>B è vera solo se A e B sono entrambe vere o entrambe false; altrimenti A<—>B è falsa.

Proprietà logiche: nella logica preposizionale, le proposizioni complesse sono ottenute collegando proposizioni semplici mediante i connettivi logici, in particolare quelli sopra menzionati. Quando la funzione di verità è determinata da da una proposizione assume sempre il valore 1 si dice che la proposizione è una tautologia del calcolo delle proposizioni; quando la funzione di verità assume sempre il valore 0 abbiamo una contraddizione; infine quando la funzione di verità assume in cercasi il valore 1 ed in certi casi il valore 0 si dice che la proposizione è contingente.

Tautologia: Una proposizione è una tautologia se e solo se la funzione di verità da essa determinata assume sempre il valore 1 per qualsiasi assegnazione di valori di verità alle sua parti costituenti. Sono tautologie le proposizioni logiche:

Contraddizione: Una proposizione è una contraddizione se e solo se la funzione di verità da essa determinata assume sempre il valore 0 per qualsiasi assegnazione di valori di verità alle sue parti costituenti. Sono contraddizioni le proposizioni:

Contingenza: Una proposizione si dice contingente se e solo se la funzione di verità da essa determinata assume il valore 1 per certe assegnazioni di valori di verità alle sue parti costituenti e il valore 0 per certe altre assegnazioni di valori di verità alle sue parti costituenti. Sono contingenti le proposizioni:

Una tautologia è una proposizione che risulta vera per qualunque assegnazione di valori di verità, dunque indipendentemente dalla situazione di fatto. Per questa ragione le tautologie sono dette anche leggi logiche. D’altro lato, una contraddizione è una proposizione che risulta sempre falsa, per qualunque assegnazione di valori di verità, indipendente dalla situazione di fatto; in particolare, la negazione di una tautologia è sempre una contraddizione.

Operatori Booleani

L’algebra di Boole è un ramo dell’algebra astratta che comprende tutte le algebre che operano con i soli valori (0,1), detti variabili booleane o logiche. La struttura algebrica studiata dall’algebra booleana è finalizzata all’analisi logica delle proposizioni nell’ambito del calcolo proposizionale. L’algebra booleana definisce gli operatori logici AND ( ̂ ), OR ( ̌ ), NOT ( ̃ ) la cui combinazione permette di sviluppare qualsiasi funzione logica e consente di trattare in termini esclusivamente algebrici le operazioni logiche di congiunzione, disgiunzione e negazione, corrispondenti alle operazioni insiemistiche di intersezione, unione e complemento, e le altre operazioni definibili sulla base di queste. Come l’operazione logica di congiunzione, la connessione AND di due proposizioni è VERA quando entrambe sono VERE, altrimenti è FALSA. Come l’operazione logica di disgiunzione, la connessione OR di due proposizioni è VERA quando entrambe le proposizioni sono VERE, o una delle due è VERA, altrimenti è FALSA. Con l’operazione numerica condivide la proprietà che applicandola due volte si ritorna al valore originale:

Questa proprietà dell’operatore NOT è detta involuzione e ha come corrispondente la legge logica classica detta della doppia negazione

Connettivi logici e circuiti. Un circuito elettrico che contiene solo interruttori a due posizioni, così che quando un interruttore è chiuso passa la corrente (1), quando è aperto la corrente non passa (0), può essere rappresentato da un diagramma in cui ciascun interruttore è rappresentato da una lettera, che corrisponde ad un enunciato del calcolo proposizionale. 
 In particolare la forma preposizionale congiuntiva A ̂B è rappresentata da un circuito con due interruttori in serie; la corrente passa solo se entrambi sono chiusi (entrambe le prop sono vere).

La forma preposizionale disgiuntiva A ̌B è rappresentata da un circuito con due interruttori in parallelo, la corrente passa quando uno dei due interrotti è chiuso o sono entrambi chiusi.

Operatori Booleani e dualità Gli operatori booleani AND e OR sono caratterizzati dalla fondamentale proprietà della reciproca dualità, ottenuta attraverso l’applicazione dell’operatore NOT. Nella logica preposizionale queste proprietà viene espressa dalle seguenti LEGGI DI DE MORGAN:

consentono di definire la congiunzione logica ̂ nei termini della disgiunzione ̌ e vice versa. Intuitivamente, il significato della prima legge DM1 è che la negazione di una forma congiuntiva, in cui occorrono due proposizioni A e B, equivale ad una forma disgiuntiva in cui entrambe A e B occorrono negate; analogamente il significato della DM2 è che la negazione di una forma disgiuntiva equivale ad una forma congiuntiva in cui entrambe A e B occorrono negate.

Se un elemento non appartiene all’unione tra A e B allora non appartiene ad A e nemmeno a B.

Porte Logiche Simboli usati in elettronica digitale per rappresentare operatori NOT, AND, OR e altri importanti operatori basati su di essi; gli input sono a sinistra e il segnale passa attraverso l’output. I circoli rappresentano l’inversione dei segnali di input o di output.

OPERATORE NOT Come la negazione logica, l’operatore NOT restituisce il valore inverso rispetto a quello in entrata, il simbolo è:

OPERATORE OR L’operazione logica OR restituisce il valore 1 se almeno uno degli elementi ha valore 1. Detta somma logica.

OPERATORE AND L’operatore AND dà come valore 1 se tutti gli elementi hanno valore 1. Tale operazione è detta anche prodotto logico.

OPERATORE XOR Detto anche EX-OR o OR esclusivo, è introdotto dal simbolo

restituisce valore 1 se e solo se uno dei due elementi A o B ha valore 1.

OPERATORE NAND Negazione del risultato dell’operazione AND, è introdotto dal simbolo

Restituisce valore 0 solo se tutti gli elementi hanno valore 1.

OPERATORE NOR Negazione del risultato dell’operazione OR, è introdotto dal simbolo

restituisce valore 1 se e solo se tutti gli elementi hanno valore 0.

OPERATORE XNOR: È la negazione del risultato dell’operazione XOR. Restituisce valore uno se tutti hanno valore 1 o se tutti hanno valore 0.

Relazione tra NAND vs OR e NOR vs AND

Fumo o non fumo, cosa mi serve?

Le porte logiche possono essere impiegate per rappresentare l’organizzazione e la combinazione di vari tipi di risorse o info e le relazione che intercorrono tra di essere. Un insieme di porte AND e OR è il seguente. Date le seguenti risorse e informazioni: S Siga P Pipa T Tabacco F Fiammiferi A Accendino VF Voglia di Fumare DF Divieto di Fumare

si costruisce un diagramma delle condizioni di base: (((P AND T) OR S) AND (F OR A) AND VF (NOT DF)

Argomenti e Inferenze Logiche

Inferenze e organizzazione delle conoscenze Gli argomenti o argomentazioni sono insiemi di proposizioni collegate tra loro da qualche proprietà, che può essere di natura semantica, pragmatica o logica. Argomenti logici sono quelli in cui le proposizioni che vi compaiono sono collegate fra di loro da proprietà logiche. Questi argomenti sono dotati di una certa organizzazione formale detta forma logica. Sono logiche quelle proprietà in base alle quali nei ragionamenti, date certe proposizioni, altre seguono necessariamente in virtù di quelle. Il termine inferenza indica una qualsiasi sequenza finita di proposizioni delle quali l’ultima è ottenuta come conclusione delle precedenti; queste sono chiamate premesse mentre l’ultima è chiamata conclusione. I processi in base a cui vengono costruite inferenze, e vengono ricavate, inferite, derivate, nuove proposizioni sono di fondamentale importanza per l’organizzazione delle nostre conoscenze e per l’attivazione delle strategie che conducono alla soluzione di problemi. Questi processi di logica sono chiamati dimostrazioni.

Dimostrazioni vs Refutazioni Le inferenze possono essere considerate da due punti di vista opposti: o come dimostrazioni di una data prop o di un insieme di prop oppure come confutazioni di una data prop o un insieme di prop. La prima prospettiva può essere rappresentata come un processo top-down, che si sviluppa dalle premesse alla conclusione; la seconda come un bottom-up che risale dalla conclusione alle premesse. Le dimostrazioni servono a stabilire proposizioni mentre le refutazioni servono a respingerle.

Al concetto di congiunzione è associata la regola: una dimostrazione della proposizione A e B è costituita da una coppia di dimostrazioni, una per la proposizione A e un’altra per la proposizione B. Al concetto di disgiunzione è associata la regola: una refutazione della proposizione A o B è data da una coppia di refutazioni, una per la prop A e un’altra per la prop B.

Dimostrazione da ipotesi Riguarda il modo in cui certe conclusioni possono essere ricavate da un insieme di premesse. In generale, una dimostrazione di una proposizione A dalla proposizione B è anche detta derivazione di A da B. In una dimostrazione di una conclusione A da un’ipotesi, o premessa B, ogni singolo passo compiuto per ricavare la conclusione A dall’ipotesi B viene chiamato inferenza. Una dimostrazione di una proposizione A da una proposizione B è sempre sia il ricavare A da B, sia ricondurre A a B. In primo modo, una dimostrazione di una conclusione a da una ipotesi B può essere considerata come l’atto di ricavare la conclusione A dall’ipotesi B (top-down) ed esprime il movimento che va dall’ipotesi alla conclusione. Nell’altro modo una dimostrazione di A da B è considerata come la riconduzione della conclusione A all’ipotesi B questa modalità dal basso verso l’alto o “bottom-up” ed indica il processo che risale dalla conclusione verso le premesse. La presentazione dall’alto verso il basso di una dimostrazione di A da B corrisponde alla situazione in cui la dimostrazione è stata trovata e viene comunicata, esibita. La presentazione dal basso verso l’alto di una dimostrazione di A da B corrisponde al processo con il quale quella dimostrazione viene cercata e individuata.

Dualità e informazione La dualità pervade profondamente tutti gli ambiti della conoscenza e in particolare della logica ed è alla base della comunicazione tra le dimostrazioni e della loro dinamica. La dualità richiede la presenza di due punti di vista alternativi fra loro, con i quali si esprimono gli oggetti della nostra conoscenza o i contenuti dell’informazione.

Esempi di concetti duali: venditore - acquirente, output - input Due preposizioni sono dette logicamente duali quando sono duali rispetto alla coppia di punti di vista dimostrazione - refutazione: ogni dimostrazione dell’una è una refutazione dell’altra, e viceversa. Due proposizioni logicamente duali esprimono la stessa informazione sotto due punti di vista alternativi, quello della dimostrazione e quello della refutazione. Negazione concetto importante della dualità.

Ontologie Nozioni preliminari Area della filosofia che si occupa dello studio dell’essere dal punto di vista delle sue proprietà generali e indipendenti dalle sue determinazioni particolari. In una prospettiva cognitiva, un ontologia è la specificazione di una concettualizzazione condivisa degli elementi di un dominio, un modo per organizzare e categorizzare il mondo e le nostre conoscenze. Tecnicamente una ontologia descrive il modo in cui diversi schermi relazionali vengono combinati in una struttura di dati contenente tutte le entità rilevanti e la specificazione delle loro relazioni in un certo dominio. I programmi informatici possono usare le ontologie per: classificazione e organizzazione delle info, ragionamento induttivo e probabilistico, svariate modalità di risoluzione di problemi. A partire dagli anni’50 del secolo scorso le ontologie sono state impiegate in vari ambiti di organizzazione della conoscenza. Grande varietà di applicazione nel campo dell’IA, dello sviluppo di sistemi esperti e della cibernetica. La rappresentazione delle conoscenze prevede due momenti caratteristici: una fase descrittiva, tassonomica, che consiste nella descrizione delle conoscenze, la loro selezione, definizione e formalizzazione. E una fase operativa, applicativa, che consiste nell’uso delle info rappresentate in base agli scopi da raggiungere.

Categorizzazione e Percezione L’organizzazione delle conoscenze e lo studio delle proprietà dei concetti si basano sulla attività teorica e cognitiva nota in letteratura come categorizzazione. Definiamo categoria un insieme di oggetti individuati da una o più proprietà distintive. Le nostre sono organizzate in modo tale da riflettere le relazioni tra i concetti attraverso una rete articolata di relazioni, che la filosofia, la psicologia e le scienze cognitive hanno rappresentato in vari modo dando luogo a diversi modelli teorici della categorizzazione. Tali relazioni possono essere: - Semantiche: cognitive, relative al contenuto, culturali. - Tassonomiche: ottenute su base classificatoria. Ex: mammifero

—> felino —> gatto - Associative: organizzazione di conoscenze per associazione. Ex:

gatto & colore nero—-> gatto nero

Albero di Porfirio Per analizzare le conoscenze sono utili rappresentazioni mediante diagrammi e grafi come questo albero del cazzo, costruito come le biforcazioni di un albero al fine di rappresentare la coordinazione e subordinazione delle categorie coinvolte.

Teoria classica Secondo la teoria classica un concetto è spiegato tramite tratti o features che fungono da condizioni necessarie per determinare l’appartenenza a una categoria. Nonna = donna e genitore di genitore. Poiché gli attributi o specificazioni rappresentano proprietà che si applicano ad elementi che appartengono ad una determinata categoria, i confini tra una categoria e l’altra sono ben delineati e definiti. Tuttavia ha il limite di non riuscire a rendere conto di molti concetti naturali e delle relazioni tra categorie. Prendendo dunque in esame la collezione di oggetti o individui, osserviamo che nella maggioranza dei casi essere sono correlati da insiemi di condizioni che si sovrappongono. Principali obiezioni: - Criterio di identificazione delle proprietà che caratterizzano una

categoria e la distinguono da una simile. Tigre: mammifero, animale, felino, colore.

- Criterio di appartenenza ad una categoria. Sono frequenti i casi in cui non si trova un accordo sulla classificazione di un oggetto, vi sono casi incerti o non chiami come tappeto, mobile o tessuto.

- Criterio della tipicità: membri di una stessa categoria non condividono tutti le stesse caratteristiche.

- Criterio della ereditarietà: incrocio fra categorie.

Teoria del Prototipo Elaborata da Eleanor Rosch. Secondo tale teoria, le categorie naturali sono organizzate attorno ad un esemplare migliore, il prototipo, che costituisce il rappresentate medio, lo standard rispetto al quale giudicare l’appartenenza o meno alla categoria in questione. In base a ciò le proprietà non valgono per tutti gli elementi di una categoria, ma solo per il prototipo. Struttura gerarchica.

Sovraordinato: categorie generali Intermedio: concetti con molte proprietà in comune (famiglia) Subordinato: diversi insiemi di proprietà della categoria base (razza)

Risolve il problema di tipicità e ereditarietà della teoria classica. Anche questa teoria ha incontrato difficoltà, specialmente sul criterio di somiglianza.

Teoria funzionalista Lo psicologo statunitense Barsalou ha sollevato varie obiezioni alla teoria strutturalista del prototipo, proponendo un modello funzionalista che postula che la categorizzazione non è un processo stabile ma variabile e dipendente dal contesto: persone diverse, ma anche la stessa persona, possono formarsi concetti diversi relativamente ad una stessa categoria di oggetti in relazione alla loro occorrenza in contesti e situazioni diverse. Per esempio, se si considera la categoria MOBILI nel contesto di cucina, fornello sarà più tipico di scrivania. In un contesto che valorizza uso e scopo, i concetti non sono più stabili, ma dipendono in modo rilevante dal contesto in cui vengono elaborati ed impiegati. Per la

categorizzazione si dimostra fondamentale, l’organizzazione delle conoscenze, così come sono rappresentate nella mente dai concetti. In un contesto in cui è saliente la collocazione storica, Boston vorrà dire Rivoluzione Americana mentre geografico USA.

Rappresentatività Poiché gli esseri umani basano i loro giudizi, sul grado di corrispondenza tra le caratteristiche di tale evento e le proprietà della categoria a cui appartiene, gli esempi rappresentativi tendono ad essere giudicati più frequenti degli esempi non rappresentativi. Negli studi sulla categorizzazione si è dimostrato che gli oggetti più rappresentativi di una categoria sono quelli che più velocemente sono guidati appartenere a tale categoria: un canarino è più rappresentativo della categoria UCCELLI di uno struzzo. Una rappresentazione è qualcosa che sta per qualcos’altro. Abbiamo due uomini o mondi messi in relazione: il mondo rappresentato e il mondo rappresentante. Il sistema del secondo fornisce gli elementi in basi ai quali analizzare, ricostruire e conoscere il primo. Le rappresentazioni servono quindi a capire, disegnare, le proprietà del mondo rappresentato. I sistemi di rappresentazione forniscono informazioni relative al mondo che costituisce il loro oggetto secondo due modi: - stesse info ma modi diversi di organizzazione. Tanti sistemi per

cogliere - informazioni diverse con stesso sistema per coglierle. Più

informazioni per un sistema.

Il modello idraulico ha costituito una rappresentazione appropriata del sistema di circolazione sanguigna umano per ci si parla del cuore come pompa, delle vene come condotti.

Modelli rappresentazionali

I modelli di rappresentazione possono essere confrontati in base a diversi criteri come la modalità di definizione, la scelta tra modalità “top-down” vs “bottom-up, dimensioni di staticità e dinamicità. E avremo - Modelli dichiarativi: reti semantiche, tassonomiche, ontologie - modelli descrittivi: Frames, Scripts - Modelli statistico - probabilistici: reti neurali

Reti semantiche Tra i modelli di rappresentazione della conoscenza, quelli con maggiore impiego in informatica e IA sono le reti semantiche. Sono grafi orientati da vertici (concetti) e archi (relazioni). Dizionari elettronici che sfruttano le proprietà della teoria dei grafi, e possono essere letti da una macchina. Le reti semantiche sono impiegate nell’ambito della deduzione logica, automatizzata, nello studio dei grafi concettuali e in vari modelli di rappresentazione delle conoscenze lessicali e traduzione automatica. Capacità di rappresentare le relazioni di dominanza. Un noto esempio è WordNet, un ampio data base lessicale della lingua inglese dotato di semantica associativa. Nomi, verbi, aggettivi e avverbi sono raggruppati in insiemi di sinonimi cognitivi. I collegamenti sono di tipo lessicale e semantico. I ragionatori attualmente utilizzati con le ontologie possono essere ricondotti direttamente ai primi Theorem provare dell’IA che ricevevano una serie di assiomi in input e restituivano teoremi.

Organizzazione delle conoscenze tramite ontologie L’impiego fondamentale delle ontologie è nell’ambito dell’organizzazione delle conoscenze. L’ontologia è utile quando: - si intende guardare ad una stessa classe di risorse da punti di

vista differenti - si prevede la necessità di cambiare alcune relazioni tra le risorse

trattate e in generale di dover modificare la classificazione adottata (in seguito a nuove scoperte)

Un’ontologia è composta da due elementi: un T-box (scatola dei termini) e una A-box (scatola delle asserzioni) che insieme formano la “Knowledge Base” (KB). La T-Box è la parte tassonomica dell’ontologia, dove sono definiti i concetti, i termini usati per denominarli, e le proprietà e relazioni che possono sussistere tra

loro. La A-Box è la parte dell’ontologia che contiene i fatti, dove cioè le singole istanze (oggetti, individui) sono classificate come appartenenti ad una precisa classe e dove sono indicate le proprietà definite per la classi di appartenenza di ciascuna istanza; in parole povere è la “sostanza” dell’ontologia.

Una ontologia consta di: - una lista di termini gerarchicamente ordinati, i.e. una tassonomia - definizioni formali dei termini (espresse in un certo formalismo

logico) - proprietà e relazioni tra termini (la T-box) - Una lista di assegnazioni di tipi a risorse e instanziazioni di

proprietà e relazioni (la A-Box).

Le Ontologie assolvono ad alcune funzioni essenziali: - condividere conoscenze comuni delle strutture di informazione - permettere il riuso di domini di conoscenza - fare assunzioni esplicite sul dominio Per organizzare le conoscenze tramite ontologie ci si basa su operazioni di concettualizzazione: rappresentazione formale della realtà come percepita e organizzata da un agente, indipendentemente dalla modalità di rappresentazione che viene impiegata, in particolari situazioni. Situazioni differenti, che coinvolgono gli stessi oggetti, descritti da differenti vocabolari, devono condividere la stessa concettualizzazione. Una ontologia può quindi essere definita come una specificazione esplicita, formale, di una concettualizzazione condivisa. Deve poter essere compresa da una macchina; vengono definiti in maniera esplicita sia i concetti che i vincoli sul loro uso; una ontologia cattura conoscenze collettive; è un modello astratto di descrizione dei concetti rilevanti di fenomeni del mondo reale. Le ontologie svolgono un ruolo centrale nella realizzazione del progetti di organizzazione della conoscenza chiamato “Semantic Web”. Il Web Semantico rappresenta l’ambizioso progetto di arricchire la rete di Internet con un ulteriore livello semantico per permettere agli utenti di usare le info e impiegarle per la realizzazione di vari scopi. Il Web Semantico rappresenta l’evoluzione di Internet da semplice sistema di comunicazione e recupero di info e documentazioni, ad un sistema “intelligente in cui l’informazione è compresa da

specifici software in grado di cooperare e assistere l’utente in compiti complessi.

Informazione Trattamento simbolico delle informazioni Definizione di algoritmo. L’algoritmica non è semplicemente un ramo dell’informatica, ma ne rappresenta il nucleo e per sua natura si dimostra fondamentale per tutte le discipline che si avvantaggiano dell’impiego dei computer. Determinato e finito, si presta ad essere eseguito da una macchina.

Cenni storici Una delle prime macchine in grado di portare avanti un processo di tipo algoritmo fu un telaio: il motivo da tessere veniva determinato mediante schede perforare. Il matematico inglese Babbage progettò e costruì varie macchine che operavano in base a procedimenti di tipo algoritmico, in particolare disegnò il progetto di una macchina analitica che non doveva eseguire compiti specifici di calcolo ma programmi codificati in base a schede perforare, quindi un equivalente matematico del telaio di Jacquard a cui si ispirò. Le idee presenti in tale modello formarono la base per la progettazione della struttura interna dei calcolatori elettronici. Hollerith inventò a sua volta una macchina basata su schede perforate che venne impiegata per la stesura dei tabulati del censimento del 1890. I primi veri computer appaiono solo quasi dopo mezzo secolo. Gli studi sugli algoritmi hanno dato origine alla teoria della commutabilità o della commutabilità effettiva o teoria della ricorsività. La teoria della commutabilità è stata sviluppata nella prima metà del XX secolo da matematici e logici come Turing, Von Neuman, Markov, Church, Emil Post dando origine all’informatica teorica.

Algoritmi Gli algoritmi possono essere definiti come metodi per la soluzione di problemi, dove un problema consiste nei dati che vengono forniti all’inizio del procedimento e nel risultato che si vuole ottenere. I dati in ingresso sono input mentre i valori in uscita sono output. Permette di calcolare il risultato desiderato a partire dai dati di partenza. Perché un procedimento costituisca un algoritmo deve essere totalmente esplicito, vanno specificati in modo preciso tutti i passi del procedimento da eseguire per ottenere il risultato in output a partire dai dati in input. Costituito da un insieme finito di istruzioni che viene portato a termine in un numero finito di passi. Un Algoritmo è: - un insieme finito di istruzioni per ottenere un risultato - la soluzione si ottiene applicando le istruzioni un numero finito di

volte - in ogni momento deve sempre essere specificato quale

istruzione va eseguita al passo successivo - deve essere chiaro quando il procedimento è terminato. 
 Gli algoritmi sono dunque procedimenti deterministici che risolvono problemi. Va precisato che il fatto che le istruzioni e il procedimento sono finiti non esclude che le possibili istanze del problema siano infinite, e questo risultato è assicurato dall’uso di variabili e dalla ricorsività del procedimento. Come esempi di algoritmi si possono: - le operazioni aritmetiche - il procedimento euclideo per la ricerca del massimo comune

divisore di due numeri naturali non nulli - il metodo delle tavole di verità della logica proposizionale Vi sono anche algoritmi di tipo non matematico, come la decisione se una parola è un palindromo o l’ordinamento di una successione di elementi dal più piccolo al più grande—> algoritmo SI o NO È interessante anche l’algoritmo euclideo delle divisioni successive come metodo per determinare il MCD di due numeri naturali non nulli, l’input sono i due numeri, l’output è il loro MCD. Molti algoritmi forniscono una risposta di tipo SI e NO, si tratta di algoritmi di decisione; vi sono tuttavia altri tipi di algoritmi che possono avere come output numeri, proposizioni.

Costruzione di grafi per algoritmi Una rappresentazione naturale di un algoritmo è quella ottenuta mediante grafi con nodi per indicare le operazioni che vengono eseguite e archi per indicare le relazioni tra notti, Diagrammi di flusso I diagrammi a blocchi, detti anche di flusso, sono dei grafi orientati in cui nodi rappresentano le istruzioni da eseguire, dove la forma di ciascun nodo è associata al tipo di istruzione da eseguire e gli archi che li collegano indicano l’ordine in cui le istruzioni devono essere eseguite. Un diagramma di flusso descrive i diversi passaggi o operazioni dell’algoritmo sotto forma di uno schema in cui le diverse fasi del processo e le condizioni che devono essere rispettate sono rappresentate da simboli iconici detti blocchi elementari. I blocchi sono collegati tra loro da frecce che indicano le tappe, i passaggi.

I nodi del diagramma a forma di rettangolo contengono le istruzioni. I blocchi di test, possono essere impiagati per la definizione di cicli, medianti i quali una stessa istruzione possono essere ripetuti più volte.

Se l’algoritmo non produce nessun risultato perché da origine a un calcolo che non termina si dice che l’algoritmo va in loop.

I diagrammi a blocchi devono rispettare una serie di condizioni rilevanti per la loro buona formazione e quindi il loro funzionamento. Una combinazione di blocchi elementari descrive un algoritmo se: - viene usato un numero finito di blocchi - lo schema inizia con un blocco iniziale e termina con blocco

finale - ogni blocco soddisfa delle condizioni di validità

I blocchi devono poi osservare le seguenti condizioni di validità: - Blocco azione e blocco istruzione: ogni blocco di questi due tipi

ha una sola freccia entrante e una sola freccia uscente - Blocco test o di controllo: ogni blocco di questo genera ha una

sola freccia entrante e due frecce uscenti - condizione sulle frecce: ogni freccia deve entrare in un blocco o

uscire da un blocco. Sulla base di queste condizioni, i diagrammi di flusso svilupperanno precise architetture, come dimostrato dal Teorema fondamentale della programmazione strutturata che asserisce ogni algoritmo può essere codificato nei termini esclusivamente di tre strutture fondamentali - sequenziale, sviluppo in modo lineare - iterativa, quando presenta cicli che fanno tornare il programma

su sé stesso - condizionale, quando il diagramma si sviluppa secondo due

condizioni a destra e a sinistra di un blocco di controllo. Esempi:

Ricorsività Con questo termine si intende la capacità di una procedura di richiamare sé stessa. Ad esempio, i costruiti iterativi, in cui uno stesso testo può corrispondere a varie parti del processo che descrive, consentono di creare processi lunghi a partire da testi relativamente brevi. Esempio Torri di Hanoi. La ricorsività è un fenomeno che si manifesta in vari ambiti della esperienza umano; ad esempio nelle lingue naturali incontriamo diverse costruzioni in cui una regola linguistica può essere applicata al risultato di una sua precedente applicazione. La ricorsività è rappresentata dalla generazione di clausole relative (che è bella, che è sul tavolo, che è in cucina).

Automazione Cenni sulla nascita della cibernetica Una metafora che ha avuto particolare fortuna in questo senso è quella del sistema circolatorio animale come sistema idraulico: la pompa del cuore, i condotti venosi, ecc. Nello sviluppo del pensiero scientifico e dei risultati tecnologici la cultura umana viene assunta come modello del funzionamento delle strutture naturali, e viceversa. In questo quadro si sviluppa la scienza dell’automazione e dell’intelligenza artificiale che viene chiamata cibernetica. Veniva impiegato come termine per dire “governare le macchine”. Oggi è la scienza che studia i fenomeni di autoregolazione e comunicazione nell’ambito dei sistemi artificiali e negli organismi naturali, in collaborazione con la teoria dell’informazione, la computer science, le scienze cognitive e gli studi sull’intelligenza.

Principi teorici Momenti teorici che hanno avuto un ruolo decisivo per la nascita e lo sviluppo della cibernetica: - la caratterizzazione dell’equivalenza tra comportamento

teleologico degli organismi e comportamento degli artefatti a retroazione negativa

- la descrizione del sistema nervoso come realizzatore di modelli - lo studio della logica delle reti neurali. Weiner definisce la cibernetica come una disciplina che studia in un’unica teoria e con metodo unitario, i meccanismi fisiologici e gli

no comments were posted
This is only a preview
3 shown on 47 pages