UNIFICAZIONE E PATTERN MATCHING
|
|
- Rosalinda Brunetti
- 5 anni fa
- Visualizzazioni
Transcript
1 UNIFICAZIONE E PATTERN MATCHING In Intelligenza Artificiale (IA), la maggior parte dei sistemi basati su conoscenza poggia sul confronto di descrizioni (simboliche), nella forma di Unificazione o di Matching. Tali termini individuano, dunque, il procedimento attraverso cui si confrontano 2 o più strutture (nel nostro caso fbf della logica del prim ordine), per scoprire le loro somiglianze o differenze. Tale operazione rappresenta per il calcolo simbolico quello che l addizione e la moltiplicazione sono per il calcolo numerico: è stato valutato che in molti sistemi di produzione essa assorbe il 90% del tempo di calcolo complessivo. Ciò in virtù del fatto che il confronto di descrizioni è alla base di operazioni più complesse (quali la risoluzione e la ricerca) che a loro volta sono sfruttate da un ampio spettro di tecniche (ad es., la programmazione logica e l elaborazione del linguaggio naturale) sulle quali poggiano svariate branche dell IA (sistemi esperti, sistemi di apprendimento, ecc.). Gli odierni computer della V generazione, dedicati all IA, sono macchine per eseguire linguaggi di programmazione logica, in cui la CPU è un algoritmo di unificazione (in HW o in SW), la cui velocità è calcolata in KLIPS: (Kilo) Logical Inferences Per Second 1
2 Dati due termini, s e t, il problema dell unificazione consiste nel capire se esistono dei termini che possono essere sostituiti alle variabili che compaiono in s ed in t, in modo che i termini così ottenuti siano identici. Una sostituzione σ è una funzione che ad ogni variabile associa un termine. Si denota con σ = {(t j /x i )} oppure σ = {x i t j }, con x i variabili e t j temini. L applicazione di una sostituzione σ ad un termine o fbf t (denotata con σ(t) oppure tσ oppure t.σ) consiste nell applicare la sostituzione a tutte le variabili che compaiono in t. N.B.: Non si può sostituire una variabile con un termine in cui compare la variabile stessa, perché porterebbe a termini infiniti. Il controllo che ciò non accada è detto occur-in check. Esempio. (Sostituzione ammessa) Sia t = f(g(a,b),x,y) un termine del linguaggio e σ = {g(a)/x, c/y, y/z} una sostituzione. Si ha: σ(t) = f(g(a,b),g(a),c). 2
3 Date due sostituzioni δ e σ, la sostituzione composta da δ e σ (denotata con σ δ) è la sostituzione ottenuta da applicando σ agli elementi di δ e aggiungendo il risultato a δ: (σ δ)(t) = σ(δ(t)) La composizione di sostituzioni è associativa: ma (in generale) non commutativa: ((σ δ) τ) = (σ (δ τ)) (σ δ) (δ σ) Definizione. Due termini, s e t, si dicono unificabili se esiste una sostituzione σ tale che σ (s) = σ (t) In tal caso, σ è detto unificatore, e σ(s) (= σ(t) ) unificazione, di s e t. Dati due termini s e t, il loro unificatore può non essere unico. Esempio. I termini s = f(g(y,b),x) e t = f(x,g(a,b)) sono unificabili. Infatti σ = {g(a,b)/x, a/y} è un unificatore di s e t, in quanto: σ (s) = f(g(a,b),g(a,b)) = σ(t) Anche s = f(x,g(y)) e t = f(x,g(b)) sono unificabili. Infatti sia σ = {b/y} che δ = {a/x, b/y} sono unificatori di s e t. 3
4 Si vede subito che esistono molti altri unificatori di s e t. Sorge, pertanto, la necessità di stabilire un criterio per scegliere uno fra i vari unificatori possibili. Definizione. Dati due termini s e t, un loro unificatore σ si dice che è il loro unificatore più generale (MGU, Most General Unifier) se, per ogni altro loro unificatore δ, esiste una sostituzione τ tale che δ = τ σ. In altre parole, δ è un istanza di σ; intuitivamente, si può dire che l unificatore più generale è il più semplice fra tutti quelli dei termini dati. Proprietà. Il problema dell unificazione è decidibile nelle Teorie del I ordine; Nelle teorie del prim ordine, il MGU di due termini, se esiste, è unico. L unicità viene meno in presenza di teorie contenenti simboli di funzione commutativi e/o associativi. In particolare, la commutatività assicura la finitezza degli MGU, mentre la sola associatività porta all esistenza di infiniti MGU in almeno un caso. 4
5 Poiché le fbf possono essere rappresentate come termini, può essere usata per esse la stessa definizione di unificazione data in precedenza. In particolare: Due atomi si unificano se hanno uguali predicato ed arietà ed esiste un unica sostituzione che unifica ciascun termine del primo col corrispondente termine del secondo. Se il predicato è commutativo, è sufficiente che ciascun termine del primo unifichi con il corrispondente termine di una permutazione dei termini del secondo. Due letterali si unificano se sono entrambi positivi o entrambi negativi ed i corrispondenti atomi si unificano. Due congiunti di letterali si unificano se hanno lo stesso numero di elementi ed esiste un unica sostituzione che unifica ciascun elemento del primo col corrispondente elemento di una permutazione del secondo. Due fbf in forma normale disgiuntiva si unificano se hanno lo stesso numero di elementi ed esiste un unica sostituzione che unifica ciascun elemento della prima col corrispondente elemento di una permutazione della seconda. Le permutazioni sono considerate a causa delle proprietà associativa e commutativa di cui godono la congiunzione e la disgiunzione. 5
6 N.B.: L unificabilità di insiemi, a differenza di quella di congiunti di letterali, consente che un elemento di uno dei due congiunti unifichi con più elementi dell altro congiunto. Spesso si vuole non solo sapere se esiste un unificatore, ma anche trovarlo esplicitamente. E, inoltre, molto sentito il problema di stabilire la complessità computazionale dell unificazione e di determinare gli algoritmi di soluzione più efficienti. Le prime esperienze con i sistemi automatici per la deduzione rivelarono chiaramente che il calcolo dell unificazione è il cuore della maggior parte dei sistemi che effettuano deduzioni. La stretta relazione tra deduzione logica e computazione è tale per cui la logica gioca un ruolo nell informatica analogo a quello dell analisi in fisica. La logica dei predicati è un linguaggio di programmazione (Kowalski). Algoritmo di unificazione (Robinson, 1971). L algoritmo di unificazione consiste di una funzione ricorsiva (unifica) che ha in ingresso due termini (t1 e t2) e, rispettandone la struttura, unifica i loro argomenti ad uno ad uno, restituendo una variabile booleana (unifiable) che dice se i due termini sono unificabili e, in caso affermativo, l unificatore dei due termini (σ). 6
7 Essa poggia su due routine: una funzione booleana (occur) che dati una variabile ed un termine dice se la variabile è presente nel termine, ed una procedura (componi) che fa la composizione di due sostituzioni. function unifica (t1,t2) (unificabile: boolean, σ: sostituzione); if t1 o t2 è una variabile then sia x la variabile; sia t l altro termine; if x = t then (unificabile, σ) := (true, ); else if occur(x,t) then unificabile := false; else (unificabile,s) := (true,{t/x}) end else sia t1 = f(x1,,xn)e t2 = g(y1,,ym); if f g or m n then unificabile := false else k := 0; unificabile := true; σ := nil; while k<m and unificabile do k := k + 1; (unificabile, ρ) := unifica(σ (xk), σ (yk)); if unificabile then σ := componi (ρ, σ) end end end; return (unificabile, σ) end. Per molte applicazioni pratiche, l unificazione è un concetto troppo generale. Un importante variante è rappresentata dal Pattern matching (o, semplicemente, Matching), in cui è lecito effettuare sostituzioni solo in 7
8 una delle due strutture. Nella sua forma più semplice, le strutture, anche dette forme (patterns), vengono confrontate per stabilire se sono uguali (e il matching è visto come funzione booleana). Si dice che esiste un matching fra due termini, s e t, se esiste una sostituzione µ tale che µ(s) =t oppure µ(t) = s In tal caso, µ è detto matcher, e µ (s) (risp. µ (t) ) matching, di s e t. Spesso, inoltre, poiché le nostre operazioni di matching non sono di solito simmetriche, si è interessati ad una definizione più debole di quella data. Cioè, di solito si ha un modello che si vuole porre in corrispondenza con un fatto specifico. Si dice che il modello corrisponde (matches) ad un fatto se la formula che descrive il modello si unifica con qualche sottocongiunzione delle formule del fatto. Esempio. Fatto: forma(c1,rettangolo) forma(c2,cerchio) forma(c3,cerchio) grandezza(c1,media) grandezza(c2,piccola) grandezza(c3,piccola). 8
9 Modello: x y z forma(x,rettangolo) forma(y,cerchio) forma(z,cerchio). In questo caso si vede che il modello, tramite la sostituzione{c1/x, c2/y, c3/z}, diventa un sottoinsieme del fatto dato, che quindi gli corrisponde. 9
Corso di Laurea in INFORMATICA
Corso di Laurea in INFORMATICA INTELLIGENZA ARTIFICIALE (CdL di II Livello) MODULO Unificazione e Pattern Matching Dipartimento di Informatica - Università di Bari In Intelligenza Artificiale (A.I.), la
DettagliProgrammazione logica e PROLOG. Esercitazione 1. Sommario. Programmazione logica. Applicazioni della Programmazione Logica
Sommario Programmazione logica e PROLOG Esercitazione 1 Programmazione logica Base delle conoscenze Interrogazione del sistema Regole Ricorsive Esecuzione dei programmi Modello operazionale Rappresentazione
DettagliForme normali, clausole e Calcolo con regola di Risoluzione
Forme normali, clausole e Calcolo con regola di Risoluzione Esempi di equivalenze valide α β (α β ) (α β ) α ( β γ ) ( xα ) ( xα ) α α α α β α β α β (α β ) (α γ ) x α x α V α α F α 1 Forma normale congiuntiva
DettagliIntelligenza Artificiale I
Intelligenza Artificiale I Risoluzione con unificazione Marco Piastra Risoluzione con unificazione [1] Risoluzione proposizionale Procedura per stabilire se a) Refutazione { } e traduzione in forma normale
DettagliMonomi L insieme dei monomi
Monomi 10 10.1 L insieme dei monomi Definizione 10.1. Un espressione letterale in cui numeri e lettere sono legati dalla sola moltiplicazione si chiama monomio. Esempio 10.1. L espressione nelle due variabili
DettagliIntroduzione alla logica matematica
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 p.1/29 Introduzione alla logica matematica Silvana Badaloni Paolo Bison Fondamenti di Informatica 1 A.A. 2004/05 Università di
DettagliElementi di Informatica
Elementi di Informatica Capitolo 6 Iterazione Prof. Mauro Gaspari: mauro.gaspari@unibo.it Assegnamenti multipli bruce = 5 print bruce, bruce = 7 print bruce Assegnamento e uguaglianza E' importante distinguere
DettagliLogica proposizionale
Logica proposizionale Proposizione: frase compiuta che è sempre o vera o falsa. Connettivi Posti in ordine di precedenza: not, and, or, implica, doppia implicazione Sintassi Le proposizioni sono costituite
DettagliIntelligenza Artificiale. Logica proposizionale: calcolo automatico
Intelligenza Artificiale Logica proposizionale: calcolo automatico Marco Piastra Logica formale (Parte 3) - Parte 3 Calcolo automatico Forme normali ed a clausole Risoluzione e refutazione Forward chaining
DettagliFondamenti di Informatica 2
Fondamenti di Informatica 2 Linguaggi e Complessità : Lezione 1 Corso Fondamenti di Informatica 2 Marco Schaerf, 2009-2010 Linguaggi e Complessità : Lezione 1 1 Logica proposizionale Linguaggio matematico
DettagliView-based query answering
View-based query answering Maurizio Lenzerini Dipartimento di Informatica e Sistemistica Antonio Ruberti Università di Roma La Sapienza Anno Accademico 2004/2005 Prerequisites Calcolo relazionale (FOL
DettagliInformatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 08/02/2017/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 08/02/2017/ Foglio delle domande/ VERSIONE 1 1) Nella ricorsione, quando il problema ha soluzione immediata siamo a) nell ipotesi ricorsiva b) nel
Dettaglie Algoritmi Marco Piastra Intelligenza Artificiale I Soddisfacibilità
Intelligenza Artificiale I Soddisfacibilità e Algoritmi Marco Piastra Intelligenza Artificiale I - A.A. 2010- Soddisfacibilità e Semantic Tableau [1] Problemi e decidibilità (automatica) Problema Un problema
DettagliIntelligenza Artificiale. Logica proposizionale: calcolo simbolico
Intelligenza Artificiale Logica proposizionale: calcolo simbolico Marco Piastra Logica formale (Parte 2) - 1 Parte 2 Calcolo logico Assiomi Derivazioni Derivazioni e conseguenza logica Completezza Logica
DettagliProgrammazione Dichiarativa. Programmazione Logica. SICStus PROLOG PROLOG. http://www.sics.se/sicstus/ Bob Kowalski: "Algoritmo = Logica + Controllo"
Programmazione Logica Bob Kowalski: "Algoritmo = Logica + Controllo" nella programmazione tradizionale: il programmatore deve occuparsi di entrambi gli aspetti nella programmazione dichiarativa: il programmatore
DettagliRisoluzione di un problema
Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito
DettagliVerifica di programmi
Verifica di programmi Informalmente, un programma è corretto se l output prodotto è quello atteso rispetto all input. La correttezza dei programmi può essere espressa mediante formule per la correttezza
DettagliLogica booleana, Costrutto IF
Logica booleana, Costrutto IF Informatica@SEFA 207/208 - Lezione 4 Massimo Lauria http://massimolauria.net/courses/infosefa207/ Mercoledì, 4 Ottobre 207 La logica booleana 2
DettagliProgrammazione logica e PROLOG. Esercitazione 1. AI - Carlucci Aiello & Nardi, 2007 Esercitazione 1 0
Programmazione logica e PROLOG Esercitazione 1 AI - Carlucci Aiello & Nardi, 2007 Esercitazione 1 0 Sommario Programmazione logica Base delle conoscenze Interrogazioni Regole Ricorsive Esecuzione dei programmi
DettagliDispensa su. Funzioni Booleane. Jianyi Lin Università degli Studi di Milano
Dispensa su Funzioni Booleane Jianyi Lin Università degli Studi di Milano jianyi.lin@unimi.it 18 novembre 2011 1 Operazioni booleane In questa sezione introduciamo il concetto di funzione booleana e accenniamo
DettagliLogica proposizionale
Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Logica proposizionale Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università degli
DettagliLinguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl
Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare
DettagliInformatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande/ VERSIONE 1 1) L approccio con cui si studia un sistema focalizzandosi solo sul rapporto tra input e output si chiama
DettagliInformatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 02/07/2015/ Foglio delle domande /VERSIONE 1 Matricola Cognome Nome
Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 02/07/2015/ Foglio delle domande /VERSIONE 1 Matricola Cognome Nome 1) Il termine informatica viene dalla fusione delle seguenti parole a) informazione
DettagliOperatori di relazione
Condizioni Negli algoritmi compaiono passi decisionali che contengono una proposizione (o predicato) dal cui valore di verità dipende la sequenza dinamica Chiamiamo condizioni tali proposizioni Nei casi
DettagliSistemi Deduttivi. Marco Piastra. Intelligenza Artificiale I. Intelligenza Artificiale I - A.A Sistemi Deduttivi[1]
Intelligenza Artificiale I Sistemi Deduttivi Marco Piastra Intelligenza Artificiale I - A.A. 2010- Sistemi Deduttivi[1] Calcolo simbolico? Una fbf è conseguenza logica di un insieme di fbf sse qualsiasi
DettagliIntelligenza Artificiale I
Intelligenza Artificiale I Risoluzione e clausole di Horn Marco Piastra Risoluzione e clausole di Horn [1] Sistemi deduttivi e automazione Il problema è decidibile? La definizione di derivabilità a la
DettagliFondamenti di Informatica
Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile
DettagliArchitetture data-flow
Architetture data-flow Le architetture che abbiamo visto finora sono dette architetture control flow. Ciò sta ad indicare che il flusso dell elaborazione è dettato dall ordine con cui le varie istruzioni
DettagliIn questo esempio, il tipo a -> a indica che la funzione fn x => x è polimorfa, ed è dunque corretto applicarla ad argomenti di tipo diverso:
1 Polimorfismo in ML In ML i termini di cui si compone un programma possono non contenere alcuna informazione sui tipi. Ad esempio, sono legali in ML tanto il termine fn x : int => x quanto fn x => x.
DettagliLogica Proposizionale
Intelligenza rtificiale I Logica Proposizionale Introduzione Marco Piastra Intelligenza rtificiale I -.. 28-29 29 Introduzione al corso ] lgebre di Boole Definizione Una collezione di oggetti X su cui
DettagliLogica per la Programmazione
Logica per la Programmazione Lezione 12 Linguaggio di Programmazione Imperativo: Sintassi e Semantica Tripla di Hoare soddisfatta A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a.
DettagliChe cos è un insieme? Come si individua un insieme? 1. Scrivendone esplicitamente gli elementi: C = {2, 4, 6, 8, 10,...}.
Teoria degli insiemi Che cos è un insieme? Come si individua un insieme? 1. Scrivendone esplicitamente gli elementi: A = {a, b, c} B = {1, 2} C = {2, 4, 6, 8, 10,...}. 2. Enunciando una proprietà che è
DettagliProblemi decisionali. Esempi
Problemi decisionali La teoria della complessità computazionale è definita principalmente in termini di problemi di decisione Essendo la risposta binaria, non ci si deve preoccupare del tempo richiesto
DettagliFondamenti di Informatica 2
Fondamenti di Informatica 2 Linguaggi e Complessità : Lezione 3 Corso Fondamenti di Informatica 2 Marco Schaerf, 2009-2010 Linguaggi e Complessità : Lezione 3 1 Clausole I letterali sono simboli proposizionali
DettagliProblemi decidibili, semidecidibili, indecidibili
Problemi decidibili, semidecidibili, indecidibili (Paragrafo 3.5 delle dispense) Il problema di determinare se una formula A della logica proposizionale sia valida o no può essere risolto mediante un procedimento
DettagliCompitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A
Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare
DettagliIntelligenza Artificiale I
Intelligenza rtificiale I Logica formale Primi elementi Marco Piastra Logica formale - Primi elementi - Sottoinsiemi e operatori Sottoinsiemi U Insieme di riferimento (insieme sostegno) {,, C, } Collezione
DettagliFondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela
Fondamenti di Informatica 2 Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Fondamenti di Informatica 2: Logica Indice degli argomenti Introduzione: Motivazioni, Prove,
DettagliProgrammazione Matematica: VII La scomposizione di Dantzig Wolfe
Programmazione Matematica: VII La scomposizione di Dantzig Wolfe Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev..0 Maggio 2004 Scomposizione di problemi Accade spesso che un problema
DettagliMATRICI E SISTEMI LINEARI
MATRICI E SISTEMI LINEARI - PARTE I - Felice Iavernaro Dipartimento di Matematica Università di Bari 27 Febbraio 2006 Felice Iavernaro (Univ. Bari) Matrici e Sistemi lineari 27/02/2006 1 / 1 Definizione
DettagliLINGUAGGI DI ALTO LIVELLO
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello AN - 1995 Linguaggi di alto livello AN - 1995 Evoluzione dei
Dettagli= < < < < < Matematica 1
NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato
DettagliSistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara
Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ lorenzo.pareschi@unife.it Lorenzo Pareschi (Univ. Ferrara)
DettagliAnalisi Sintattica. Maria Rita Di Berardini. Universitá di Camerino Ruolo del parser
Ruolo del parser Analisi 1 1 Dipartimento di Matematica e Informatica Universitá di Camerino mariarita.diberardini@unicam.it Ruolo del parser Ruolo dell analisi sintattica Ruolo del parser Metodologie
DettagliCosa si intende con stato
Il concetto di stato Cosa si intende con stato I una particolare configurazione delle informazioni di una macchina, che in qualche modo memorizza le condizioni in cui si trova, e che cambia nel tempo passando
DettagliUn algoritmo realizza una relazione funzionale tra i valori di input e quelli di output
Un algoritmo realizza una relazione funzionale tra i valori di input e quelli di output F = { (s, s ) } per ogni s esiste una e una sola coppia (s, s ). Esempio: un algoritmo che calcola il quadrato di
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliSeconda prova in itinere. Logica e Algebra. 10 luglio Esercizio 1 Si considerino le seguenti formule della logica del primo ordine:
Seconda prova in itinere Logica e Algebra luglio 5 Esercizio Si considerino le seguenti formule della logica del primo ordine: a) x y A x, aa y, a A f x, y, b) z A f x, z, b c) x y A x, aa y, a A f x,
DettagliFondamenti dell informatica
Fondamenti dell informatica Funzioni ricorsive e linguaggi funzionali Rosario Culmone rosario.culmone@unicam.it 16/4/2008 UNICAM - p. 1/21 Funzioni ricorsive Metodo di definizione di algoritmi introdotto
DettagliNote per la Lezione 6 Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 6 Ugo Vaccaro Ancora sulla tecnica Programmazione Dinamica Nella lezione scorsa abbiamo appreso che la tecnica Divide-et-Impera,
DettagliM.P. Cavaliere ELEMENTI DI MATEMATICA E LOGICA MATEMATICA DISCRETA STRUTTURE ALGEBRICHE
M.P. Cavaliere ELEMENTI DI MATEMATICA E LOGICA MATEMATICA DISCRETA STRUTTURE ALGEBRICHE Operazioni in un insieme Sia A un insieme non vuoto; una funzione f : A A A si dice operazione binaria (o semplicemente
DettagliInformatica (A-K) 5. Algoritmi e pseudocodifica
Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
DettagliCorso di Informatica
Corso di Informatica Modulo T2 2 I tipi di dato Prerequisiti Concetto di relazione e funzione Concetto di insieme numerico Operatori aritmetici Operatori relazionali 2 Introduzione Abbiamo visto che un
DettagliDefinizione: Due monomi si dicono simili se hanno la stessa parte letterale.
CALCOLO LETTERALE Definizione: Data una formula si dicono variabili le lettere alle quali può essere sostituito qualsiasi valore numerico; i numeri si dicono, invece, costanti. Nella formula per il calcolo
DettagliFondamenti di Informatica 6. Algoritmi e pseudocodifica
Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
DettagliDescrizione di un algoritmo
Descrizione di un algoritmo Si descrive un algoritmo cercando di sintetizzare il più possibile la sua sequenza di passi; Non si utilizza un linguaggio di programmazione specifico, ma è meglio utilizzare
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 4 Conclusioni G. Mecca M. Samela Università della Basilicata Strutture di Dati: Conclusioni >> Sommario Sommario Ricapitolazione Alcune
DettagliEsecuzione condizionale ed espressioni logiche
Esecuzione condizionale ed espressioni logiche Informatica@SEFA 08/09 - Lezione 6 Massimo Lauria http://massimolauria.net/courses/infosefa08/ Venerdì, 5 Ottobre 08 Ripartiamo
DettagliAlgoritmi e Strutture di Dati I 1. Algoritmi e Strutture di Dati I Massimo Franceschet
Algoritmi e Strutture di Dati I 1 Algoritmi e Strutture di Dati I Massimo Franceschet Algoritmi e Strutture di Dati I 2 Problemi Un problema specifica in termini generali una relazione che intercorrere
DettagliTali quantità o caratteristiche essenziali di un fenomeno possono essere qualitative o quantitative e vengono dette variabili.
OBIETTIVO DELLA RICERCA SCIENTIFICA MODELLO DEL FENOMENO NATURALE stabilire se esistono relazioni tra le quantità che si ritengono essenziali per la descrizione di un fenomeno. è una costruzione ideale
DettagliLinguaggi. Claudio Sacerdoti Coen 29,?/10/ : La struttura dei numeri naturali. Universitá di Bologna
Linguaggi 5: La struttura dei numeri naturali Universitá di Bologna 29,?/10/2014 Outline La struttura dei numeri naturali 1 La struttura dei numeri naturali I numeri naturali La
DettagliLinguaggi. Claudio Sacerdoti Coen 04/03/ : La struttura dei numeri naturali. Universitá di Bologna
Linguaggi 8: Universitá di Bologna 04/03/2011 Outline 1 I numeri naturali Wikipedia: L espressione numeri naturali spesso viene usata sia per la sequenza di numeri interi positivi
Dettaglicome segue: data una collezione C di elementi e una un elemento che verifica la proprietà P
Problemi di Ricerca Carla Binucci e Walter Didimo Il problema della Ricerca In generale, il Problema della Ricerca è definito come segue: data una collezione C di elementi e una proprietà P, determinare
DettagliEsercizi di Logica Matematica
Esercizi di Logica Matematica Francesco Bottacin 1 Logica Proposizionale Esercizio 1.1. Eliminare le parentesi non necessarie nelle seguenti formule: 1. ((A B) ( C)) 2. (A (B ( C))) 3. ((A B) (C D)) 4.
DettagliLOGICA e INSIEMISTICA
LOGICA e INSIEMISTICA Prof. Enrico Terrone A. S: 2008/09 Definizioni La logica è una parte speciale della matematica che si occupa, anziché dei numeri, delle proposizioni. Una proposizione è una frase
DettagliControllo del flusso di esecuzione di un programma
Controllo del flusso di esecuzione di un programma I programmi sono eseguiti sequenzialmente, istruzione dopo istruzione, ma in alcuni casi il flusso di esecuzione può scegliere vie alternative o ripetersi
DettagliMacchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29
Macchine di Turing Francesco Paoli Istituzioni di logica, 2016-17 Francesco Paoli (Istituzioni di logica, 2016-17) Macchine di Turing 1 / 29 Alan M. Turing (1912-1954) Francesco Paoli (Istituzioni di logica,
DettagliSviluppo di programmi
Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili
DettagliProlog Prodromi. Sistemi distribuiti LS 2003/2004 Prof. Andrea Omicini
Prolog Prodromi Sistemi distribuiti LS 2003/2004 Prof. Andrea Omicini 1 Prima della Programmazione Logica I primi edifici formali: aritmetica e geometria Aristotele e l'inferenza logica Il concetto di
DettagliCenni di logica e calcolo proposizionale
Cenni di logica e calcolo proposizionale Corso di Laurea in Informatica Università degli Studi di Bari (sede Brindisi) Analisi Matematica S.Milella (sabina.milella@uniba.it) Cenni di logica 1 / 10 Proposizioni
DettagliEspressioni. Espressione = meccanismo fondamentale per esprimere computazioni in un LP importante comprenderne la semantica!
Espressioni Espressione = meccanismo fondamentale per esprimere computazioni in un LP importante comprenderne la semantica! Valutazione automatica di expr aritmetiche = obiettivo primario dei primi LP
DettagliIntelligenza Artificiale I
Intelligenza Artificiale I Logica formale Calcolo simbolico Marco Piastra Logica formale - Calcolo simbolico - 1 Conseguenza, decidibilità Una fbf è conseguenza logica di un insieme di fbf sse qualsiasi
DettagliSilvia Rossi. Cenni sulla complessità. Informatica. Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Programmazione I
Silvia Rossi Cenni sulla complessità 23 Lezione n. Parole chiave: Corso di Laurea: Informatica Insegnamento: Programmazione I Email Docente: srossi@na.infn.it A.A. 2009-2010 Abbiamo visto che dato un problema
DettagliLogica Matematica: tipiche domande da esame
Logica Matematica: tipiche domande da esame A. Berarducci Versione del 7 Gen. 2018 1. Si dimostri che ogni formula proposizionale può essere messa in forma normale disgiuntiva e in forma normale disgiuntiva.
DettagliELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli
ELEMENTI DI INFORMATICA L Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Esempi di Testi di esame Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del corso
DettagliEsercitazioni per il corso di Logica Matematica
Esercitazioni per il corso di Logica Matematica Luca Motto Ros 02 marzo 2005 Nota importante. Queste pagine contengono appunti personali dell esercitatore e sono messe a disposizione nel caso possano risultare
DettagliTeoria della Calcolabilità!
Teoria della Calcolabilità Si occupa delle questioni fondamentali circa la potenza e le limitazioni dei sistemi di calcolo. L'origine risale alla prima metà del ventesimo secolo, quando i logici matematici
DettagliIntroduzione alla Programmazione Logica ed al linguaggio PROLOG
Introduzione alla Programmazione Logica ed al linguaggio PROLOG Esercitazioni per il corso di Logica ed Intelligenza Artificiale a.a. 2014/15 Paolo Tomeo http://sisinflab.poliba.it/tomeo Programmazione
DettagliCognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) :
PROGRAMMAZIONE (Corsi B e C) Pre-appello di Gennaio 2004 (A.A. 2003/2004) PROGRAMMAZIONE (B e C) S. Straordinaria - Appello di Gennaio (A.A. 2002/2003) 22 Gennaio 2004 ore 11 Aula II di Facoltà (Durata:
DettagliSommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo
Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi Istruzioni variabili e tipi Sottoprogrammi Strutture di controllo Ricorsione 1 2 Obiettivo Ciclo di sviluppo di programmi Risoluzione
DettagliAL220 - Gruppi, Anelli e Campi
AL220 - Gruppi, Anelli e Campi Prof. Stefania Gabelli - a.a. 2013-2014 Settimana 1 - Traccia delle Lezioni Funzioni tra insiemi Ricordiamo che una funzione o applicazione di insiemi f : A B è una corrispondenza
DettagliPartizioni intere. =! i# P. Es: Dato {38, 17, 52, 61, 21, 88, 25} possiamo rispondere positivamente al quesito poiché
Partizioni intere PARTIZIONAMENTO: Dato un insieme di n interi non negativi rappresentati in binario, trovare un sottoinsieme P! {1,2,..., n } tale che! i"p a i =! i# P a i Es: Dato {38, 17, 52, 61, 21,
DettagliLogica per la Programmazione
Logica per la Programmazione Lezione 13 Sistema di Dimostrazioni per le Triple di Hoare Comando Vuoto, Assegnamento, Sequenza, Condizionale pag. 1 Tripla di Hoare Soddisfatta: richiamo Data una Tripla
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliL assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Abbiamo visto È conveniente definire una macchina astratta C Lo stato della macchina ci
DettagliLogica: materiale didattico
Logica: materiale didattico M. Cialdea Mayer. Logica (dispense): http://cialdea.dia.uniroma3.it/teaching/logica/materiale/dispense-logica.pdf Logica dei Predicati (Logica per l Informatica) 01: Logica
Dettagli2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di
DettagliPARTE IV FUNZIONI RICORSIVE E LINGUAGGI FUNZIONALI
PARTE IV FUNZIONI RICORSIVE E LINGUAGGI FUNZIONALI Funzioni ricorsive Accenno al lambda-calcolo Formalismo di Mc Carthy e linguaggi funzionali 1 4.1 FUNZIONI RICORSIVE Tra gli approcci sviluppati negli
DettagliLINGUAGGI DI ALTO LIVELLO
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Basic Pascal
DettagliProgramma del Corso di Matematica Discreta (Elementi) lettere P-Z anno accademico 2004/2005
Programma del Corso di Matematica Discreta (Elementi) lettere P-Z anno accademico 2004/2005 27 gennaio 2005 1. Logica 2. Insiemi e Funzioni 3. Numeri naturali 4. Numeri interi 5. Relazioni 6. Classi di
DettagliEsercitazione 2 SAT. 11 Novembre Denizione del problema SAT
Esercitazione 2 SAT Corso di Fondamenti di Informatica II BIAR2 (Ing. Informatica e Automatica) e BSIR2 (Ing. dei Sistemi) A.A. 2010/2011 11 Novembre 2010 Sommario Scopo della esercitazione è quello di
DettagliVerifica parte IIB. Rif. Ghezzi et al
Verifica parte IIB Rif. Ghezzi et al. 6.3.4.1 Sommario Test In piccolo White box Black box Condizioni di confine Problema dell' Oracolo In grande Test di modulo Test di integrazione Test di Sistema Test
DettagliLogica per la Programmazione
Logica per la Programmazione Lezione 2 Dimostrazione di tautologie Proof System pag. 1 Un Problema di Deduzione Logica [da un test di ingresso] Tre amici, Antonio, Bruno e Corrado, sono incerti se andare
DettagliIntelligenza Artificiale. Breve introduzione alla logica classica (Parte 2)
Intelligenza Artificiale Breve introduzione alla logica classica (Parte 2) Marco Piastra Logica formale (Parte 2) - Introduzione alla logica formale Parte. Preambolo: algebra di Boole, proposizioni, conseguenza
Dettaglialla categoria di automi a minor potenza riconoscitiva possibile. }, dove k è un parametro.
Algoritmi e Prin Appello del 2 Settembre 20 Informatica 2 ore e 30 minuti. Chi deve sostenere solo il modulo di Informatica teorica deve svolgere gli Esercizi 1 e 2 in 1 ora e minuti. Chi deve sostenere
DettagliCORSO DI LAUREA IN INGEGNERIA EDILE/ARCHITETTURA b) Dal testo sappiamo già che si tratta di un isometria. Rappresentando i punti si vede che sia
CORSO DI LAUREA IN INGEGNERIA EDILE/ARCHITETTURA FOGLIO DI ESERCIZI GEOMETRIA 008/09 Esercizio.. Dati i punti i O0, 0), A, ), B, ), determinare l isometria fx, y) = x, y ) tale che fo) = O, fa) = A, fb)
Dettagli