Programmazione Dichiarativa. Programmazione Logica. SICStus PROLOG PROLOG. Bob Kowalski: "Algoritmo = Logica + Controllo"
|
|
- Costanza Bartoli
- 7 anni fa
- Visualizzazioni
Transcript
1 Programmazione Logica Bob Kowalski: "Algoritmo = Logica + Controllo" nella programmazione tradizionale: il programmatore deve occuparsi di entrambi gli aspetti nella programmazione dichiarativa: il programmatore si occupa solo della struttura logica del problema, la parte di controllo e' demandata all'interprete. Programmazione Dichiarativa Il compito del programmatore e' solo quello di specificare il problema da risolvere: cosa si vuole ottenere (dichiarativo) e non anche come lo si vuole ottenere (operazionale) PROLOG SICStus PROLOG Il primo ed il più diffuso linguaggio reale basato sulla programmazione logica è il PROLOG (Programming in logic). Il compilatore PROLOG che utilizzeremo per le esercitazioni è stato sviluppato da un gruppo di ricercatori dello Swedish Institute of Computer Science Il primo interprete PROLOG è stato ideato e sviluppato da Colmerauer e Russel nel ultima release: del 28 Giugno 2002 maggiori informazioni (e download di prova)
2 Dalla Deduzione Automatica alla Programmazione Logica Le origini della programmazione logica si trovano nei lavori sulla dimostrazione automatica di teoremi. La programmazione logica è un sottoinsieme della logica del primo ordine (FOL: first order logic), e si compone delle cosidette Clausole di Horn (dal nome del loro inventore). Programmazione logica: sintassi L' alfabeto è composto da: Var un insieme di simboli di variabili: x, y, z Costr un insieme di simboli di costruttori, ciascuno con una determinata arietà (numero di argomenti), che distinguamo in Const le costanti, i costruttori di arietà 0: a,b,c, Fun le funzioni, i costruttori di arietà > 0: f, g, h, Pred un insieme di simboli di predicato, ciascuno con una determinata arietà: p,q,r, Spec due simboli speciali: e and corrispondenti alla implicazione a sinistra e alla congiunzione L' insieme Term dei termini è definito da sintassi - 2 Term ::= Var Const Fun(Term,,Term) sintassi - 3 L' insieme Atom degli atomi (A, B, H, ) è definito da Atom ::= Pred(Term,, Term) es. x, a, f(x,a), f(g(x),y), g(f(a,a)) es. p(a,x), q(f(g(a),y)), p(a,f(x,a)) termine ground: se non contiene variabili Universo di Herbrand: l'insieme di tutti i termini ground (su di un prefissato alfabeto) atomo ground: se non contiene variabili Base di Herbrand: l'insieme di tutti gli atomi ground (su di un prefissato alfabeto)
3 L' insieme delle Clausole di Horn è definito da sintassi - 4 HClause ::= Atom Atom and and Atom Atom and and Atom sintassi - 5 Un Programma Logico è un insieme di clausole definite volo_diretto(venezia, londra) volo_diretto(roma, atene) volo_diretto(roma, venezia) volo(x,y) volo_diretto(x,z) and volo(z,y) H B Head (testa) Body (corpo) H (se Body è True) volo(x,y) volo_diretto(x,y) Un goal è una clausola con testa vuota (False) volo(roma, londra) volo(roma, y) Sintassi PROLOG Semantica dichiarativa logica PROLOG :- (nelle clausole definite)?- (nei goal) Un programma logico viene interpretato come una teoria della FOL, che definisce il significato dei predicati che compaiono nelle teste delle clausole definite. and, (virgola). (punto) alla fine di ogni clausola Computare consiste nel provare (deduzione logica) che la proprietà espressa dal corpo del goal è conseguenza logica del programma.
4 esempio: voli esempio: somma x,y. volo(x,y) volo_diretto(x,y) x,y. volo(x,y) volo_diretto(x,z) and volo(z,y) volo(venezia,londra) volo_diretto(venezia,londra) volo(roma,londra) volo_diretto(roma,venezia) and volo(venezia,londra) y.?- volo(roma,y) z.?- volo(z,roma) somma(x,y,z) := z è la somma di x ed y sum(0,y,y) sum(s(x),y,s(z)) sum(x,y,z)?- somma(s(s(0)), s(0), y)?- somma(x, s(0), s(s(0)))?- somma(x, y, s(s(0))) esempio: numero misterioso Esiste un numero (AB) di 2 cifre tale che il suo quadrato e' di 4 cifre (XYZW) e è uguale alla somma del numero che corrisponde alle prime due cifre del quadrato più quello che corrisponde alle ultime due (AB = XY + ZW) N.B. supponiamo di aver definito tutte le operazioni aritmetiche necessarie numero di 2 cifre esempio: numero misterioso due_c(n) maggiore(n,9) and maggiore(100,n) il suo quadrato e' di 4 cifre quattro_c(m) maggiore(n,999) and maggiore(10000,n) quattro_sq(n) square(n,m) and quattro_c(m) è uguale alla somma.... prime due cifre prime(m,x) div(m,100,x). ultime due cifre ultime(m,x) mod(m,100,x) somma_cifre(m,z) somma(prime(m,x), ultime(m,x), Z) somma_cifre_sq(n) square(n,m) and somma_cifre(m,n) soluzione(n) due_c(n) and quattro_sq(n) and somma_cifre_sq(n)
5 Conseguenza logica ed insoddisfacibilità FOL e clausole (generali) Proposizione Una formula F è conseguenza logica di una teoria T se e solo se T not(f) è insoddisfacibile (non ha modelli). Una clausola(generale) è della forma A1 or or Am B1 and and Bn Teorema Una qualsiasi teoria FOL T si può riscrivere in un in sieme di clausole generali T' tali che T e T' sono equivalenti dal punto di vista della soddisfacibilità. FOL e Clausole di Horn Esistono teorie che non si possono formulare con clausole di Horn insetto(x) or uccello(x) or pipistrello(x) vola(x) ma è possibile definire un metodo di prova per le clausole di Horn molto più efficiente di quanto sia possibile fare per la FOL in generale.
Conseguenza logica ed insoddisfacibilità. Semantica Dichiarativa. FOL e clausole (generali) FOL e Clausole di Horn. Minimo modello di Herbrand
Conseguenza logica ed insoddisfacibilità Semantica Dichiarativa Minimo modello di Herbrand Proposizione Una formula F è conseguenza logica di una teoria T se e solo se T not(f) è insoddisfacibile (non
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
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
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
DettagliDerivazioni SLD. Passo di derivazione SLD. Derivazione SLD. Notazione
Passo di derivazione SLD Derivazioni SLD Sia R una regola di selezione e P un insieme di clausole definite. Diciamo che G' deriva da G in P con un passo di derivazione SLD (G => G') se G = A,B,C dove B
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
DettagliC1: L C1 C2: L C2 C: C1 C2
Abbiamo visto Gli agenti logici applicano inferenze a una base di conoscenza per derivare nuove informazioni. Concetti base della logica: sintassi: struttura formale delle sentenze semantica: verita` di
DettagliMaiuscole e minuscole
Maiuscole e minuscole Abilità interessate Distinguere tra processi induttivi e processi deduttivi. Comprendere il ruolo e le caratteristiche di un sistema assiomatico. Riconoscere aspetti sintattici e
DettagliPROLOG: PROgramming in LOGic Linguaggio usato per risolvere problemi che coinvolgono oggetti e relazioni tra oggetti.
Paradigmi di programmazione Imperativo: orientato alla soluzione algoritmica del problema (Assembler, C, Pascal, Ada,...) Dichiarativo: si concentra sulla descrizione del problema. Il programmatore specifica
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
DettagliCorso di Linguaggi di Programmazione
Corso di Linguaggi di Programmazione Lezione 7 Alberto Ceselli alberto.ceselli@unimi.it Università degli Studi di Milano 19 Marzo 2013 Programmazione dichiarativa Programmi = Algoritmi + Strutture Dati
DettagliProlog: materiale didattico
Prolog: materiale didattico Qualunque testo di introduzione al Prolog, ad esempio: I. Bratko. Programmare in Prolog per l Intelligenza Artificiale. Masson - Addison Wesley, 1988. W. F. Clocksin and C.
DettagliLINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware
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 Fortran Cobol Basic Pascal Python C
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 Algol Basic
DettagliIn Prolog predicati (programmi) e termini (dati) hanno la stessa struttura e possono essere utilizzati in modo interscambiabile
META-PREDICATI In Prolog predicati (programmi) e termini (dati) hanno la stessa struttura e possono essere utilizzati in modo interscambiabile sum(0,x,x). sum(s(x),y,s(z)):- sum(x,y,z). Operatore (non
DettagliEsempio compito 11 Sett 2008
Esempio compito 11 Sett 2008 no_dupl([], []). no_dupl([x Xs], Ys):- member(x, Xs), no_dupl(xs, Ys). no_dupl([x Xs], [X Ys]):- nonmember(x, Xs), no_dupl(xs, Ys). nonmember(_, []). nonmember(x, [Y Ys]):-X
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
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. 2013-14 Vito Claudio Ostuni Linguaggi procedurali e dichiarativi linguaggi
DettagliCorso di Informatica
Corso di Informatica Modulo T2 1 Costanti, variabili ed espressioni 1 Prerequisiti Concetto matematico di variabile, costante ed espressione Valutazione di espressioni Sintassi e regole di precedenza nelle
DettagliIn Prolog predicati (programmi) e termini (dati) hanno la stessa struttura e possono essere utilizzati in modo interscambiabile
META-PREDICATI In Prolog predicati (programmi) e termini (dati) hanno la stessa struttura e possono essere utilizzati in modo interscambiabile sum(0,x,x). sum(s(x),y,s(z)):- sum(x,y,z). Operatore (non
DettagliUNIFICAZIONE E PATTERN MATCHING
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.
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
DettagliLogica per la Programmazione
Logica per la Programmazione Lezione 6 Logica del Primo Ordine Motivazioni Sintassi di Termini e Formule Formule aperte e chiuse A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a.
DettagliLinguaggi di Programmazione Prolog (1) Prolog. Processo di dimostrazione (limiti) Linguaggio: Utile per:
Linguaggi di Programmazione Prolog (1) Prolog Linguaggio: basato su una restrizione della logica del primo ordine dichiarativo Utile per: Prototipizzazione radipa (di alcuni problemi) Applicazioni di Intelligenza
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
Dettaglisi vuole verificare: P5: pioverà
Logica matematica ntroduzione alla logica matematica ilvana adaloni Paolo ison Fondamenti di nformatica AA 20004 niversità di Padova formalizzazione dei meccanismi di ragionamento la logica studia proposizioni
DettagliIntroduzione alla logica
Corso di Intelligenza Artificiale 2011/12 Introduzione alla logica iola Schiaffonati Dipartimento di Elettronica e Informazione Sommario 2 Logica proposizionale (logica di Boole) Logica del primo ordine
DettagliIn Prolog predicati (programmi) e termini (dati) hanno la stessa struttura e possono essere utilizzati in modo interscambiabile
IL PREDICATO CALL In Prolog predicati (programmi) e termini (dati) hanno la stessa struttura e possono essere utilizzati in modo interscambiabile Un primo predicato predefinito che può essere utilizzato
DettagliTipi di dato primitivi
Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso
DettagliCONSTRAINT PROGRAMMING & PLANNING
CONSTRAINT & PLANNING Agostino Dovier Università di Udine Dipartimento di Matematica e Informatica Udine, Maggio 2011 SOMMARIO Programmi ASP Answer Set Programming, in breve, ASP, è una metodologia di
DettagliLogica per la Programmazione
Logica del Primo Ordine: Motivazioni, Sintassi e Interpretazioni Logica per la Programmazione Lezione 1 Calcolo Proposizionale: sintassi e semantica Tautologie Esempi di Formalizzazione di Enunciati pag.
DettagliFONDAMENTI DI INTELLIGENZA ARTIFICIALE PRIMA PARTE (6 CFU) 9 Dicembre 2010 Tempo a disposizione 2h Risultato 32/32 punti
FONDAMENTI DI INTELLIGENZA ARTIFICIALE PRIMA PARTE (6 CFU) 9 Dicembre 0 Tempo a disposizione h Risultato / punti Esercizio 1 (punti 6) Si rappresentino in logica dei predicati del primo ordine le seguenti
DettagliRagionamento formalei. Ragionamento formale
Ragionamento formale La necessità e l importanza di comprendere le basi del ragionamento formale, utilizzato in matematica per dimostrare teoremi all interno di teorie, è in generale un argomento piuttosto
DettagliRappresentazione della Conoscenza. Lezione 2. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 2 0
Rappresentazione della Conoscenza Lezione 2 Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 2 0 Logica come linguaggio di rappresentazione della conoscenza Sommario richiami sintassi e semantica
DettagliTABELLA OPERATORI ARITMETICI
ARITMETICA E RICORSIONE Non esiste, in logica, alcun meccanismo per la valutazione di funzioni, operazione fondamentale in un linguaggio di programmazione I numeri interi possono essere rappresentati come
DettagliLogica per la Programmazione
Logica per la Programmazione Lezione 6 Logica del Primo Ordine Motivazioni Sintassi Interpretazioni Formalizzazione pag. 1 Limiti del Calcolo Proposizionale Nella formalizzazione di enunciati dichiarativi,
DettagliC++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI
Linguaggi di alto livello Barriera di astrazione C Fortran Cobol Modula-2 Basic Pascal Algol Ada Lisp Smalltalk Simula67 Scheme C++ Prolog ML AN - 1995 Linguaggi di alto livello IMPERATIVI C Fortran Modula-2
DettagliLinguaggi di alto livello. Barriera di astrazione. Pascal. Cobol. Fortran. Basic. Modula-2. Lisp. Simula67 Scheme. Smalltalk C++ Prolog AN
Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Basic Pascal Algol Ada Lisp Smalltalk Simula67 Scheme C++ Prolog ML AN - 1995 Linguaggi di alto livello IMPERATIVI Fortran Cobol
DettagliIn Prolog predicati (programmi) e termini (dati) hanno la stessa struttura e possono essere utilizzati in modo interscambiabile
IL PREDICATO CALL In Prolog predicati (programmi) e termini (dati) hanno la stessa struttura e possono essere utilizzati in modo interscambiabile Un primo predicato predefinito che può essere utilizzato
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni
DettagliInterpreti, compilatori e semantica operazionale
Interpreti, compilatori e semantica operazionale 1 Linguaggi di programmazione Come si comprendono le caratteristiche di un linguaggio di programmazione? Molte risposte diverse manuali, documentazione
DettagliLOGICA DEL PRIMO ORDINE: MOTIVAZIONI, SINTASSI E INTERPRETAZIONI. Corso di Logica per la Programmazione A.A Andrea Corradini
LOGICA DEL PRIMO ORDINE: MOTIVAZIONI, SINTASSI E INTERPRETAZIONI Corso di Logica per la Programmazione A.A. 2013 Andrea Corradini LIMITI DEL CALCOLO PROPOSIZIONALE Nella formalizzazione di enunciati dichiarativi,
DettagliIn Prolog predicati (programmi) e termini (dati) hanno la stessa struttura e possono essere utilizzati in modo interscambiabile
IL PREDICATO CALL In Prolog predicati (programmi) e termini (dati) hanno la stessa struttura e possono essere utilizzati in modo interscambiabile Un primo predicato predefinito che può essere utilizzato
DettagliRagionamento Automatico Richiami di calcolo dei predicati
Richiami di logica del primo ordine Ragionamento Automatico Richiami di calcolo dei predicati (SLL: Capitolo 7) Sintassi Semantica Lezione 2 Ragionamento Automatico Carlucci Aiello, 2004/05Lezione 2 0
DettagliLinguaggi di programmazione. Paradigmi di programmazione
Linguaggi di programmazione Paradigmi di programmazione Linguaggi: un po di storia Albori: Macchine a programma memorizzato, Programmi come dati Linguaggio Macchina Assemblatore FORTRAN (calcolo scientifico)
Dettagli(X (, Y, Y Z ) Z " Z Z
ARITMETICA E RICORSIONE Non esiste, in logica, alcun meccanismo per la valutazione di funzioni, operazione fondamentale in un linguaggio di programmazione I numeri interi possono essere rappresentati come
Dettagli1 IL LINGUAGGIO MATEMATICO
1 IL LINGUAGGIO MATEMATICO Il linguaggio matematico moderno è basato su due concetti fondamentali: la teoria degli insiemi e la logica delle proposizioni. La teoria degli insiemi ci assicura che gli oggetti
DettagliLinguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione
Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio (1) Linguaggio (2) Insieme di sequenze di simboli,
DettagliRELAZIONI TRA SINTASSI E SEMANTICA
RELAZIONI TRA SINTASSI E SEMANTICA INTERPRETAZIONI E MODELLI Sia Γ un insieme di enunciati dichiarativi (asserzioni che hanno valore T o F) Una intepretazione assegna un significato ad ogni componente
DettagliTrasformazione in clausole
DEPARTMENT OF INFORMATION ENGINEERING UNIVERSITY OF PADOVACorso Principio di A.A. Intelligenza di 2005-2006 Risoluzione Artificiale ing. Marco Falda marco.falda@unipd.it atomi letterali) Una A1 A2 L An
DettagliIl linguaggio JavaScript
Il linguaggio JavaScript JavaScript è un linguaggio di programmazione ad alto livello compatto e comprensibile. sintassi e semantica sono formalmente definite, compatto e comprensibile. appartiene alla
DettagliFondamenti teorici e programmazione
Fondamenti teorici e programmazione FTP(A) - modb Lezione 8 F.Bonchi Dip.to Informatica Fondamenti teorici e programmazione (A) - modb a.a. 2018/19 pag. 1 Ragionamento formale Comprendere le basi del ragionamento
DettagliLogica per la Programmazione
Logica per la Programmazione Lezione 6 Logica del Primo Ordine Motivazioni Sintassi Interpretazioni Formalizzazione A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2015/16 pag.
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
DettagliRagionamenti e metodi di dimostrazione. Liceo Scientifico Statale S. Cannizzaro Prof.re E. Modica
Ragionamenti e metodi di dimostrazione Liceo Scientifico Statale S. Cannizzaro Prof.re E. Modica Proposizioni Si definisce proposizione una frase alla quale è possibile attribuire uno e un solo valore
DettagliStruttura dei programmi C
Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte
DettagliLogica booleana. Bogdan Maris ( )
Logica booleana 1 Algebra di Boole Opera con i soli valori di verità 0 o 1 (variabili booleane o logiche) La struttura algebrica studiata dall'algebra booleana è finalizzata all'elaborazione di espressioni
DettagliSemantiche dei linguaggi di programmazione
Semantiche dei linguaggi di programmazione By Giulia Costantini (819048) e Giuseppe Maggiore (819050) Contents La semantica del linguaggio... 1 Tipi di semantica... 1 Esempio di semantica operazionale...
DettagliLezione 1 - Insiemi. Laboratorio di Programmazione M1 UD2 Matematica e Logica per la Programmazione
Lezione 1 - Insiemi Laboratorio di Programmazione M1 UD2 Matematica e Logica per la Programmazione Michael Grifalconi e-mail: michael.grifalconi@studenti.unimi.it web: Università degli Studi di Milano
DettagliAlgebra di Boole Algebra di Boole
1 L algebra dei calcolatori L algebra booleana è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole
DettagliLinguaggio C - sezione dichiarativa: costanti e variabili
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente
DettagliUniversita' degli Studi di Udine UNA PROPOSTA PER L'INTRODUZIONE DI CAPACITA' DI META-RAPPRESENTAZIONE IN UN LINGUAGGIO DI PROGRAMMAZIONE LOGICA
Universita' degli Studi di Udine FACOLTA' DI SCIENZE MATEMATICHE FISICHE E NATURALI UNA PROPOSTA PER L'INTRODUZIONE DI CAPACITA' DI META-RAPPRESENTAZIONE IN UN LINGUAGGIO DI PROGRAMMAZIONE LOGICA Relatore:
DettagliLez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1
Lez. 8 La Programmazione Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli
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
DettagliProlog. Processo di dimostrazione (limiti) Dott. Fabio Massimo Zanzotto. Linguaggio: Utile per:
! "!#$&%&' Dott. Fabio Massimo Zanzotto Prolog Linguaggio: basato su una restrizione della logica del primo ordine ()+*-,.+*-/0 /213* 4657 Utile per: Prototipizzazione radipa (di alcuni problemi) Applicazioni
DettagliLa codifica dell informazione
La codifica dell informazione Codifica dati e istruzioni Algoritmi = istruzioni che operano su dati. Per scrivere un programma è necessario rappresentare istruzioni e dati in un formato tale che l esecutore
DettagliSommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio (1) Linguaggio (2)
Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio (1) Linguaggio (2) Insieme di sequenze di simboli,
DettagliCALCOLO PROPOSIZIONALE. Corso di Logica per la Programmazione Andrea Corradini
CALCOLO PROPOSIZIONALE Corso di Logica per la Programmazione Andrea Corradini andrea@di.unipi.it UN PROBLEMA DI DEDUZIONE LOGICA (da un test d ingresso) Tre amici, Antonio, Bruno e Corrado, sono incerti
DettagliLOGICA DEL PRIMO ORDINE: PROOF SYSTEM. Corso di Logica per la Programmazione A.A. 2013/14 Andrea Corradini
LOGICA DEL PRIMO ORDINE: PROOF SYSTEM Corso di Logica per la Programmazione A.A. 2013/14 Andrea Corradini LOGICA DEL PRIMO ORDINE: RIASSUNTO Sintassi: grammatica libera da contesto (BNF), parametrica rispetto
DettagliEsercitazioni per il corso di Logica Matematica
Esercitazioni per il corso di Logica Matematica Luca Motto Ros 15 aprile 2005 Esercizi Nota importante. In questa dispensa sono stati raccolti, senza alcun ordine particolare, alcuni esercizi che possono
DettagliCenni di logica matematica e di teoria degli insiemi. CORSI INTRODUTTIVI Dipartimento di Ingegneria di Perugia a.a. 2016/2017 Paola Rubbioni
Cenni di logica matematica e di teoria degli insiemi CORSI INTRODUTTIVI Dipartimento di Ingegneria di Perugia a.a. 2016/2017 Paola Rubbioni 1 1 Logica matematica Corsi Introduttivi - a.a. 2016/2017 2 Serve
DettagliCALCOLO PROPOSIZIONALE
CALCOLO PROPOSIZIONALE UN PROBLEMA DI DEDUZIONE LOGICA (da un test d ingresso) Tre amici, Antonio, Bruno e Corrado, sono incerti se andare al cinema. Si sa che: Se Corrado va al cinema, allora ci va anche
DettagliInformatica teorica Lez. n 12 Introduzione al Lisp. Introduzione al Lisp. Prof. Giorgio Ausiello Università di Roma La Sapienza
Introduzione al Lisp Argomenti della lezione Aspetti generali del Lisp S-espressioni Funzioni predefinite Definizione di funzioni e costrutti programmativi Lisp Ispirato da funzioni ricorsive e lambda
DettagliT1: Logica, discorso e conoscenza. Logica classica
T1: Logica, discorso e conoscenza Primo modulo: Logica classica ovvero Deduzione formale vs verità: un introduzione ai teoremi limitativi Simone Martini Dipartimento di Scienze dell Informazione Alma mater
DettagliCenni di logica matematica e di teoria degli insiemi Paola Rubbioni
Cenni di logica matematica e di teoria degli insiemi Paola Rubbioni CORSI INTRODUTTIVI Dipartimento di Ingegneria di Perugia a.a. 2017/2018 1 Corsi Introduttivi - a.a. 2017/2018 2 1 Logica matematica Serve
DettagliIl Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)
Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande
DettagliProposizioni e verità
Proposizioni e verità Claudia Casadio Logica e Psicologia del Pensiero Laurea Triennale - Parte Istituzionale A.A. 2007-08 Contents 1 Proposizione.......................................... 3 2 Verità...............................................
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
DettagliRaffinamenti della risoluzione
Raffinamenti della risoluzione Il metodo di risoluzione fornisce vantaggi drastici rispetto ad altri sistemi di inferenza. Ma l applicazione non ristretta della risoluzione genera molte clausole inutili
DettagliLa Programmazione. Cos è la programmazione? Concetti preliminari
La Programmazione Cos è la programmazione? Concetti preliminari 1 Sommario La programmazione, questa sconosciuta Programmiamo Macchine Astratte Linguaggi di basso e alto livello e loro implementazione
DettagliCenni di logica matematica e di teoria degli insiemi Paola Rubbioni
Cenni di logica matematica e di teoria degli insiemi Paola Rubbioni CORSI INTRODUTTIVI Dipartimento di Ingegneria di Perugia a.a. 2018/2019 1 Corsi Introduttivi - a.a. 2017/2018 2 1 Logica matematica Serve
DettagliClassificazione dei termini
Classificazione dei termini Il Prolog è un linguaggio a tipizzazione dinamica Predicati predefiniti per riconoscere il tipo di un termine?- var(x). var, nonvar?- var(padre(x)). false.?- X=Y, Y=23, var(x).
DettagliIntroduzione alla Matematica per le Scienze Sociali - parte II
Introduzione alla Matematica per le Scienze Sociali - parte II Lucrezia Fanti Istituto Nazionale per l Analisi delle Politiche Pubbliche (INAPP) lucrezia.fanti@uniroma1.it Lucrezia Fanti Intro Matematica
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
DettagliIl Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)
Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande
DettagliInformatica 3. LEZIONE 9: Introduzione ai linguaggi funzionali. Modulo 1: Introduzione ai linguaggi funzionali Modulo 2: LISP
Informatica 3 LEZIONE 9: Introduzione ai linguaggi funzionali Modulo 1: Introduzione ai linguaggi funzionali Modulo 2: LISP Informatica 3 Lezione 9 - Modulo 1 Introduzione ai linguaggi funzionali Linguaggi
DettagliRappresentazione della conoscenza. Lezione 5. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 5 0
Rappresentazione della conoscenza Lezione 5 Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 5 0 Sommario Logiche non monotone Ipotesi di mondo chiuso Negazione come fallimento Semantica dei
DettagliLogica proposizionale
Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A7_2 V1.1 Logica proposizionale Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale
DettagliIndice. NUMERI REALI Mauro Saita Versione provvisoria. Ottobre 2017.
NUMERI REALI Mauro Saita e-mail: maurosaita@tiscalinet.it Versione provvisoria. Ottobre 2017. Indice 1 Numeri reali 2 1.1 Il lato e la diagonale del quadrato sono incommensurabili: la scoperta dei numeri
DettagliIntroduzione alla logica matematica. Logica matematica. Paolo Bison
Introduzione alla logica matematica Paolo Bison Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Logica matematica formalizzazione dei meccanismi di ragionamento la logica
DettagliQUANTIFICATORI FUNZIONALI: MINIMO, MASSIMO, SOMMATORIA, CARDINALITA. Corso di Logica per la Programmazione A.A. 2013/14
QUANTIFICATORI FUNZIONALI: MINIMO, MASSIMO, SOMMATORIA, CARDINALITA Corso di Logica per la Programmazione A.A. 2013/14 ESTENSIONE DEL PRIMO ORDINE CON QUANTIFICATORI FUNZIONALI Abbiamo esteso il linguaggio
DettagliBOLLETTINO UNIONE MATEMATICA ITALIANA
BOLLETTINO UNIONE MATEMATICA ITALIANA Sezione A La Matematica nella Società e nella Cultura Roberta Gori Ragionando sul fallimento finito e le computazioni infinite usando l interpretazione astratta Bollettino
Dettagli