• Non ci sono risultati.

Problemi, risorse e complessità

N/A
N/A
Protected

Academic year: 2021

Condividi "Problemi, risorse e complessità"

Copied!
4
0
0
Mostra di più ( pagine)

Testo completo

(1)

Azzolini Riccardo 2019-02-19

Problemi, risorse e complessità

1 Problema

A ogni problema Π si associa una funzione

fΠ: DΠ→ SΠ

dove:

• DΠ è l’insieme delle istanze di Π

• SΠ è l’insieme delle risposte di Π

∀x ∈ DΠ, fΠ(x) è la soluzione del problema Π relativa a x

2 Algoritmo

A ogni algoritmo alg si associa una funzione (parziale)

Φalg : Inalg → Outalg∪ {⊥}

dove:

• Inalg è l’insieme degli ingressi di alg

• Outalg è l’insieme delle uscite di alg alg risolve Π se e solo se

• Inalg = DΠ

• Outalg= SΠ

∀x ∈ DΠ fΠ(x) = Φalg(x)

Si dice allora che alg è corretto per Π.

1

(2)

3 Efficienza

L’efficienza di un algoritmo riguarda la quantità di risorse impiegate per la soluzione di un problema.

È necessario fissare

• il modello dell’esecutore

• il tipo delle istruzioni elementari Le risorse sono

tempo: il numero complessivo di istruzioni eseguite spazio: la memoria occupata (dal programma e dai dati)

L’efficienza viene formalizzata attraverso la nozione di complessità (in tempo/spazio).

4 Dimensione dei dati

Per ogni algoritmo alg con funzione associata Φalg, si definisce una funzione

Walg : Inalg → N

che esprime la dimensione (il “peso”) dei dati in ingresso.

Ad esempio, la dimensione di un intero potrebbe essere il numero di cifre, mentre quella di una matrice potrebbe essere l’ordine o il numero di elementi.

5 Complessità

La complessità di un algoritmo alg si esprime attraverso due funzioni

Talg, Salg:N → N

che per ogni n ∈ N indicano, rispettivamente, le quantità di tempo e spazio impiegate da alg per elaborare dati di dimensione n.

Siccome un algoritmo può comportarsi in modo sensibilmente diverso anche per istanze di un problema con la stessa dimensione, la complessità si può misurare in tre casi diversi:

caso peggiore: Talgw (n)

considera per ogni dimensione l’istanza più sfavorevole

2

(3)

caso migliore: Talgb (n)

considera per ogni dimensione l’istanza più favorevole in media: Talga (n)

corrisponde alla media dei comportamenti su tutte le istanze aventi ugual dimen- sione

5.1 Calcolo della complessità in media

In generale, la complessità in media è data dalla formula

Talga (n) =

i∈Inn

pici

dove:

• Inn è l’insieme delle istanze di dimensione n

• pi è la probabilità dell’istanza i

• ci è la quantità di risorse impiegate per elaborare l’istanza i Raccogliendo i dati di uguale dimensione e costo, si ottiene

Talga (n) =

k≥0

Pkk

dove

Pk= ∑

i∈Inn

ci=k

pi

Definendo σn,k come il numero di istanze di dimensione n e costo k

σn,k= #{i ∈ Inn| ci= k}

e ipotizzando che tutte le istanze in Inn siano equiprobabili, si ricava

Talga (n) =

k

k σn,k

#Inn = 1

#Inn

k

n,k

3

(4)

6 Complessità asintotica

La complessità asintotica di un algoritmo alg è il comportamento della funzione Talg(n) per grandi valori di n.

Essa è un fattore di primaria importanza nella costruzione di un sistema per la soluzione di un problema. Non è però detto che un algoritmo A1 con complessità asintotica minore rispetto a un altro algoritmo A2 (che risolve lo stesso problema) si comporti meglio per ogni dimensione.

6.1 Esempio

TA1(n) = 1000n TA2(n) = 2n

Per istanze di dimensione 1 ≤ n ≤ 13 conviene utilizzare A2, mentre per le altre (soprattutto all’aumentare di n) conviene A1.

4

Riferimenti

Documenti correlati

L’obiettivo “finale” del modulo ora in esame è quello di giungere ad un abbinamento tra le informazioni di costo e i parametri di misura “fisica” del consumo,

La dimensione media delle imprese agricole al femminile è inferiore rispetto alla media nazionale, che è già piut- tosto contenuta: circa il 78% di queste, infatti è al di sotto dei

Non ci si lasci trarre in inganno: una funzione pu` o essere continua anche se il suo dominio non ` e “connesso”, (grosso modo, non ` e fatto da un “unico pezzo”) e pu` o

The state on the algebra referred to this null manifold will be then defined following just the original recipe by Unruh: a vacuum state on the horizon, defined with respect to

Con la nota indicata in premessa il Sindaco del Comune di Scheggino, dopo avere premesso che il Comune di Scheggino: a) è un comune di piccole dimensioni, con una

Caratterizzazione degli autovalori come radici del polinomio caratteristico.. Proposizione (Teorema

Costo: quanto uso di CPU e' richiesto C = n T p (n) = T 1  / E..

può essere considerato efficiente un algoritmo (polinomiale) che ha complessità (n 100 ).. può essere considerato inefficiente un algoritmo (non polinomiale) che ha complessità

Anche se il professore è più realista nel suo giudizio rispetto agli studiosi idealisti del PCC e del Guomindang, notando come la gente di Taiwan soffrì sotto gli olandesi, sotto

Le funzioni e x , sin x, cos x, sinh x e cosh x verificano le ipotesi del precedente teorema, risultano quindi sviluppabili in serie di Taylor nel

Dopo aver determinato la massima regolarit`a di f , si chiede di calcolare quest’ultima... Cosa succe- derebbe se nel termine destro dell’equazione scomparisse

complessità di un algoritmo A è la funzione f(n) della dimensione n dell’input che coincide con il numero di operazioni elementari eseguite da A quando l’input ha dimensione n, nel

Un algoritmo di fattorizzazione in genere cerca ottenere un obiettivo intermedio: decomporre l’input n nel prodotto n=ab, dove a,b sono naturali

[r]

il moto browniano cambia segno infinite volte in ogni intorno destro dell’origine, grazie alla legge del logaritmo iterato. Per la continuità delle

Quando non è espressamente indicato il contrario, per la soluzione degli esercizi è possibile usare tutti i risultati visti a lezione (compresi quelli di cui non è stata fornita

Indichiamo con f (n) la quantità di risorse (tempo di esecuzione, oppure occupazione di memoria) richiesta da un algoritmo su input di dimensione n, operante su una macchina a

[r]

[r]

Facendo

COMPILARE la parte precedente queste istruzioni, in particolare, scrivere cognome e nome (in stam- patello), firmare, indicare il numero di matricola e segnare il proprio corso

[r]

ATTENTI AGLI AVVERBI E AI CELENTERATI Ogni verbo vuole il suo avverbio (t=tempo, m=modo, q=quantità, l=luogo,).. Completa il significato dell’azione con un avverbio del tipo