Francesco Di Noto, Michele Nardelli. In this paper we show some our ideas and applications in Computational Number Theory.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Francesco Di Noto, Michele Nardelli. In this paper we show some our ideas and applications in Computational Number Theory."

Transcript

1 TEORIA COMPUTAZIONALE DEI NUMERI E IL PROBLEMA P = NP: i tempi di calcolo per la fattorizzazione come sottoproblema di P = NP, in particolare per i numeri RSA con la congettura forte p primo minimo = 2n/3 67% di n = N Gruppo B. Riemann Francesco Di Noto, Michele Nardelli Abstract In this paper we show some our ideas and applications in Computational Number Theory. Riassunto In questo lavoro parleremo brevemente della teoria computazionale dei numeri (una delle tante teorie dei numeri, insieme alle altre teorie (teoria dei numeri elementare, teoria analitica dei numeri, teoria dei numeri algebrica, teoria geometrica dei numeri) la quale (dalla voce generale di Wikipedia Teoria dei numeri è così definita: Infine, la teoria dei numeri computazionale studia Algoritmi importanti nella teoria dei numeri. Algoritmi efficienti per la

2 verifica della primalità e la fattorizzazione di interi hanno importanti applicazioni nella crittografia. In particolare, studia anche i tempi di calcolo per risolvere particolari problemi (circa un migliaio), detti dell ago nel pagliaio, come per esempio il problema del commesso viaggiatore e quello della fattorizzazione veloce. Dedichiamo questo lavoro a quest ultimo problema, ed in particolare alla fattorizzazione dei numeri RSA, usati come chiave pubblica nella crittografia RSA. Com è noto, i numeri RSA sono quelli usati dalla crittografia RSA, e sono composti in genere da qualche centinaio di cifre. Più alto è il numero di cifre, più tempo ci vuole a fattorizzarli in p e q, in modo da rendere più difficile la violazione della crittografia RSA. Infatti, si prevedono tempi di calcolo dell ordine di qualche secolo o millennio. Noi però abbiamo trovato, studiando i numeri RSA (Breve statistica sui numeri RSA già fattorizzati, ancora in corso, Rif.1)), come diminuire tale tempo di calcolo del 67%. Non è poco, ma non ancora abbastanza per violare la crittografia RSA ( invece di 100 anni, per esempio, ne basterebbero = 33 anni nel caso peggiore, i numeri RSA = prodotti tra due numeri gemelli) Ma il sistema proposto è ancora perfettibile, e si potrebbe arrivare in certi casi anche al 90 o poco più in meno di quello normalmente previsto. Vediamo i possibili tempi di calcolo previsti dai matematici in base al numero di cifre dei numeri RSA.

3 1) Problemi, Algoritmi, Tempo e Spazio Luigi Salemi pubblicato sul sito sezione Articoli Vari e che riportiamo integralmente: La Complessità Computazionale (1) è quella branca dell informatica che studia le risorse necessarie, in Tempo e Spazio, per la risoluzione di un Problema. I Problemi sono così riconducibili a differenti Classi di Complessità in funzione del miglior Algoritmo di cui disponiamo per risolverli. Una definizione formale coinvolge la Macchina di Turing (2) che possiamo immaginare come il prototipo teorico di ogni computer, ma non è questo lo scopo di questa comunicazione che vuole fermarsi ad un livello informale edivulgativo. Le Classi di Complessità sono una miriade (3) e di tutte si conosce la struttura di inclusione [L Algoritmo che funziona per una Classe è utilizzabile per ogni Classe di minore Complessità e quindi la seconda è inclusa nella prima], quasi mai si sa se tale inclusione è stretta oppure no, ovvero se 2 Classi contigue sono realmente separate perché c è almeno un Problema contenuto in una ma non nell altra. La ricerca dicotomica quando cerchiamo un nome in un elenco telefonico utilizziamo un Algoritmo che si potrebbe riassumere così: a) Apriamo l elenco a metà e se il nome che leggiamo è inferiore (nel tradizionale ordinamento alfabetico) a quello che stiamo cercando buttiamo via la parte sinistra dell elenco se è maggiore buttiamo via la parte destra b) Rieseguiamo quanto al punto a) nella parte residua dell elenco sino a quando troviamo il nome che stiamo cercando Tale Algoritmo è molto veloce è richiede un numero di Passi pari a log(n) dove n è il numero degli abbonati [ci si ferma al primo intero n tale che 2n >= numero degli abbonati]. Si dice allora che opera in un Tempo O(log(n)) e si trova nella Classe di Complessità L che potremmo considerare come Complessità Logaritmica Ordinamento Perché la ricerca dicotomica funzioni è necessario che l elenco su cui cerchiamo sia ordinato, si pone quindi il Problema di trovare opportuni Algoritmi di Ordinamento. C è tutta una storia, il primo di tali Algoritmi si chiama Bubble Sort e opera in un tempo O(n2) dove n è il numero degli elementi da riordinare, poi ne è stato trovato un altro denominato Heap Sort (4) che opera in un tempo O(n log(n)) e risulta quindi molto più efficiente del precedente. Poi, caso più unico che raro, è stato possibile provare che Heap Sort è il migliore degli algoritmi possibili per l ordinamento e così la ricerca di ulteriori algoritmi che potessero migliorare i tempi di esecuzione è cessata. Comunque il tempo di esecuzione di entrambi gli algoritmi è polinomiale [è esprimibile tramite un polinomio in n di grado k con k prefissato, si indica in generale con O(nk)] e quindi questo problema è comunque codificato nella classe P che potremmo considerare come Complessità Polinomiale. E interessante notare come i 2 algoritmi precedenti pur trovandosi in classi distinte rispetto al tempo siano entrambi polinomiali rispetto allo spazio e questo fa intravedere come la complessità rispetto al tempo sia inclusa nella complessità rispetto allo spazio [un algoritmo che risolve in uno spazio polinomiale risolve in un tempo polinomiale, mentre del viceversa non c è certezza e anzi si pensa sia falso]. La classe dei problemi risolti in spazio polinomiale è la PSPACE, è una classe molto ampia ed include anche problemi risolvibili in tempo esponenziale [ma verificabili in tempo polinomiale] Lo Zaino

4 Questo Problema ha diverse formulazioni [ed un interesse pratico notevole in molti campi] la più semplice è forse la seguente: dati n oggetti di diverso peso ed uno zaino in grado di sopportare al più tot chili quali oggetti scegliere per raggiungere, ma non superare, la capacità dello zaino? Di fatto non conosciamo al momento nessun algoritmo che sia sostanzialmente migliore del provare tutte le combinazioni possibili degli oggetti. E questo colloca tale problema in O(2n) perché tale è la potenza dei sottoinsiemi di un Insieme rendendolo estremamente complesso dal punto di vista computazionale. Eppure in questo tipo di problema la verifica di una soluzione (o come spesso si dice di un certificato ) è polinomiale [se vi si dice di provare gli m oggetti A1, A2, A3,..,Am perché questi raggiungono la capacità dello zaino senza superarla la verifica si fa in tempo O(m) perché basta sommare i pesi degli m oggetti]. La classe di appartenenza è la NP ed è anche denominata la classe dei problemi intrattabili. Per capire il perché di questa definizione supponiamo di avere scritto un programma in grado di eseguire un milione di verifiche al secondo, ovvero sarà in grado di trovare in un solo secondo la soluzione qualora gli oggetti siano 20 [2 20 ~ ]. Quanto tempo impiegherà lo stesso programma per trovare la soluzione qualora gli oggetti siano 80? La incredibile risposta è che ci vorranno 33 miliardi di anni e questo vuol dire 2 volte l età dell universo. Più intrattabili di così.. Ciò che scoccia maggiormente e che tanti problemi con grande interesse pratico [crittografia tradizione, percorsi minimi, ecc.] sono in questa classe. Al momento la miglior cosa che si possa fare [visto che non sempre disponiamo di tanto tempo per avere la risposta] è utilizzare algoritmi probabilistici, ovvero algoritmi che probabilmente trovano la miglior soluzione in un tempo polinomiale. Gli Scacchi C è di peggio, per gli scacchi i tempi non solo sono esponenziali nella ricerca della soluzione, ma lo sono anche nella verifica. (5) Se avete mai provato a trovare la sequenza delle mosse di un problema del tipo Il bianco muove è matta in 2 mosse sapete di cosa sto parlando. Tali problemi sono nella classe EXPTIME. L aritmetica non moltiplicativa solo per curiosità: la verifica (6) di un affermazione sulla aritmetica dei numeri reali che coinvolga la sola operazione di addizione e nella classe EXPSPACE [necessita di spazi esponenziali] Si sa che L P NP PSpace ExpTime ExpSpace. Ciò che non si sa e se l inclusione e stretta oppure no. Le uniche cose che si sanno, al momento, tra quelle riportate e che L PSpace, P ExpTime e PSpace ExpSpace. In particolare ciò che maggiormente vorremmo sapere e se P uguale NP [esiste un algoritmo che ancora non conosciamo che consente di risolvere tutti i problemi di NP in un tempo polinomiale] oppure P diverso da NP.[almeno un problema della classe NP mai si potrà risolvere in tempo polinomiale]. P diverso da NP Questa è la ipotesi più accreditata dagli esperti. E notizia di questi giorni che il ricercatore della HP Vinay Deolalikar ha annunciato di aver trovato tale dimostrazione, il suo lavoro è al vaglio della comunità scientifica internazionale, ma su questo pesa fortemente il commento di Terence Tao, uno degli scienziati più rinomati, che ha sostanzialmente detto: La strada intrapresa da Deolalikar difficilmente potrà dimostrare questo risultato. P uguale NP Nel 1971 sembrava fatta. Cook e Levin, separatamente, hanno provato che tutti i problemi NP sono riconducibili ad un unico problema denominato SAT (7). Risolto con un Algoritmo polinomiale questo, sarebbero risolti tutti. L anno dopo Karp ha provato

5 che altri 21 problemi (8) godevano di questa caratteristica: basta risolverne uno con un algoritmo polinomiale perché siano automaticamente risolti tutti i problemi della classe NP. Ad oggi questi problemi duri sono oltre e basta risolverne uno con un algoritmo polinomiale perché la classe NP collassi nella classe P. Penso di aver trovato tale prova per il problema denominato 3Sat che è uno dei 21 della lista di Karp. Tale dimostrazione è al vaglio di una piccola parte della comunità scientifica nazione [beh, si fa quel che si può]. P verso NP non decidibile Non stupirebbe. Fin dal 1931, quando Kurt Gödel ha provato il famoso Teorema di Incompletezza che sancisce l esistenza di questioni indecidibili in sistemi con potenza pari o superiore all aritmetica, ci aspettiamo che da un momento all altro salti fuori uno di questi problemi. Inoltre si spiegherebbe perché, nonostante la soluzione sia cercata da tempo, al momento abbiamo solo ipotesi e nessuna prova conclamata. Gödel comunque ha a che fare con questa questione molto più di quanto sembri. Nel 1950 scrisse al suo amico von Neumann una lettera privatissima in cui chiedeva notizie sullo stato di salute e gli augurava una pronta guarigione. Ma si sa come sono fatti i geni, così tra i saluti e gli abbracci trovo il modo di scrivere Non sarei stupito se si riuscisse a provare che P coincide con NP [libera sintesi di oltre 20 righe]. Su Gödel è stato detto tanto, non a caso è considerato il miglior logico del nostro tempo; ma ciò che meglio esprime l ammirazione verso questo grande matematico è la seguente frase [di cui non conosco l autore] Per trovare un logico a lui comparabile bisogna risalire ad Aristotele. Ecco allora che la affermazione su P e NP deve essere trattata con il dovuto rispetto. Catania 25 Settembre 2010 Luigi Salemi Referenze sul Web 1) 2) 3) 4) 5) 6) 7) 8) N.d.A.A Il simbolo che appare nel lavoro, corrisponde ad una U girata a destra di 90 gradi e sottolineata, simbolo algebrico. E anche, dal sito : Download Pagina 3SAT by Luigi Salemi

6 Lo Spirito della Prova Dimostrazione Spirit of the Proof Proof Eseguibile Sorgenti Pascal Source In figura il confronto tra 2 algoritmi che lavorano in tempo O(2 n ) e O(n 9 ) rispetto al n. delle Variabili ipotizzando che entrambi siano capaci di esaminare di casi al secondo. Per motivi evidenti i tempi sono riportati in scala logaritmica Se siete arrivati qui probabilmente sapete già la differenza tra la classe dei problemi "P" e "NP", se vi siete persi e mi avete raggiunto per errore vi dico che nella classe P sono contenuti i problemi per i quali si conosce un algoritmo che li risolve in tempo Polinomiale, mentre nella classe NP sono contenuti i problemi per i quali si conosce solo un algoritmo di risoluzione in tempo Esponenziale (ma beffardamente l'algoritmo di verifica lavora in tempo Polinomiale). Il grafico chiarisce in modo immediato quanto grande sia la differenza, in relazione ai tempi, tra le 2 tipologie di algoritmi. Ciò che il grafico non dice è che i problemi più interessanti (es.: quello del commesso viaggiatore o dei percorsi minimi, quello dello zaino o sub somma, la scomposizione in fattori primi [su cui si basa quasi tutta la crittografia esistente]) sono nella class NP. La buona notizia e che ogni tanto un problema da NP si trasferisce in P perché si trova un algoritmo più efficiente che lavora in tempo Polinomiale, e questo il caso della "verifica di primarità" che nel 2002 si è trasferito in P per merito di 3 matematici indiani Manindra Agrawal, Neeraj Kayal e Nitin Saxena. Da un bel po' di anni si cerca di provare se le classi P e NP siano effettivamente distinte (ovvero esiste almeno un problema in NP che mai si potrà trasferire in P) o se viceversa le 2 classi in realtà coincidono, ma noi non siamo stati ancora capaci di trovare l'algoritmo unificatore, quello per cui ogni problema di NP si possa risolvere in tempo Polinomiale Leonid Levin e Stephen Cook hanno scoperto separatamente, all'inizio degli anni '70, che tutti i problemi della classe NP si possono ricondurre ad un unico problema denominato "SAT" in cui occorre risolvere una espressione booleana trovando, se esiste, una n-upla di valori True/False che soddisfi la espressione. Come dire risolto SAT risolti tutti, peccato che anche SAT sia un problema della classe NP. Subito dopo si è visto che SAT si può ricondurre a "3SAT", un problema in cui bisogna trovare, se esiste, la soluzione di una espressione booleana che è formata dalla congiunzione di Clausole; ogni Clausola essendo composta dalla disgiunzione di esattamente 3 (da cui il nome 3SAT) Variabili booleane eventualmente negate. Es: (A1 or ~A2 or A3) and (~A1 or ~A3 or A4 and.. Pensavo di aver trovato un Metodo che risolvesse ogni problema 3SAT in tempo polinomiale, poi mi sono accorto che ero in errore perché ho trovato un contro esempio. Pazienza, continuo a lavorarci. Luigi Salemi

7 Per ulteriori dettagli rimandiamo ai riferimenti finali del primo lavoro. Ma ora andiamo brevemente al nostro lavoro (Rif.1) In tale lavoro, da una breve statistica sui numeri RSA finora fattorizzati, notiamo che il rapporto q/p massimo è di 2,11, molto prossimo al rapporto considerato nella nostra congettura forte, per la quale, se il rapporto q/p = 2, 25, vale la relazione p 2n/3, ed essendo la 2,250 = 1,50, da cui 1/1,50 = 0, % di n = N con N = p*q, cosa che si verifica solo se il rapporto q/p è di 2,25. Poiché nei numeri RSA considerati il rapporto q/p è sempre minore di 2,25, ne deriva che 2n/3 da un numero p minimo da cui cominciare a cercare, trascurando il 67% dei numeri primi più piccoli, e quindi risparmiando il 67% dei tempi di calcolo previsti per l ordine di grandezza del numero RSA da fattorizzare: p reale si trova tra p ed n = 100% di n Trovato in tal modo p, poi è semplice trovare q, che invece è compreso tra q = 3n/2 ed n. Facciamo un esempio di numero RSA ancora non fattorizzato: RSA -2048, di 617 cifre (Rif. 2), al quale rimandiamo. Qui riportiamo tale numero, e p minimo inferiore a p reale, compreso tra p ed n, e quindi da cercare solo in questa parte di n (dal 67% al 100% di n): RSA 617: RSA-2048 =

8 p minimo previsto: p = 2*158./3= 105 seguito da altre 306 cifre, per i motivi spiegati in Rif.2) E per q massimo, invece: q =3* 158 /2 = 237 seguito da 306 cifre compreso tra questo numero ed n =158 seguito da 306 cifre Si attende conferma dalla futura fattorizzazione di RSA tramite i migliori algoritmi di fattorizzazione attualmente noti, i migliori computer più potenti finora noti (seconda parte di Rif. 1), o anche i futuri computer quantistici, e possibilmente magari usando le indicazioni su p e q suggerite in questo lavoro, anche per dimostrare di poter risparmiare almeno il 67 % dei tempi di calcolo previsti in base alla tabella in Pagina 3SAT by Pietro Salemi sopra riportata, e nel lavoro successivo di Marco Liverani. Dal lavoro Il più grande problema irrisolto dell informatica Un breve percorso intorno al concetto di complessità computazionale (Rif.3), riportiamo i brani più importanti, per il resto rimandiamo al Rif.3 il brano concernente i tempi di calcolo riguardanti il problema P = NP (da pag.10, e con qualche piccola modifica nella simbologia) : Parleremo di uno dei problemi fondamentali dell Informatica che oggi ancora non è stato risolto: il cosiddetto problema P = NP.

9 È un problema di quelli determinanti: sulle diverse possibili risposte a questo problema si basano molte delle teorie e delle applicazioni più avanzate dell informatica. Gli americani, si sa, sono bizzarri, sembra che per loro tutto sia un grande far west: un importante fondazione americana per la ricerca matematica ha fissato addirittura una taglia di $ su questo problema. Utilizzare al meglio gli strumenti dell Informatica significa anche conoscere e studiare il comportamento degli algoritmi nella soluzione di problemi. Parleremo quindi di soluzioni di problemi con l ausilio del calcolatore, parleremo di algoritmi e di come si possa stabilire la bontà di un algoritmo, di come si possano confrontare fra loro algoritmi differenti per stimarne l efficienza. Oggi esistono problemi che, anche con il più potente dei computer, richiederebbero centinaia di anni per essere risolti. Ci chiediamo se prima o poi si riuscirà a trovare per ogni problema un algoritmo efficiente che possa risolverlo in tempi ragionevoli, o se questo obiettivo è impossibile. Algoritmi Sono ricette che descrivono in passi elementari un procedimento che ci permette di risolvere un problema, svolgere un calcolo o portare a termine

10 un operazione articolata. Gli algoritmi devono essere procedure costituite da un numero finito di passi. Non solo: il procedimento definito da un algoritmo deve terminare dopo un numero finito di operazioni. Un esempio di algoritmo Problema: stampare i primi 40 multipli di assegna il valore 13 alla variabile x 2. assegna il valore 1 alla variabile i 3. stampa il valore della variabile x 4. calcola x + 13 ed assegna il risultato ad x 5. incrementa di 1 la variabile i 6. se i 40 allora torna al passo 3 7. fermati È un procedimento composto da 7 passi. Ogni passo del procedimento presenta un istruzione elementare. È facile convincersi che risolve il problema in un numero finito di operazioni (quante?). Allora è un algoritmo! Un esempio di algoritmo x = 13, i = 1 stampo x = 13 x = x + 13 = 26, i = i + 1 = 2, i 40 allora proseguo stampo x = 26 x = x + 13 = 39, i = i + 1 = 3, i 40 allora proseguo

11 stampo x = 39 x = x + 13 = 52, i = i + 1 = 4, i 40 allora proseguo stampo x = x = x + 13 = 520, i = i + 1 = 40, i 40 allora proseguo stampo x = 520 x = x + 13 = 533, i = i + 1 = 41, i 40 allora mi fermo Tutte le procedure sono algoritmi? Ogni volta che definiamo qualcosa è bene assicurarsi che non si stia definendo nulla di banale... Consideriamo il seguente problema: Stampare tutti i numeri interi maggiori di zero. Soluzione: 1. assegna il valore 1 alla variabile i 2. stampa il valore della variabile i 3. incrementa di 1 il valore della variabile i 4. vai al passo 2 I passi sono solo 4, sono composti da istruzioni elementari... è vero, ma il procedimento che descrive non terminerà mai! Dunque non è un algoritmo Un dubbio... Forse esistono problemi che non sono risolubili mediante un algoritmo? È possibile che esistano problemi talmente difficili che non si possa progettare un algoritmo in grado di risolverli in un tempo finito, anche mettendo insieme tutta l abilità dei migliori progettisti e dei migliori programmatori del mondo?

12 Dipende forse dalla potenza del computer che utilizzo per eseguire l algoritmo? Il problema precedente chiedeva di stampare tutti i naturali, ossia un numero infinito di elementi...forse era proprio la natura del problema che mal si prestava ad essere risolta con un algoritmo. Esistono problemi che pur ammettendo soluzioni di lunghezza finita, richiedono necessariamente un tempo infinito per essere risolti? Misurare l efficienza A fronte di un certo problema possono essere proposti algoritmi differenti per risolverlo: come faccio a stabilire quale è il migliore? L algoritmo migliore è il più efficiente: quello che riesce a risolvere il problema con il minor utilizzo di risorse (della macchina) e nel minor tempo possibile. Efficienza = Velocità? Uno stesso algoritmo, eseguito su macchine diverse, impiega tempi diversi! Allora l efficienza di un algoritmo è legata alla potenza della macchina su cui lo eseguo? No: una buona misura dell efficienza deve prescindere dal calcolatore su cui eseguirò l algoritmo, altrimenti invece di misurare l efficienza dell algoritmo misurerei l efficienza della macchina! Efficienza = Difficoltà del problema? Un istanza di un problema è data dal problema insieme ai dati del problema stesso. Ad esempio un

13 problema astratto è quello di calcolare la derivata di un polinomio generico p(n) = xn + a1xn-1 + a2xn an-1x + an mentre un istanza di questo problema è la richiesta di calcolare la derivata di un polinomio specifico p(x) = x3 12x Lo stesso algoritmo, eseguito su due istanze diverse dello stesso problema, richiede tempi diversi per giungere alla soluzione. Allora l efficienza di un algoritmo è legata anche alla particolare istanza del problema che sto considerando? Efficienza di un algoritmo L efficienza di un algoritmo è data dal numero di operazioni elementari compiute dall algoritmo, calcolate in funzione della dimensione dell input, ossia in funzione del numero di dati che dovranno essere elaborati. L efficienza di un algoritmo non è dunque un numero, ma una funzione. Calcolo dell efficienza: un esempio Trovare l elemento minimo in un insieme di n numeri interi {x1, x2,..., xn} Soluzione: 1. considero inizialmente un elemento a caso (ad esempio x1, il primo) e lo considero come il candidato ad essere il minimo elemento dell insieme 2. confronto il candidato con tutti gli altri elementi e ogni volta che trovo un elemento più piccolo del mio candidato lo scambio con il candidato stesso 3. al termine dei confronti il candidato è sicuramente il minimo

14 Complessivamente ho eseguito n confronti: l efficienza dell algoritmo è direttamente proporzionale alla dimensione dell input Calcolo dell efficienza: un altro esempio Ordinare in ordine crescente un insieme di n numeri {x1, x2,..., xn} Soluzione: 1. per i = 1, 2,..., n ripeti le seguenti operazioni: 2. trova l elemento minimo nel sottoinsieme {xi, xi+1,..., xn} e scambialo con xi per n volte devo trovare il minimo su insiemi sempre più piccoli: dunque eseguo n + (n 1) + (n 2) Η n2 operazioni Confronto dell efficienza di algoritmi Possiamo esprimere l efficienza di un algoritmo mediante una funzione f(n) della variabile n: esprime il numero di operazioni compiute dall algoritmo a fronte di un istanza del problema di dimensione n. D ora in avanti chiameremo questa misura dell efficienza complessità computazionale dell algoritmo. A parità di correttezza della soluzione prodotta a fronte di una stessa istanza dello stesso problema, considereremo migliore l algoritmo con la complessità computazionale più bassa. Se A e B sono due algoritmi che risolvono lo stesso problema e se f(n) e g(n) sono le funzioni che esprimono la complessità dei due algoritmi, allora A è migliore di B se, al crescere di n, risulta f(n) g(n). Confronto dell efficienza di algoritmi

15 f(n) numero di operazioni n numero di dati in input Come cresce la complessità...! (Pag.30)

16 Nel primo problema (minimo su un insieme) aumentando di un elemento l insieme in input, si aumenta di un operazione il lavoro dell algoritmo: f(n) = n Nel secondo problema (ordinamento di un insieme) aumentando la cardinalità dell insieme in input si aumenta in modo quadratico il lavoro dell algoritmo: f(n) = n2 Nel terzo problema (clique su un grafo) aumentando di un elemento l insieme in input si raddoppia il lavoro dell algoritmo: la crescita è esponenziale: f(n) = 2n f(n) = 2n f(3) = 8, f(4) = 16,..., f(20) = ,..., f(100) = E a pag.31

17 Raggruppiamo i problemi (pag.34) Una delle grandi passioni dei matematici è quella di classificare gli oggetti in base alle loro proprietà. Definiamo la classe P dei problemi polinomiali come l insieme deiproblemi che possono essere risolti da un algoritmo di complessità polinomiale. Non è una definizione banale, infatti il problema del minimo, il problema dell ordinamento e moltissimi altri problemi rientrano in questa categoria e abbiamo visto che esistono problemi, come quello delle clique di un grafo, che non appartengono alla classe P.

18 M. Liverani - Il più grande problema dell'informatica 38 Il più grande problema dell informatica (pag.38) La domanda posta da questo problema a questo punto è semplice: In altri termini: esiste veramente qualche problema verificabile in tempo polinomiale che non possa essere risolto in tempo polinomiale? La domanda non è banale e neanche assurda: per i problemi come il problema clique, di cui sappiamo verificare la soluzione in tempo polinomiale, fino ad oggi nessuno è stato in grado di formulare un algoritmo polinomiale in grado di risolvere il problema. Ed inoltre nessuno fino ad oggi è stato in grado di dimostrare che un algoritmo risolutore polinomiale per quei problemi non esiste P = NP? Il più grande problema dell informatica (pag.41) Quindi la domanda P = NP? è legittima: esiste un algoritmo risolutore polinomiale per i problemi che oggi sono in NP ma non sono in P? Se esistesse un algoritmo polinomiale per ogni problema che è in NP P allora si potrebbe concludere che P = NP. Viceversa basterebbe trovare anche un solo problema in NP per cui si dimostri l impossibilità di

19 costruire un algoritmo risolutore polinomiale per concludere che P = NP. Una classe privilegiata di problemi difficili (pag.42) Definiamo una classe speciale: la classe NPC dei problemi NP completi, costituita da quei problemi Q che sono NP e tali che le istanze di tutti gli altri problemi NP possono essere trasformate in tempo polinomiale in istanze di Q I problemi NPC sono allora il club dei problemi più difficili tra i problemi NP il problema clique fa parte della classe NPC M. Liverani - Il più grande problema dell'informatica 43 La classificazione si arricchisce (pag.43) P: problemi risolubili in tempo polinomiale NP: problemi verificabili in tempo polinomiale NPC: problemi NP a cui ci si può ricondurre in tempo polinomiale Il sugo della storia (pag.44) Se trovo un algoritmo polinomiale per risolvere un problema NPC allora posso risolvere in tempo polinomiale tutti i problemi NP e quindi P = NP Se dimostro che un solo problema NPC non può essere risolto in tempo polinomiale, allora questo è sufficiente per concludere che P = NP

20 La sfida è ancora aperta! Conclusioni E noi vogliamo partecipare a questa sfida, limitatamente alla fattorizzazione come sottoproblema di P = NP, con nuovi spunti e possibili scorciatoie, alcune ancora da approfondire, e reperibili in questo lavoro e nei Rif. 1 e 2 (ancora non sufficienti però per impensierire la crittografia RSA, ma non è questo il nostro scopo, bensì la pura conoscenza matematica), per risolvere, almeno parzialmente, il problema della fattorizzazione veloce Riferimenti 1) I NUMERI RSA : UNA PICCOLA STATISTICA SUI RAPPORTI r = q/p E RELATIVE OSSERVAZIONI 2) - Numero RSA : una previsione sulla stima approssimativa dei suoi fattori p e q - Francesco Di Noto, Michele Nardelli 3) Il più grande problema irrisolto dell informatica Un breve percorso intorno al concetto di complessità computazionale Marco Liverani liverani@mat.uniroma3.it 5 aprile 2005 Sul sito

Il più grande problema irrisolto dell informatica

Il più grande problema irrisolto dell informatica Il più grande problema irrisolto dell informatica Un breve percorso intorno al concetto di complessità computazionale Marco Liverani liverani@mat.uniroma3.it 5 aprile 2005 Liceo Scientifico Statale G.

Dettagli

Lucchetto con combinazione (3 numeri tra 0 e 39)

Lucchetto con combinazione (3 numeri tra 0 e 39) Complessita computazionale ed il problema P / NP Fondamenti di Informatica 2011/12 Lucchetto con combinazione (3 numeri tra 0 e 39) Perche e sicuro? (escludendo che lo si rompa) Combinazione di 3 numberi

Dettagli

Il nano sulle spalle del gigante

Il nano sulle spalle del gigante Il nano sulle spalle del gigante il sottile legame che separa matematica e informatica Miriam Di Ianni Università di Roma Tor Vergata Cosa è un problema? Dal dizionario: In matematica e in altre scienze,

Dettagli

TAVOLE ARITMETICHE PER ALCUNE CONGETTURE E TEOREMI SUI NUMERI PRIMI. (Goldbach, Goldbach debole, Polignac, Teorema

TAVOLE ARITMETICHE PER ALCUNE CONGETTURE E TEOREMI SUI NUMERI PRIMI. (Goldbach, Goldbach debole, Polignac, Teorema TAVOLE ARITMETICHE PER ALCUNE CONGETTURE E TEOREMI SUI NUMERI PRIMI (Goldbach, Goldbach debole, Polignac, Teorema fondamentale della fattorizzazione. Possibili connessioni con la crittografia RSA) Francesco

Dettagli

Note sulle classi di complessità P, NP e NPC per ASD (DRAFT)

Note sulle classi di complessità P, NP e NPC per ASD (DRAFT) Note sulle classi di complessità P, NP e NPC per ASD 2010-11 (DRAFT) Nicola Rebagliati 20 dicembre 2010 1 La complessità degli algoritmi Obiettivo principale della teoria della complessità: ottenere una

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

una possibile funzione unidirezionale

una possibile funzione unidirezionale una possibile funzione unidirezionale moltiplicare due interi a n bit è facile (in O(n 2 ) con l algoritmo usuale) trovare un primo a n bit, e verificare che è primo, è facile (vedremo poi) fattorizzare

Dettagli

Fattorizzazione di interi e crittografia

Fattorizzazione di interi e crittografia Fattorizzazione di interi e crittografia Anna Barbieri Università degli Studi di Udine Corso di Laurea in Matematica (Fattorizzazione e crittografia) 14 Maggio 2012 1 / 46 Il teorema fondamentale dell

Dettagli

Il problema di P e NP

Il problema di P e NP Il problema di P e NP Calcolo efficiente, sicurezza di Internet, e i limiti della conoscenza umana Linda Pagli Dipartimento di Informatica Clay Math Institute Problemi del Millennio da $1M ciascuno Congettura

Dettagli

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi Lezione 4 Problemi trattabili e soluzioni sempre più efficienti Gianluca Rossi Trattabile o intrattabile? Consideriamo ora il problema, ben noto a tutti gli studenti a partire dalla scuola media, di calcolare

Dettagli

Lucchetto con combinazione (3 numeri tra 0 e 39)

Lucchetto con combinazione (3 numeri tra 0 e 39) Complessita computazionale ed il problema P / NP Fondamenti di Informatica 2010/11 Lucchetto con combinazione (3 numeri tra 0 e 39) Perche e sicuro? (escludendo che lo si rompa) Ans: Combinazione di 3

Dettagli

Algoritmi e loro proprietà. Che cos è un algoritmo? Un esempio di algoritmo

Algoritmi e loro proprietà. Che cos è un algoritmo? Un esempio di algoritmo 1 Cos è l informatica? L informatica è la scienza della rappresentazione e dell elaborazione dell informazione Algoritmi e loro proprietà Proprietà formali degli Algoritmi Efficienza rispetto al tempo

Dettagli

Problema dell impacchettamento. (caso particolare del cubo)

Problema dell impacchettamento. (caso particolare del cubo) Problema dell impacchettamento (caso particolare del cubo) Francesco Di Noto, Michele Nardelli, Pierfrancesco Roggero Abstract In this paper we show an our idea about total packing in a cubic space Riassunto

Dettagli

Il concetto di calcolatore e di algoritmo

Il 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

Dettagli

Alcune nozioni preliminari di teoria elementare di insiemi e funzioni

Alcune nozioni preliminari di teoria elementare di insiemi e funzioni Alcune nozioni preliminari di teoria elementare di insiemi e funzioni Alberto Pinto Corso Propedeutico - METS A.A. 2013/2014 1 Insiemi 1.1 Generalità Diamo la definizione di insieme secondo Georg Cantor,

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Introduzione al Corso Maria Rita Di Berardini (Camerino), Emanuela Merelli (Ascoli) 1 1 Scuola di Scienze e Tecnologie - Sezione di Informatica Università di Camerino Parte I Il concetto di Algoritmo Il

Dettagli

Algoritmi di ricerca. Per ricerca si intende qui il procedimento di localizzare una particolare informazione in un elenco di dati.

Algoritmi di ricerca. Per ricerca si intende qui il procedimento di localizzare una particolare informazione in un elenco di dati. E. Calabrese: Fondamenti di Informatica Algoritmi-1 Algoritmi di ricerca Per ricerca si intende qui il procedimento di localizzare una particolare informazione in un elenco di dati. Per esempio: - cercare

Dettagli

Problemi, algoritmi, calcolatore

Problemi, 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

Dettagli

Informatica, Algoritmi, Linguaggi

Informatica, Algoritmi, Linguaggi Elementi di Informatica e Applicazioni Numeriche T Informatica, Algoritmi, Linguaggi Cos'è l'informatica? Che cos'è l'informatica? Cos'è l'informatica? Che cos'è l'informatica? Dell'informatica possiamo

Dettagli

Aritmetica modulare, numeri primi e crittografia

Aritmetica modulare, numeri primi e crittografia Università di Pavia 14 Giugno 2016 Numeri primi Definizione Un intero n > 1 è un numero primo se non esistono due interi a, b > 1 tali che n = ab. Sono dunque numeri primi: 2, 3, 5, 7, 11, 13, 17, 19,

Dettagli

Elementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n

Elementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n Elementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n Cristina Turrini UNIMI - 2016/2017 Cristina Turrini (UNIMI - 2016/2017) Elementi di Algebra e di Matematica

Dettagli

L algoritmo AKS. L algoritmo AKS. Seminario per il corso di Elementi di Algebra Computazionale. Oscar Papini. 22 luglio 2013

L algoritmo AKS. L algoritmo AKS. Seminario per il corso di Elementi di Algebra Computazionale. Oscar Papini. 22 luglio 2013 L algoritmo AKS Seminario per il corso di Elementi di Algebra Computazionale Oscar Papini 22 luglio 2013 Test di primalità Come facciamo a sapere se un numero n è primo? Definizione (Test di primalità)

Dettagli

ESISTENZA DI NUMERI FATIDICI DISPARI. In this paper we show the odd fatidic numbers. In questo lavoro parleremo dei numeri fatidici dispari

ESISTENZA DI NUMERI FATIDICI DISPARI. In this paper we show the odd fatidic numbers. In questo lavoro parleremo dei numeri fatidici dispari ESISTENZA DI NUMERI FATIDICI DISPARI Gruppo B: Riemann* Michele Nardelli, Francesco Di Noto **Gruppo amatoriale per la ricerca matematica sui numeri primi, sulle loro congetture e sulle loro connessioni

Dettagli

Nell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi:

Nell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi: Pag 24 3) Il problema della ricerca Nell informatica esistono alcuni problemi particolarmente rilevanti, poiché essi: si incontrano in una grande varietà di situazioni reali; appaiono come sottoproblemi

Dettagli

Sviluppo di programmi

Sviluppo 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

Dettagli

Problemi, istanze, soluzioni

Problemi, istanze, soluzioni lgoritmi e Strutture di Dati II 2 Problemi, istanze, soluzioni Un problema specifica una relazione matematica tra dati di ingresso e dati di uscita. Una istanza di un problema è formata dai dati di un

Dettagli

RISOLUZIONE 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 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

Dettagli

Sin dalla più remota antichità il concetto di numero primo affascina e confonde gli esseri umani.

Sin dalla più remota antichità il concetto di numero primo affascina e confonde gli esseri umani. I NUMERI PRIMI 1 Sin dalla più remota antichità il concetto di numero primo affascina e confonde gli esseri umani. [ ] I numeri primi sono gli elementi essenziali della teoria dei numeri. Tratto da L enigma

Dettagli

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III)

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III) Derivazione numerica Introduzione al calcolo numerico Il calcolo della derivata di una funzione in un punto implica un processo al limite che può solo essere approssimato da un calcolatore. Supponiamo

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica e Economia Università della Basilicata a.a. 2014-15 Introduzione La MATEMATICA è uno strumento

Dettagli

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.200.2005/06 Prof. V.L. Plantamura Dott.ssa A. Angelini Ω (grande omega) Diciamo che T(n) = Ω (f(n)), - leggiamo T(n) ha complessità

Dettagli

Esercitazioni per il corso di Logica Matematica

Esercitazioni 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

Dettagli

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

Luca 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

Dettagli

Algoritmo per A. !(x) Istanza di B

Algoritmo per A. !(x) Istanza di B Riduzioni polinomiali Una funzione f: T*!T* è detta computabile in tempo polinomiale se esiste una macchina di Turing limitata polinomialmente che la computi. Siano L 1 e L 2 " T* due linguaggi. Una funzione

Dettagli

Recente notizia sulla scoperta di un. numero primo di 17 milioni di cifre

Recente notizia sulla scoperta di un. numero primo di 17 milioni di cifre Recente notizia sulla scoperta di un numero primo di 17 milioni di cifre Francesco Di Noto, Michele Nardelli, Pier Francesco Roggero Abstract News about discovery of a prime numbers with 17 milions of

Dettagli

Corso di Informatica di Base

Corso di Informatica di Base Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere

Dettagli

Minimi quadrati vincolati e test F

Minimi quadrati vincolati e test F Minimi quadrati vincolati e test F Impostazione del problema Spesso, i modelli econometrici che stimiamo hanno dei parametri che sono passibili di interpretazione diretta nella teoria economica. Consideriamo

Dettagli

NUOVO NUMERO PRIMO DI MERSENNE (NOSTRA PREVISIONE ATTENDIBILE. e nuova previsione per il. 50 numero primo di Mersenne) -

NUOVO NUMERO PRIMO DI MERSENNE (NOSTRA PREVISIONE ATTENDIBILE. e nuova previsione per il. 50 numero primo di Mersenne) - NUOVO NUMERO PRIMO DI MERSENNE (NOSTRA PREVISIONE ATTENDIBILE e nuova previsione per il 50 numero primo di Mersenne) - Ing. Pier Franz Roggero, Dott. Michele Nardelli, P.A. Francesco Di Noto Abstract In

Dettagli

Corso di Informatica Modulo T1 1 - Il concetto di problema

Corso di Informatica Modulo T1 1 - Il concetto di problema Corso di Informatica Modulo T1 1 - Il concetto di problema 1 Prerequisiti Concetti intuitivi di: Proporzione Problema Variabile Numeri interi e reali 2 1 Introduzione Nel risolvere un problema abbiamo

Dettagli

Macchine 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, 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,

Dettagli

Università degli Studi di Verona. Algoritmie Diagrammidiflusso. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie

Università degli Studi di Verona. Algoritmie Diagrammidiflusso. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie Università degli Studi di Verona Dipartimento di Biotecnologie Laurea in Biotecnologie Corso di Informatica2014/2015 Algoritmie Diagrammidiflusso Gennaio 2015 - Sergio Marin Vargas Problemi e soluzioni

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Analisi Asintotica Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino Un graduale processo di astrazione Passo 1: abbiamo ignorato il costo effettivo

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

Corso 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

Dettagli

1 Polinomio di Taylor 1. 2 Formula di Taylor 2. 3 Alcuni sviluppi notevoli 2. 4 Uso della formula di Taylor nel calcolo dei limiti 4

1 Polinomio di Taylor 1. 2 Formula di Taylor 2. 3 Alcuni sviluppi notevoli 2. 4 Uso della formula di Taylor nel calcolo dei limiti 4 1 POLINOMIO DI TAYLOR 1 Formula di Taylor Indice 1 Polinomio di Taylor 1 Formula di Taylor 3 Alcuni sviluppi notevoli 4 Uso della formula di Taylor nel calcolo dei iti 4 5 Soluzioni degli esercizi 6 La

Dettagli

Elementi di Complessità Computazionale

Elementi di Complessità Computazionale Elementi di Complessità Computazionale Ultima modifica 23.06.2004 Il problema Esiste una misura oggettiva per valutare l'efficienza di un algoritmo? In che relazione sono gli input di un algoritmo con

Dettagli

A lezione sono stati presentati i seguenti passi per risolvere un problema:

A lezione sono stati presentati i seguenti passi per risolvere un problema: Calcolo delle radici di un polinomio Problema: Dati i coefficienti a,b,c di un polinomio di 2 grado della forma: ax^2 + bx + c = 0, calcolare le radici. A lezione sono stati presentati i seguenti passi

Dettagli

1 IL LINGUAGGIO MATEMATICO

1 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

Dettagli

Sistemi 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 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)

Dettagli

Programmazione dinamica

Programmazione dinamica Programmazione dinamica Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Violetta Lonati Programmazione

Dettagli

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

Il 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

Dettagli

Parte I.5 Cenni alla computazione

Parte I.5 Cenni alla computazione Parte I.5 Cenni alla computazione Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 14, 2015 Elisabetta Elisabetta Ronchieri I Concetti

Dettagli

Teoria della Calcolabilità!

Teoria 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

Dettagli

Studio degli algoritmi

Studio degli algoritmi COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI Fondamenti di Informatica a.a.2006/07 Prof. V.L. Plantamura Dott.ssa A. Angelini Studio degli algoritmi Dato un problema P, le problematiche riguardano: Sintesi

Dettagli

Insiemi, Numeri, Terminologia. Prof. Simone Sbaraglia

Insiemi, Numeri, Terminologia. Prof. Simone Sbaraglia Insiemi, Numeri, Terminologia Prof. Simone Sbaraglia Corso Rapido di Logica Matematica La logica formale definisce le regole cui deve obbedire qualsiasi teoria deduttiva. Una proposizione e` una affermazione

Dettagli

Appunti sui Codici di Reed Muller. Giovanni Barbarino

Appunti sui Codici di Reed Muller. Giovanni Barbarino Appunti sui Codici di Reed Muller Giovanni Barbarino Capitolo 1 Codici di Reed-Muller I codici di Reed-Muller sono codici lineari su F q legati alle valutazioni dei polinomi sullo spazio affine. Per semplicità

Dettagli

Sistemi di numerazione

Sistemi di numerazione Sistemi di numerazione Sistema di numerazione decimale Sapete già che il problema fondamentale della numerazione consiste nel rappresentare con un limitato numero di segni particolari, detti cifre, tutti

Dettagli

Elaboratore Elettronico

Elaboratore Elettronico L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati)) per produrre rre altri oggetti

Dettagli

Corso di Analisi Matematica. Polinomi e serie di Taylor

Corso di Analisi Matematica. Polinomi e serie di Taylor a.a. 2011/12 Laurea triennale in Informatica Corso di Analisi Matematica Polinomi e serie di Taylor Avvertenza Questi sono appunti informali delle lezioni, che vengono resi disponibili per comodità degli

Dettagli

Problemi intrattabili e quantum computing

Problemi intrattabili e quantum computing Problemi intrattabili e quantum computing Il problema del commesso viaggiatore Noto anche come Travelling Salesman Problem (TSP) Il commesso viaggiatore deve visitare n città in automobile Se viaggiasse

Dettagli

3/10/ Divisibilità e massimo comun divisore

3/10/ Divisibilità e massimo comun divisore MCD in N e Polinomi 3/10/2013 1 Divisibilità e massimo comun divisore 1.1 Divisibilità in N In questa sezione introdurremo il concetto di divisibilità e di massimo comun divisore di due numeri naturali

Dettagli

La somma dei primi numeri naturali

La somma dei primi numeri naturali Livello scolare: biennio. La somma dei primi numeri naturali Abilità Interessate Eseguire semplici fattorizzazioni di polinomi. Conoscenze I polinomi e le loro operazioni. Nuclei coinvolti Numeri e algoritmi

Dettagli

Studi di funzione. D. Barbieri. Studiare comportamento asintotico e monotonia di. f(x) = 1 x x4 + 4x e x

Studi di funzione. D. Barbieri. Studiare comportamento asintotico e monotonia di. f(x) = 1 x x4 + 4x e x Studi di funzione D. Barbieri Esercizi Esercizio Esercizio Studiare comportamento asintotico e monotonia di f(x) = x + x4 + 4x Studiare il comportamento asintotico di f(x) = + x x + + e x Esercizio 3 Determinare

Dettagli

LABORATORIO DI COMPLESSITÀ COMPUTAZIONALE LEZIONE 6

LABORATORIO DI COMPLESSITÀ COMPUTAZIONALE LEZIONE 6 PIANO LAUREE SCIENTIFICHE LABORATORIO DI COMPLESSITÀ COMPUTAZIONALE LEZIONE 6 GIORGIO GAMBOSI DIPARTIMENTO DI MATEMATICA UNIVERSITÀ DI ROMA TOR VERGATA 1. Risoluzione e verifica di problemi La classificazione

Dettagli

Matematica Discreta e Algebra Lineare (per Informatica)

Matematica Discreta e Algebra Lineare (per Informatica) Matematica Discreta e Algebra Lineare (per Informatica) Docente: Alessandro Berarducci Anno accademico 2016-2017, versione 14 Marzo 2017 Tipiche domande d esame La seguente lista di domande non intende

Dettagli

Primo modulo: Aritmetica

Primo modulo: Aritmetica Primo modulo: Aritmetica Obiettivi 1. ordinamento e confronto di numeri;. riconoscere la rappresentazione di un numero in base diversa dalla base 10; 3. conoscere differenza tra numeri razionali e irrazionali;

Dettagli

La fattorizzazione e la phi di Eulero

La fattorizzazione e la phi di Eulero La fattorizzazione e la phi di Eulero Di Cristiano Armellini, cristiano.armellini@alice.it Supponiamo di voler trovare i fattori p, q del numero intero n (anche molto grande). Dalla Teoria dei numeri sappiamo

Dettagli

0.1 Spazi Euclidei in generale

0.1 Spazi Euclidei in generale 0.1. SPAZI EUCLIDEI IN GENERALE 1 0.1 Spazi Euclidei in generale Sia V uno spazio vettoriale definito su R. Diremo, estendendo una definizione data in precedenza, che V è uno spazio vettoriale euclideo

Dettagli

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13) DISPENSA N. 4 Sommario. Dimostriamo il Teorema di Completezza per il Calcolo dei Predicati del I ordine. 1. Teorema di Completezza Dimostriamo il Teorema

Dettagli

Massimi e minimi vincolati

Massimi e minimi vincolati Massimi e minimi vincolati Data una funzione G C 1 (D), dove D è un aperto di R 2, sappiamo bene dove andare a cercare gli eventuali punti di massimo e minimo relativi. Una condizione necessaria affinché

Dettagli

La codifica digitale

La 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

Dettagli

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura

Dettagli

1 Il polinomio minimo.

1 Il polinomio minimo. Abstract Il polinomio minimo, così come il polinomio caratterisico, è un importante invariante per le matrici quadrate. La forma canonica di Jordan è un approssimazione della diagonalizzazione, e viene

Dettagli

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria. Capitolo 2 Campi 2.1 Introduzione Studiamo ora i campi. Essi sono una generalizzazione dell insieme R dei numeri reali con le operazioni di addizione e di moltiplicazione. Nel secondo paragrafo ricordiamo

Dettagli

Università degli Studi di Roma Tor Vergata. Principio di induzione matematica

Università degli Studi di Roma Tor Vergata. Principio di induzione matematica Università degli Studi di Roma Tor Vergata. Principio di induzione matematica Il Principio di induzione matematica è una tecnica di dimostrazione che permette la dimostrazione simultanea di infinite affermazioni.

Dettagli

Connessioni tra i numeri di Bernoulli, di Eulero e di Fibonacci

Connessioni tra i numeri di Bernoulli, di Eulero e di Fibonacci Connessioni tra i numeri di Bernoulli, di Eulero e di Fibonacci Francesco Di Noto, Michele Nardelli Un approccio diverso al percorso che va da Bernoulli alla funzione zeta e poi anche alla teoria di stringa,

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica e Economia Università della Basilicata a.a. 2014-15 Errori Cause principali di errori nella risoluzione

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno : Gli Algoritmi INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze

Dettagli

Il più grande problema irrisolto dell'informatica

Il più grande problema irrisolto dell'informatica Il più grande problema irrisolto dell'informatica Un breve percorso intorno al concetto di complessità computazionale Marco Liverani 5 aprile 2005 1 Premessa Il Novecento è stato un secolo di grandi e

Dettagli

INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)

INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science) INFORMATICA Cosa è l informatica Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science) E una scienza E una tecnologia Cosa può essere automatizzato nell

Dettagli

Esercizi 3. cos x ln(sin x), ln(e x 1 x ), ln( x 2 1), x sin x + x cos x + x, x 3 2x + 1. x 2 x + 2, x cos ex, x 2 e x.

Esercizi 3. cos x ln(sin x), ln(e x 1 x ), ln( x 2 1), x sin x + x cos x + x, x 3 2x + 1. x 2 x + 2, x cos ex, x 2 e x. I seguenti quesiti ed il relativo svolgimento sono coperti dal diritto d autore, pertanto essi non possono essere sfruttati a fini commerciali o di pubblicazione editoriale senza autorizzazione esplicita

Dettagli

Lezione 1. Problemi Algoritmi Programmi

Lezione 1. Problemi Algoritmi Programmi Lezione 1 Problemi Algoritmi Programmi Programmazione I Paolo Valente - 2016/2017 Il problema... della tigella emiliana Avete invitato a cena degli amici stranieri e volete fare provare loro le tigelle

Dettagli

Giovanna Carnovale. October 18, Divisibilità e massimo comun divisore

Giovanna Carnovale. October 18, Divisibilità e massimo comun divisore MCD in N e Polinomi Giovanna Carnovale October 18, 2011 1 Divisibilità e massimo comun divisore 1.1 Divisibilità in N In questa sezione introdurremo il concetto di divisibilità e di massimo comun divisore

Dettagli

2.6 Calcolo degli equilibri di Nash

2.6 Calcolo degli equilibri di Nash 92 2 Giochi non Cooperativi Per queste estensioni di giochi non finiti si possono provare risultati analoghi a quelli visti per i giochi finiti. Rimandiamo alla bibliografia per uno studio più approfondito

Dettagli

Esercitazioni di Analisi Matematica FUNZIONI CUBICHE. Effettuare lo studio completo delle seguenti funzioni di terzo grado intere:

Esercitazioni di Analisi Matematica FUNZIONI CUBICHE. Effettuare lo studio completo delle seguenti funzioni di terzo grado intere: FUNZIONI CUBICHE Effettuare lo studio completo delle seguenti funzioni di terzo grado intere: 1) y = fx) = x 3 + 2x 2 + x 2) y = fx) = x 3 + x 2 + x + 2 3) y = fx) = x 3 + 2x 2 + x 4 4) y = fx) = x 3 +

Dettagli

Introduzione Problemi e codifiche Classe P e linguaggi Da NP a NP-C Il mondo NP-C Conclusioni. NP-Completezza

Introduzione Problemi e codifiche Classe P e linguaggi Da NP a NP-C Il mondo NP-C Conclusioni. NP-Completezza NP-Completezza e la complessità strutturale degli algoritmi Simone Frassanito Dipartimento di Elettronica per l Automazione Università degli Studi di Brescia Cosa non è l NP-Completezza Si potrebbe pensare

Dettagli

L INFORMATICA c1. Informatica è qualcosa che ha a che fare con l uso del computer

L INFORMATICA c1. Informatica è qualcosa che ha a che fare con l uso del computer L INFORMATICA c1 Negli incontri precedenti ci siamo occupati di cercare la soluzione di alcuni problemi. Ora cerchiamo di definire cosa si intende per informatica. Informatica è qualcosa che ha a che fare

Dettagli

Fondamenti di Informatica 1 (I Modulo) Introduzione agli algoritmi. Roberto Basili a.a

Fondamenti di Informatica 1 (I Modulo) Introduzione agli algoritmi. Roberto Basili a.a Fondamenti di Informatica 1 (I Modulo) Introduzione agli algoritmi Roberto Basili a.a. 2006-2007 2007 Informatica Col termine Informatica si intende attualmente l insieme delle discipline scientifiche

Dettagli

E necessaria la chiave segreta? RSA. Funzioni One-way con Trapdoor. Un secondo protocollo

E necessaria la chiave segreta? RSA. Funzioni One-way con Trapdoor. Un secondo protocollo E necessaria la chiave segreta? RSA Rivest, Shamir, Adelman A manda a B lo scrigno chiuso con il suo lucchetto. B chiude lo scrigno con un secondo lucchetto e lo rimanda ad A A toglie il suo lucchetto

Dettagli

LEZIONE DI MATEMATICA SISTEMI DI NUMERAZIONE. (Prof. Daniele Baldissin)

LEZIONE DI MATEMATICA SISTEMI DI NUMERAZIONE. (Prof. Daniele Baldissin) LEZIONE DI MATEMATICA SISTEMI DI NUMERAZIONE (Prof. Daniele Baldissin) L'uomo usa normalmente il sistema di numerazione decimale, probabilmente perché ha dieci dita. Il sistema decimale è collegato direttamente

Dettagli

Gli errori nella verifica delle ipotesi

Gli errori nella verifica delle ipotesi Gli errori nella verifica delle ipotesi Nella statistica inferenziale si cerca di dire qualcosa di valido in generale, per la popolazione o le popolazioni, attraverso l analisi di uno o più campioni E

Dettagli

Algoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione

Algoritmi greedy. Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione Algoritmi greedy Gli algoritmi che risolvono problemi di ottimizzazione devono in genere operare una sequenza di scelte per arrivare alla soluzione Gli algoritmi greedy sono algoritmi basati sull idea

Dettagli

LEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g

LEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g LEZIONE 3 3.. Matrici fortemente ridotte per righe. Nella precedente lezione abbiamo introdotto la nozione di soluzione di un sistema di equazioni lineari. In questa lezione ci poniamo il problema di descrivere

Dettagli

Limiti di successioni

Limiti di successioni Capitolo 5 Limiti di successioni 5.1 Successioni Quando l insieme di definizione di una funzione coincide con l insieme N costituito dagli infiniti numeri naturali 1, 2, 3,... talvolta si considera anche

Dettagli

Anno Scolastico 2014/15 - Classe 1D Verifica di matematica dell 11 Maggio Soluzioni degli esercizi. 2(x 2) 2(x 1) + 2 = 3x

Anno Scolastico 2014/15 - Classe 1D Verifica di matematica dell 11 Maggio Soluzioni degli esercizi. 2(x 2) 2(x 1) + 2 = 3x Anno Scolastico 2014/15 - Classe 1D Verifica di matematica dell 11 Maggio 2015 - Soluzioni degli esercizi Risolvere le seguenti equazioni. Dove è necessario, scrivere le condizioni di accettabilità e usarle

Dettagli

Parte Seconda. Prova di selezione culturale

Parte Seconda. Prova di selezione culturale Parte Seconda Prova di selezione culturale TEORIA DEGLI INSIEMI MATEMATICA ARITMETICA Insieme = gruppo di elementi di cui si può stabilire inequivocabilmente almeno una caratteristica in comune. Esempi:

Dettagli

Esercizi riguardanti limiti di successioni e di funzioni

Esercizi riguardanti limiti di successioni e di funzioni Esercizi riguardanti iti di successioni e di funzioni Davide Boscaini Queste sono le note da cui ho tratto le esercitazioni del giorno 0 Novembre 20. Come tali sono ben lungi dall essere esenti da errori,

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione. Università degli Studi di Salerno. UD 3.1a: Gli Algoritmi

INFORMATICA GENERALE Prof. Alberto Postiglione. Università degli Studi di Salerno. UD 3.1a: Gli Algoritmi INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno : Gli Algoritmi INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università

Dettagli

Equazioni, funzioni e algoritmi: il metodo delle secanti

Equazioni, funzioni e algoritmi: il metodo delle secanti Equazioni, funzioni e algoritmi: il metodo delle secanti Christian Ferrari 1 Introduzione La risoluzione di equazioni in R ci ha mostrato che solo per le equazioni polinomiali di primo e secondo grado,

Dettagli

04 - Numeri Complessi

04 - Numeri Complessi Università degli Studi di Palermo Scuola Politecnica Dipartimento di Scienze Economiche, Aziendali e Statistiche Appunti del corso di Matematica 04 - Numeri Complessi Anno Accademico 2015/2016 M. Tumminello,

Dettagli