I predicati cut e not
|
|
- Biaggio Fabiani
- 6 anni fa
- Visualizzazioni
Transcript
1 Operatore Informatico Giuridico Informatica Giuridica Avanzata A.A. 2006/2007 I Semestre I predicati cut e not Ing. Rossella Rubino CIRSFID rrubino@cirsfid.unibo.it 31 Ottobre 2006
2 Il cut Il predicato cut! permette di segnalare al Prolog quali delle precedenti scelte non deve considerare nuovamente quando si verifica un backtracking. I programmi che utilizzano il cut: risulteranno più veloci; occuperanno meno memoria. In alcuni casi il cut è fondamentale per il buon funzionamento di un programma. 2
3 Sintassi del predicato cut Sintatticamente, il cut viene rappresentato come un goal che ha il simbolo! come predicato e nessun argomento. Esempio: somma_a(1,1):-!. Come goal, il cut ha successo immediatamente e non può essere risoddisfatto. L effetto del cut è rimuovere il place-marker per certi goal in modo che essi non possano essere ri-soddisfatti. 3
4 Esempio n. 1 Consideriamo il seguente programma: a(x,y):- b(x),!,c(y). a(0,0). b(1). b(2). c(1). c(2). Poniamo la domanda:?- a(x,y). yes X=1 Y=1; X=1 Y=2; no 4
5 Esempio n1 (continua) a(x,y) X=1 b(x),!,c(y) X=2 a(0,0) b(1),!,c(y) c(y) Y=1 Y=2 c(1) c(2) a(x,y):- b(x),!,c(y). a(0,0). b(1). b(2). c(1). c(2). ok ok 5
6 Esempio n.2 (continua) Riprendiamo l esempio della scorsa lezione: coppia_possibile(x,y) :- ragazzo(rigoberto). ragazzo(ubaldo). ragazzo(everardo). ragazzo(palmiro). ragazza(teodora). ragazza(brunilde). ragazza(griselda). ragazzo(x),!, ragazza(y). 6
7 Esempio n.2 (continua) Ponendo la stessa domanda:?-coppia_possibile(x,y). Le risposte fornite sono: X=rigoberto, Y=teodora; X=rigoberto, Y=brunilde; X=rigoberto, Y=griselda; 7
8 Esempio n.3 Che cosa succede con e senza il cut? p(x):-q(x),r(x). p(x):-q(x),!,r(x). q(1). q(2). r(2). q(1). q(2). r(2). 8
9 Usi comuni del cut 1. Quando vogliamo dire al Prolog che ha trovato la regola giusta per un particolare goal. 2. Quando vogliamo dire al Prolog di dichiarare fallito un particolare goal senza trovare soluzioni alternative. In questo caso, il cut si usa in congiunzione con il predicato fail. 3. Quando vogliamo terminare la generazione di soluzioni alternative nel backtracking. NB: per il Prolog il cut ha lo stesso significato in tutte e tre le aree. Questa suddivisione è per motivi puramente didattici, e mostra quali sono i diversi motivi per cui il cut viene inserito nei programmi 9
10 Primo uso del cut Vogliamo dire al Prolog che ha trovato la regola giusta per un particolare goal. In sostanza, il cut dice se sei arrivato a questo punto, vuol dire che questa è la regola giusta (tra quelle possibili) per soddisfare il goal. O, detto in altro modo, il cut rende deterministica la scelta tra due o più clausole alternative. Si supponga che la condizione a(x) debba rendere le due clausole mutuamente esclusive per realizzare uno schema del tipo: if a(.) then b else c 10
11 Esempio n.4 Utilizzando il predicato predefinito "cut": p(x) :- a(x),!, b. p(x) :- c. Se a(x) e vera, viene valutato il cut che toglie il punto di scelta per p(x). Se invece a(x) fallisce, si innesca il backtracking prima che il cut venga eseguito. 11
12 Secondo uso del cut Vogliamo dire al Prolog di dichiarare fallito un particolare goal senza trovare soluzioni alternative. In questo caso, il cut si usa in congiunzione con il predicato fail per dire se sei arrivato fino a questo punto senza aver trovato una soluzione, non tornare indietro a cercarne altre. Il fail è un predicato built-in. Non ha argomenti, e ciò significa che il successo del goal fail non dipende da alcuna variabile. Quando si incontra il fail dopo un cut, il normale comportamento del backtracking viene alterato. 12
13 Esempio n.5 not(p):- call(p),!,fail. not(p). Questo utilizzo non verrà considerato in questo corso, perché richiederebbe l introduzione in contemporanea dei predicati fail, not e call, che fanno parte di un utilizzo avanzato del Prolog. 13
14 Terzo uso del cut Vogliamo terminare la generazione di soluzioni alternative nel backtracking. In pratica, diciamo al Prolog: se hai trovato una soluzione, è già quella giusta, quindi non tornare indietro a cercarne altre. E l uso più intuitivo del cut: corrisponde a quello proposto negli esempi n.1 e 2 14
15 Problemi con il cut L uso del cut può risultare dannoso in alcuni casi: dobbiamo sempre tenere conto del modo con cui il Prolog valuta i fatti e le regole contenute nel database. Altrimenti possiamo ottenere risultati apparentemente imprevedibili. 15
16 Esempio n.6 Immaginiamo di voler creare un programma per determinare il numero dei genitori di tutti gli esseri viventi, compreso il caso un po particolare di Adamo ed Eva: numero_genitori(adamo,0):-!. numero_genitori(eva,0):-!. numero_genitori(x,2). 16
17 Esempio n.6 (continua) Se poniamo la domanda:?-numero_genitori(eva,x). Otteniamo: X=0 Se la domanda è:?-numero_genitori(pippo,x). Otteniamo (giustamente!): X=2 17
18 Esempio n.6 (continua) Ma se la domanda fosse posta in questo modo..?-numero_genitori(eva,2). La risposta quale sarebbe? La risposta sarebbe yes perché il goal fallirebbe con la prima regola perché adamo è diverso da eva con la seconda perché 0 è diverso da 2 ma il goal avrebbe successo analizzando il fatto 3 perché assocerebbe ad X il valore eva. 18
19 Esempio n.6 (continua) Ecco due possibili soluzioni al problema: numero_genitori(adamo,n):-!,n=0. numero_genitori(eva,n):-!,n=0. numero_genitori(x,2). Oppure numero_genitori(adamo,0):-!. numero_genitori(eva,0):-!. numero_genitori(x,2):- X\=adamo, X\=eva. 19
20 Esempio n.7 Il pompeiano Marco, come tutti gli umani, era fedele a qualcuno. Nel periodo in cui Marco visse era imperatore cesare; i romani di allora erano divisi in due fazioni: quelli fedeli a Cesare e quelli che lo odiavano. Poiché è noto che la gente cerca di assassinare gli imperatori cui non è fedele e tenendo conto che Marco tentò di assassinare Cesare, ci si chiede: Marco era fedele a Cesare? umano(marco). pompeiano(marco). imperatore(cesare). tenta_uccidere(marco,cesare). fedele_a(x,y):-umano(x), umano(y). non_fedele_a(x,y):- umano(x),imperatore(y),tenta_uccidere(x,y). odia(x,y):-umano(x), imperatore(y). 20
21 Esempio n. 7 (continua) Se ci si chiede se c è un rapporto di non fedeltà tra due persone, la risposta che Prolog fornisce è: Marco - Cesare. Se ci si chiede se Marco è fedele a Cesare, la risposta fornita da Prolog è: False. Se ci si chiede se qualcuno odia Cesare, la risposta che Prolog fornisce è: Marco. 21
22 Il predicato not Non abbiamo preso in esame il trattamento di informazioni negative. Questo è l'approccio utilizzato nelle basi di dati, in cui per ovvi problemi di dimensioni, si memorizzano solo informazioni positive. Si consideri ad esempio il programma: persona(maria). persona(giuseppe). persona(giovanni). cane(fido). 22
23 Il predicato not (continua) Risulterebbe più intuitivo interpretare la formula "persona(fido)" come falsa, cioè interpretare come falso tutto ciò che non è dimostrabile, ovvero che non è conseguenza logica. Per tale ragione è stato introdotto il predicato di negazione not indicato anche con la tilde ~. 23
24 Esempio n.9 Si consideri il seguente programma: capoluogo(bologna). capitale(roma). citta(x):-capoluogo(x). citta(x):-capitale(x). ed il goal:?-citta(x),not capitale(x). 24
25 Esempio n.9 (continua) Per dimostrare not capitale(x), l'interprete del linguaggio Prolog cerca di costruire una dimostrazione per capitale(x). Se la dimostrazione ha successo, allora la dimostrazione di not capitale(x), fallisce, mentre se la dimostrazione per capitale(x) fallisce, si considera not capitale(x) dimostrato con successo. 25
26 Esempio n.9 (continua) 26
27 Riflessioni sulla negazione Per il Prolog è vero solo ciò che è esplicitato nel database. Non sempre il prolog riesce ad inferire quello che è falso, per esempio consideriamo i due casi che seguono. disoccupato(x):- not occupato(x), adulto(x). occupato(giovanni). adulto(mario). Questa è la nostra domanda:?- disoccupato(x) Potremmo aspettarci come risposta yes con X=mario. Invece la risposta è.? Perché? 27
28 Esempio n.10 disoccupato(x):- not occupato(x), adulto(x). occupato(giovanni). adulto(mario). La nostra domanda è questa:?- disoccupato(mario). E la risposta e yes. Perché? 28
In 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
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
DettagliLogica per la Programmazione
Logica per la Programmazione Lezione 3 Dimostrazione di Tautologie e Sintassi del Calcolo osizionale Antonio, Corrado e Bruno... formalmente Tautologie: dimostrazioni e controesempi Sintassi del Calcolo
DettagliLogica per la Programmazione
Logica per la Programmazione Lezione 3 Dimostrazione di Tautologie e Sintassi del Calcolo osizionale Antonio, Corrado e Bruno... formalmente Tautologie: dimostrazioni e controesempi Sintassi del Calcolo
DettagliCiclo do while in FORTRAN
Ciclo do while in FORTRAN Vogliamo tradurre in linguaggio FORTRAN un algoritmo che risponde a questo tipo di struttura: Fino a quando e vera questa espressione logica allora: fai questo fai quest altro
DettagliLogica per la Programmazione
Logica del Primo Ordine: Motivazioni, Sintassi e Interpretazioni Logica per la Programmazione Lezione 8 Modelli, Formule Valide, Conseguenza Logica Proof Systems Regole di inferenza per Calcolo Proposizionale
DettagliMateriale didattico aggiuntivo - Analisi Matematica I CENNI DI LOGICA MATEMATICA. 1. Proposizioni. Valori logici. Connettivi logici. Tavole di verita.
Materiale didattico aggiuntivo - Analisi Matematica I CENNI DI LOGICA MATEMATICA 1. Proposizioni. Valori logici. Connettivi logici. Tavole di verita. Intenderemo per PROPOSIZIONE (o ENUNCIATO) una qualunque
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
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
Dettagli04 - Logica delle dimostrazioni
Università degli Studi di Palermo Facoltà di Economia CdS Sviluppo Economico e Cooperazione Internazionale Appunti del corso di Matematica 04 - Logica delle dimostrazioni Anno Accademico 013/014 D. Provenzano,
DettagliUn po di logica. Christian Ferrari. Laboratorio di matematica
Un po di logica Christian Ferrari Laboratorio di matematica 1 Introduzione La logica è la disciplina che studia le condizioni di correttezza del ragionamento. Il suo scopo è quindi quello di elaborare
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.
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
DettagliLogica degli enunciati; Operazioni con le proposizioni; Proprietà delle operazioni logiche; Tautologie; Regole di deduzione; Logica dei predicati;
Logica degli enunciati; Operazioni con le proposizioni; Proprietà delle operazioni logiche; Tautologie; Regole di deduzione; Logica dei predicati; Implicazione logica. Equivalenza logica; Condizione necessaria,
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliRISOLUZIONE IN LOGICA PROPOSIZIONALE. Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine
RISOLUZIONE IN LOGICA PROPOSIZIONALE Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine 1. Risoluzione Definitione 1.1. Un letterale l è una variabile proposizionale (letterale
DettagliRichiami teorici ed esercizi di Logica
Facoltà di ingegneria Università della Calabria Corsi di Potenziamento Matematica e Logica A. A. 2008-2009 Richiami teorici ed esercizi di Logica Proposizioni logiche: Ogni espressione matematica alla
DettagliFoglio Elettronico Lezione 1
- Introduzione - Celle e riferimenti - Formule - Approfondimenti - Funzioni logiche Sommario Introduzione - Foglio elettronico o foglio di calcolo - Cos'è? Strumento per raccogliere dati organizzati in
DettagliNOZIONI DI LOGICA PROPOSIZIONI.
NOZIONI DI LOGICA PROPOSIZIONI. Una proposizione è un affermazione che è vera o falsa, ma non può essere contemporaneamente vera e falsa. ESEMPI Sono proposizioni : 7 è maggiore di 2 Londra è la capitale
DettagliCALCOLO DEI PREDICATI DEL I ORDINE
CALCOLO DEI PREDICATI DEL I ORDINE Dizionario Simboli descrittivi lettere o variabili proposizionali: p, q, r, A, B, C, lettere o variabili predicative: P, Q, R, lettere o variabili individuali: a, b,
DettagliSemantica proposizionale. Unit 2, Lez 3 e 4 Corso di Logica
Semantica proposizionale Unit 2, Lez 3 e 4 Corso di Logica Sommario Semantica dei connettivi Costruzione delle tavole di verità Tautologie, contraddizioni e contingenze Semantica delle forme argomentative
DettagliIstruzioni Condizionali
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 6 Istruzioni Condizionali Carla Limongelli Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali
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
DettagliMatlab. Istruzioni condizionali, cicli for e cicli while.
Matlab. Istruzioni condizionali, cicli for e cicli while. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 17 marzo 2016 Alvise Sommariva Introduzione 1/ 18 Introduzione Il
DettagliFogli Elettronici. Idoneità Informatica Prof. Mauro Gaspari
Fogli Elettronici Idoneità Informatica Prof. Mauro Gaspari Cosa è un foglio elettronico. Strumento per raccogliere dati organizzati in tabelle e farci delle operazioni: Le celle contengono numeri o altri
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
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
Dettaglisempre vere sempre false
Logica: elementi I principi della logica sono innanzitutto i seguenti: Identità: a=a (ogni cosa è cioè identica a se stessa) Non contraddizione: non (a e non a). E impossibile che la stessa cosa sia e
DettagliInsegnamento Informatica CdS Scienze Giuridiche
Insegnamento Informatica CdS Scienze Giuridiche A.A. 29/ Prof. Valle D.ssa Folgieri Informazioni preliminari Prof. Valle email valle@dsi.unimi.it SITO DEL CORSO: http://webcen.dsi.unimi.it/wcinfo Syllabus:
DettagliVBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
DettagliDiagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto
Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto 14 1. Dato un numero dire se è positivo o negativo 2. e se il numero fosse nullo? 3. Eseguire il prodotto tra
DettagliGeorge BOOLE ( ) L algebra booleana. (logica proposizionale)
George BOOLE (1815-64) L algebra booleana. (logica proposizionale) La logica e George BOOLE George BOOLE nel 1847 pubblicò il libro Mathematical Analysis of Logic, nel quale presentava ciò che oggi si
DettagliMATEMATICA. a.a. 2014/ LIMITI (I parte): Definizione, proprietà e calcolo. Limiti di funzioni, continuità e asintoti.
MATEMATICA a.a. 2014/15 2. LIMITI (I parte): Definizione, proprietà e calcolo. Limiti di funzioni, continuità e asintoti. Definizione Il campo di esistenza è l insieme di tutti i punti nei quali la funzione
DettagliCorso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi
Codice BCD Prima di passare alla rappresentazione dei numeri relativi in binario vediamo un tipo di codifica che ha una certa rilevanza in alcune applicazioni: il codice BCD (Binary Coded Decimal). È un
Dettagli02 - Logica delle dimostrazioni
Università degli Studi di Palermo Facoltà di Economia Dipartimento di Scienze Economiche, Aziendali e Statistiche Appunti del corso di Matematica 0 - Logica delle dimostrazioni Anno Accademico 015/016
DettagliLOGICA PER LA PROGRAMMAZIONE - a.a Secondo Appello - 11/02/2016 Soluzioni Proposte
LOGICA PER LA PROGRAMMAZIONE - a.a. 2015-2016 Secondo Appello - 11/02/2016 Soluzioni Proposte Attenzione: Le soluzioni che seguono sono considerate corrette dai docenti. Per ogni esercizio possono esistere
DettagliMETODI MATEMATICI PER L INFORMATICA
METODI MATEMATICI PER L INFORMATICA Tutorato Lezione 2 17/03/2016 Corso per matricole congrue a 1 Docente: Margherita Napoli Tutor: Amedeo Leo Applicazioni della logica proposizionale La logica ha una
DettagliAnno 3. Equazioni esponenziali e logaritmiche
Anno 3 Equazioni esponenziali e logaritmiche 1 Introduzione Lo scopo delle pagine che seguono è quello di passare in rassegna le strategie risolutive per le equazioni esponenziali e logaritmiche. Al termine
DettagliValutazione Lazy. Prefazione alla lezione
Valutazione Lazy Aniello Murano Università degli Studi di Napoli Federico II 1 Prefazione alla lezione Nella lezione precedente abbiamo introdotto i linguaggi (funzionali) con tipi di ordine superiore.
DettagliI circuiti elementari
I circuiti elementari Nel lavoro diprogrammazione con il computer si fa largo uso della logica delle proposizioni e delle regole dell algebra delle proposizioni o algebra di Boole. L algebra di Boole ha
Dettagli11. Misure con segno.
11. Misure con segno. 11.1. Misure con segno. Sia Ω un insieme non vuoto e sia A una σ-algebra in Ω. Definizione 11.1.1. (Misura con segno). Si chiama misura con segno su A ogni funzione ϕ : A R verificante
DettagliFONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU)
FONDAMENTI DI INTELLIGENZA ARTIFICIALE (8 CFU) 12 Giugno 2014 Tempo a disposizione: 2 h Risultato: 32/32 punti Esercizio 1 (6 punti) Si esprimano in logica dei predicati del I ordine le seguenti frasi:
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
DettagliESERCIZI DI ANALISI MATEMATICA 1 FOGLIO 1
ESERCIZI DI ANALISI MATEMATICA 1 FOGLIO 1 Logica e connettivi logici Esercizio 0.1. Si costruiscano le tabelle di verità delle seguenti espressioni booleane; cioè, al variare dei valori di verit delle
DettagliCodice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli
Codice La relazione che associa ad ogni successione ben formata di simboli di un alfabeto il dato corrispondente è detta codice. Un codice mette quindi in relazione le successioni di simboli con il significato
DettagliLuca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1
Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1 Esercizio 1.12 Per dimostrare che per ogni funzione esiste una formula in cui compaiono le variabili tale che la corrispondente
DettagliLaboratorio Informatica
Laboratorio Informatica Le funzioni Massimo Marchi http://marchi.usr.dsi.unimi.it/ Le funzioni Introduzione Massimo Marchi - http:// marchi.usr.dsi.unimi.it/ Le funzioni nelle formule! L utente per creare
DettagliPrerequisiti Matematici
Prerequisiti Matematici Richiami di teoria degli insiemi Relazioni d ordine, d equivalenza Richiami di logica Logica proposizionale, tabelle di verità, calcolo dei predicati Importante: Principio di Induzione
DettagliFondamenti di Informatica
Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura
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
DettagliElementi di logica. SCOPO: introdurre nozioni di logica & vocabolario per una corretta interpretazione delle dimostrazioni.
Elementi di logica SCOPO: introdurre nozioni di logica & vocabolario per una corretta interpretazione delle dimostrazioni. Quantificatori: elementi fondamentali del linguaggio matematico. quantificatore
DettagliLogica per la Programmazione
Logica del Primo Ordine: Motivazioni, Sintassi e Interpretazioni Logica per la Programmazione Lezione 7 Formule Valide, Conseguenza Logica Proof System per la Logica del Primo Ordine Leggi per i Quantificatori
DettagliCalcoli dei sequenti classici e lineare
Calcoli dei sequenti classici e lineare Gianluigi Bellin November 5, 2009 Scheda per il compito 2, scadenza rinviata al marteedì 10 novembre 2009 1 Calcolo dei sequenti classico 1.1 Linguaggio ed interpretazione
Dettagli2 non è un numero razionale
2 non è un numero razionale 1. Richiami: numeri pari e dispari. Un numero naturale m è pari (rispettivamente dispari) se e solo se esiste un numero naturale r tale che m = 2r (rispettivamente m = 2r +
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
DettagliBREVE CENNO DI LOGICA CLASSICA La logica può essere definita come la scienza che studia le condizioni in base alle quali un ragionamento risulta
BREVE CENNO DI LOGICA CLASSICA La logica può essere definita come la scienza che studia le condizioni in base alle quali un ragionamento risulta corretto e vero. Un ragionamento è corretto se segue uno
Dettagli401 PREDICATI RICORSIVI PRIMITIVI
401 PREDICATI RICORSIVI PRIMITIVI Corso di Informatica Teorica - modulo 2 Prof. Settimo Termini 1 Breve richiamo Un predicato su un insieme S è una funzione totale P su S tale che a S si ha: P(a) = VERO
DettagliPrima lezione. Gilberto Bini. 16 Dicembre 2006
16 Dicembre 2006 Vediamo alcune nozioni di teoria ingenua degli insiemi. Vediamo alcune nozioni di teoria ingenua degli insiemi. Un insieme è una collezione di oggetti di cui possiamo specificare una proprietà
DettagliCenni di logica. Hynek Kovarik. Università di Brescia. Analisi Matematica A
Cenni di logica Hynek Kovarik Università di Brescia Analisi Matematica A Hynek Kovarik (Università di Brescia) Cenni di logica Analisi Matematica A 1 / 21 Scopo: introdurre nozioni di logica & terminologia
DettagliNOZIONI DI LOGICA. Premessa
NOZIONI DI LOGICA Premessa Il compito principale della logica è quello di studiare il nesso di conseguenza logica tra proposizioni, predisponendo delle tecniche per determinare quando la verità di una
DettagliDIMOSTRAZIONI DI EQUIVALENZE, SUI CONNETTIVI E SULL'AMBIGUITA' DELLA SINTASSI. Corso di Logica per la Programmazione
DIMOSTRAZIONI DI EQUIVALENZE, SUI CONNETTIVI E SULL'AMBIGUITA' DELLA SINTASSI Corso di Logica per la Programmazione SULLE LEGGI DEL CALCOLO PROPOSIZIONALE Abbiamo visto le leggi per l'equivalenza ( ),
DettagliAppunti di informatica. Lezione 7 anno accademico Mario Verdicchio
Appunti di informatica Lezione 7 anno accademico 2016-2017 Mario Verdicchio L algoritmo di Euclide per l MCD Dati due numeri A e B, per trovare il loro MCD procedere nel seguente modo: 1. dividere il maggiore
DettagliLezione 6 Richiami di Geometria Analitica
1 Piano cartesiano Lezione 6 Richiami di Geometria Analitica Consideriamo nel piano due rette perpendicolari che si intersecano in un punto O Consideriamo ciascuna di queste rette come retta orientata
DettagliLe strutture di controllo
INFORMATICA B Ingegneria Elettrica Le strutture di controllo Selezione un esempio introduttivo Si disegni il diagramma di flusso di un algoritmo che chiede all utente un valore intero e visualizza il suo
DettagliLogica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2016/17
Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2016/17 Andrea Corradini e Francesca Levi Dipartimento di Informatica E-mail: andrea@di.unipi.it, francesca.levi@unipi.it A. Corradini e
DettagliProblemi, algoritmi, calcolatore
Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione
DettagliISTITUTO TECNICO STATALE COMMERCIALE E PER GEOMETRI A. MARTINI Castelfranco Veneto (TV) Elementi di Logica
settembre 008 Elementi di Logica 1. Nozioni preliminari La logica studia come funziona il pensiero e il ragionamento espresso attraverso degli enunciati Il ragionamento è un sistema di enunciati che permette
DettagliTRADUZIONE STATE AND TRANSITION DIAGRAM UML E CORRETTEZZA DEI PROGRAMMI IN TLA+
TRADUZIONE DI STATE AND TRANSITION DIAGRAM UML E CORRETTEZZA DEI PROGRAMMI IN TLA+ a cura di: Eleonora Antonelli Simone Maletta Stefano Novara INDICE 1. Grammatica di TLA+ a cura di Eleonora Antonelli
DettagliLezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010
Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Corso B Docente : Ing. Anno Accademico 2010-2011 Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo
DettagliUna Breve Introduzione alla Logica
Una Breve Introduzione alla Logica LOGICA La LOGICA è la disciplina che studia le condizioni di correttezza del ragionamento Occorre dire, anzitutto, quale oggetto riguardi ed a quale disciplina spetti
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
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
DettagliIl concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
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
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
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
DettagliEsercizi sulle radici
Esercizi sulle radici Semplificazione Per semplificare una radice utilizzando, quando necessario, i valori assoluti, dobbiamo ricordare che se una radice ha indice pari, il suo radicando (il numero che
DettagliGrafi e reti di flusso
Grafi e reti di flusso Molti problemi di ottimizzazione sono caratterizzati da una struttura di grafo: in molti casi questa struttura emerge in modo naturale, in altri nasce dal particolare modo in cui
DettagliLa codifica digitale
La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliAlgoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal
Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi
DettagliIntersezione e somma di sottospazi vettoriali
Capitolo 6 Intersezione e somma di sottospazi vettoriali 6.1 Introduzione Ricordiamo le definizioni di intersezione e somma di due sottospazi vettoriali. Anche in questo caso rimandiamo al testo di geometria
DettagliEspressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test
Espressioni logiche Espressioni Logiche e Istruzione di Test Fondamenti di Informatica 1 Massimo Di Nanni Gennaio, 2001 Espressioni logiche nelle Istruzioni di Test e di Iterazione Calcolo del massimo
DettagliSviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
DettagliAppunti di matematica per le Scienze Sociali Parte 1
Appunti di matematica per le Scienze Sociali Parte 1 1 Equazioni 1.1 Definizioni preliminari 1.1.1 Monomi Si definisce monomio ogni prodotto indicato di fattori qualsiasi, cioè uguali o diseguali, numerici
DettagliArchitettura degli Elaboratori I Esercitazione 5 - Progettazione di Reti di Interconnessione fra Registri Roberto Navigli
Architettura degli Elaboratori I Esercitazione 5 - Progettazione di Reti di Interconnessione fra Registri Roberto Navigli 1 Reti di Interconnessione fra Registri In questa esercitazione vedremo i quattro
DettagliRiepilogo scomposizione polinomi
Riepilogo scomposizione polinomi. Ci sono fattori comuni? Se sì, fai un raccoglimento totale. Esempio: ax ay a=a x y 2. Quanti sono i termini del polinomio? Due Somma di quadrati: non si scompone. Esempio:
DettagliCirconferenze del piano
Circonferenze del piano 1 novembre 1 Circonferenze del piano 1.1 Definizione Una circonferenza è il luogo dei punti equidistanti da un punto fisso, detto centro. La distanza di un qualunque punto della
DettagliLezione 39: la legge di Ohm e i circuiti elettrici
Lezione 39 - pag.1 Lezione 39: la legge di Ohm e i circuiti elettrici 39.1. Il circuito elementare Nella scorsa lezione abbiamo rappresentato in modo più o meno realistico alcuni circuiti elettrici particolarmente
DettagliELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)
1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano
DettagliAnno 2. Radicali algebrici e aritmetici: condizioni di esistenza
Anno 2 Radicali algebrici e aritmetici: condizioni di esistenza 1 Introduzione Perché studiare i radicali? In matematica ogni volta che facciamo un operazione dobbiamo anche vedere se è possibile tornare
DettagliCORSO DI PROGRAMMAZIONE
ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE INTRODUZIONE ALLE ISTRUZIONI ITERATIVE DISPENSA 03.01 03-01_Iterazioni_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative
DettagliCOMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI
COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.200.2005/06 Prof. V.L. Plantamura Dott.ssa A. Angelini Confronto di algoritmi Uno stesso problema può essere risolto in modi diversi,
Dettagli1 Funzioni reali di una variabile reale
1 Funzioni reali di una variabile reale Qualche definizione e qualche esempio che risulteranno utili più avanti Durante tutto questo corso studieremo funzioni reali di una variabile reale, cioè Si ha f
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
DettagliDatabase Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati
Sommario - Progettazione di un database - Join - Valore NULL - Operatori aggregati Progettazione di un database - In un database c'è una marcata distinzione tra i valori in esso contenuti e le operazioni
DettagliAppunti di informatica. Lezione 10 anno accademico Mario Verdicchio
Appunti di informatica Lezione 10 anno accademico 2016-2017 Mario Verdicchio Esercizio Scrivere un programma che, data una sequenza di 10 interi (scelta dall utente), la ordini in ordine crescente Soluzione
DettagliUNIVERSITÀ DEGLI STUDI LA SAPIENZA CORSO DI STUDI IN INFORMATICA ESERCITAZIONI AL CORSO DI LOGICA MATEMATICA LOGICA PROPOSIZIONALE
UNIVERSITÀ DEGLI STUDI LA SAPIENZA CORSO DI STUDI IN INFORMATICA ESERCITAZIONI AL CORSO DI LOGICA MATEMATICA LOGICA PROPOSIZIONALE TAVOLE DI VERITÀ, COLETEZZA VERO-FUNZIONALE Esercizio 1. Calcola le tavole
DettagliLinguaggio C - le strutture di controllo: sequenza, selezione, iterazione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione
DettagliCorrettezza (prima parte)
Fondamenti di informatica Oggetti e Java (prima parte) Capitolo 16 ottobre 2015 1 Contenuti Introduzione alla correttezza dei programmi specifica di un programma correttezza di un programma verifica di
Dettagli