Browser Internet e fatti vostri

Vi sarete chiesti perchè quando entrate nell’area autenticata personale del sito che vi fornisce servizi, (self publishing, blog, etc…), vi compaiono pubblicità strettamente legate ad affari vostri presso altri siti che non hanno nulla a che fare con il sito su cui state operando…

Tutto questo, dipende dal browser che utilizzate, il browser (non tutti), memorizza tutte le vostre attività ed in ‘accordo’ con i fornitori di servizi publicitari ‘a pagamento’, personalizza la pubblicità che vi arriva su di un sito che apparentemente non c’entra niente.

Questo comportamento, erroneamente ritenuto intelligente, a qualcuno fa piacere, ma a qualcun altro da estremamente fastidio. Non illudetevi che semplicemente modificando le impostazioni sulla privacy, questo problema possa essere risolto…

Questo fenomeno, noto come Ingegneria Sociale, può essere arginato adottando un browser opportuno, come Opera, per citarne uno a caso.

Buona Navigazione!

A Role for IEEE in Quantum Computing

Erik P. DeBenedictis, Sandia National Laboratories

 

Will quantum computation become an
important milestone in human progress?
Passionate advocates and equally passionate
skeptics abound. IEEE already provides useful,
neutral forums for state-of-the-art science
and engineering knowledge as well as practical
benchmarks for quantum computation
evaluation. But could the organization do more?

 

COMPUTER      PUB L ISHED B Y THE I EEE COMPUTER SOCI E T Y

Taking the Human Out of the Loop: A Review of Bayesian Optimization

The paper introduces the reader to Bayesian optimization, highlighting its methodical aspects and showcasing its applications.

By Bobak Shahriari, Kevin Swersky, Ziyu Wang, Ryan P. Adams, and Nando de Freitas

 

ABSTRACT | Big Data applications are typically associated with
systems involving large numbers of users, massive complex
software systems, and large-scale heterogeneous computing
and storage architectures. The construction of such systems
involves many distributed design choices. The end products
(e.g., recommendation systems, medical analysis tools, realtime
game engines, speech recognizers) thus involve many
tunable configuration parameters. These parameters are
often specified and hard-coded into the software by various
developers or teams. If optimized jointly, these parameters
can result in significant improvements. Bayesian optimization
is a powerful tool for the joint optimization of design choices
that is gaining great popularity in recent years. It promises
greater automation so as to increase both product quality and
human productivity. This review paper introduces Bayesian
optimization, highlights some of its methodological aspects,
and showcases a wide range of applications.

KEYWORDS | Decision making; design of experiments; optimization;
response surface methodology; statistical learning

 

Proceedings of the IEEE | Vol. 104, No. 1, January 2016

Quantum Computers

About quantum computers

Quantum computers will use two fundamental properties of the quantum world: superposition and entanglement.
So, what is superposition? Qubits can be in the “|0⟩” state (called a zero-ket), the “|1⟩” state (called the one-ket), or a linear combination of the two (superposition). The half-angle bracket notation |⟩ is conventionally used to indicate qubits, as opposed to ordinary bits. When you measure the |0⟩ quantum state, you get a classical 0, and when you measure the |1⟩ quantum state, you get a classical 1. The |0⟩ state is sometimes called the ground state because in many physical implementations of quantum computing, including mine, it is the lowest energy state.

What’s a QBit ?

A qubit is a quantum system consisting of two energy levels, labeled |0⟩ and |1⟩. The |0⟩ state is often called the ground state because it is the lower of the two energies. Together, |0⟩ and |1⟩ make up what we call “standard basis vectors”. Like all vectors, they point in a direction and have a magnitude. Defining basis vectors is a really useful trick we have borrowed from linear algebra. The basic idea is that once you have defined these vectors, you can construct any other vector from a linear combination of the basis vectors.
Additionally, qubits also have a “phase”, which results from the fact that superpositions can be complex. To represent these superpositions, we put a coefficient such as a or b in front of the state like so: a|0⟩+b|1⟩. Here’s what the formula is saying: “The state is made up of a linear combination of |0⟩ and |1⟩, where the proportion of each depends on the coefficients a and b.” The coefficients a and b could be positive, negative, or even complex. If we take the absolute value of a or b and square it (e.g. |a|2‘or:math:‘|b|2 ), we get the probability of measuring the 0 or 1 outcome, respectively.
The basis states |0⟩ and |1⟩ and their linear combinations a|0⟩ + b|1⟩ describe the state of a single qubit. But because the coefficients a and b are not just real numbers, but can be imaginary or even complex, visualizing a qubit requires a special tool called the Bloch Sphere. The Bloch Sphere is a sphere with a radius of one and a point on its surface represents the state of a qubit. Like a globe uses longitude and latitude to describe points on the surface, the Bloch sphere can also use angles to describe the state of a qubit. This representation allows any qubit state, including those with complex coefficients, to be represented as a point on the surface of the Bloch sphere. Points on the surface of the Bloch sphere which lie along the X, Y, or Z axis correspond to special states as described below.

Ottimizzazione

I problemi di ottimizzazione richiedono necessariamente la creazione di algoritmi efficienti in quanto, generalmente, un problema di ottimizzazione possiede uno spazio delle possibili soluzioni di cardinalità esponenziale, quindi anche possedendo il più potente dei computer non potremmo permetterci di enumerare tutte le possibili soluzioni e scegliere la migliore. A titolo di esempio supponiamo di avere n variabili x(i), i=1,…,n; che possono assumere d(i) valori diversi 0,1,2,…,d(i)-1; in questo caso avremo che il numero di soluzioni ammissibili per il problema sarebbe dato da: ns=d(1)*d(2)*…*d(n). Considerando n=20 e d(i)=4 per ogni i, si otterrebbe ns=4^20, cioè circa 10^12! (il simbolo ^ sta per elevamento a potenza; 10^12=1,000,000,000,000, cioè un milione di milioni). Di conseguenza un algoritmo enumerativo richiederebbe un tempo di esecuzione proporzionale a 10^12 con soli 20 elementi.

L’ottimizzazione può essere suddivisa in due grandi categorie: dinamica e statica. Nell’ottimizzazione dinamica i vincoli e le variabili che esprimono il modello del problema possono variare nel tempo. Nella ottimizzazione statica vincoli e variabili sono costanti. A sua volta l’ottimizzazione statica si divide in continua e discreta in funzione del fatto che le variabili possano assumere valori contini o discreti. Nell’ambito della programmazione continua distinguiamo tra programmazione lineare, se funzione obiettivo e vincoli sono lineari, e programmazione non lineare altrimenti.

Un lettore non addetto potrebbe domandarsi come sia possibile trovare la soluzione ottima senza verificare una per una tutte le soluzioni disponibili. Questo può avvenire grazie a meccanismi di classificazione; il dominio delle soluzioni viene organizzato secondo una struttura che le ordina in funzione di determinate caratteristiche, quindi è possibile scartare a priori alcuni sottoinsiemi del dominio delle soluzioni senza esaminarle essendo sicuri del fatto che queste non potranno fornire soluzioni migliori di un determinato obiettivo. È un po’ come entrare in una biblioteca e cercare un libro; il libri sono organizzati per argomento e per titolo alfabeticamente, quindi non sarà necessario esplorare tutti i libri della biblioteca per trovare quello che cerchiamo ma solo un sottoinsieme. Questo è il meccanismo di funzionamento degli algoritmi e delle metodologie di risoluzione dei problemi di ottimizzazione tra cui ricordiamo il metodo del simplesso e la tecnica del branch and bound.

Torre di Hanoi

La Torre di Hanoi (anche conosciuta come Torre di Lucas dal nome del suo inventore) è un rompicapo matematico composto da tre paletti e un certo numero di dischi di grandezza decrescente, che possono essere infilati in uno qualsiasi dei paletti.

Il gioco inizia con tutti i dischi incolonnati su un paletto in ordine decrescente, in modo da formare un cono. Lo scopo del gioco è portare tutti i dischi su un paletto diverso, potendo spostare solo un disco alla volta e potendo mettere un disco solo su un altro disco più grande, mai su uno più piccolo.

Il gioco fu inventato nel 1883 dal matematico francese Édouard Lucas che diffuse il gioco sotto lo pseudonimo di N. Claus de Siam, mandarino del collegio di Li-Sou-Stian. La leggenda secondo la quale in un tempio Indù alcuni monaci sono costantemente impegnati a spostare su tre colonne di diamante 64 dischi d’oro secondo le regole della Torre di Hanoi (a volte chiamata Torre di Brahmā), è stata inventata dalla ditta che per prima ha messo in commercio il rompicapo. La leggenda narra che quando i monaci completeranno il lavoro, il mondo finirà. Esistono anche versioni videoludiche del rompicapo.

 

Eccovi il codice Java per la soluzione del problema della Torre di Hanoi (Complessità esponenziale):

 

public class TowersOfHanoi {

public void solve(int n, String start, String auxiliary, String end) {

if (n == 1) {

System.out.println(start + ” -> ” + end);

} else {

solve(n – 1, start, end, auxiliary);
System.out.println(start + ” -> ” + end);
solve(n – 1, auxiliary, start, end);

}

}

public static void main(String[] args) {

TowersOfHanoi towersOfHanoi = new TowersOfHanoi();
System.out.print(“Enter number of discs: “);
Scanner scanner = new Scanner(System.in);
int discs = scanner.nextInt();
towersOfHanoi.solve(discs, “A”, “B”, “C”);

}

}

 

Possiamo notare che la soluzione adottata è di tipo ricorsivo, cioè viene definita una funzione, solve(…), che per portare a termine il suo compito, richiama se stessa.

Il concetto è questo; prendiamo un problema A, lo scomponiamo in due sottoproblemi B e C più piccoli ma che hanno la stessa formulazione del problema originario A, e così via sino a che il problema si riduce in n problemi elementari dalla soluzione ovvia;

et voilà ! Il problema è risolto !

L’insostenibile leggerezza dell’oggettività

  • Come ti chiami ?
  • Per Diana ! Apollo !
  • Non ci serve niente, grazie.
  • Neanche delle capsule per il benessere ?
  • Le abbiamo, abbiamo tutto…
  • Un antidoto contro il tutto ?
  • Torni domani, se domani mi troverà
  • Perchè, dove andrà ?
  • Non lo so, ovunque, che non sia qui…
  • E di me ? Cosa ne sarà ?
  • Non lo so, qualsiasi cosa sarà migliore del mio destino…
  • Un attimo ! Come si chiama lei ?
  • Oggettività.