Meglio tardi che mai…

http://it.hackmeeting.org/

Se non lo sapevate sapevatelo! :-D

Posted in General | Tagged , , | Comments Off on Meglio tardi che mai…

Basta poco per ritrovarsi soli.

Il problema del giorno è il seguente: se p(x) e q(x) sono due polinomi a coefficienti interi e non negativi per cui risulta p(1)=q(1)=k e p(k+1)=q(k+1), i due polinomi coincidono.

Posted in General | 2 Comments

Crackdown

http://noblogs.org/2010/11/06/server-sequestrato-in-norvegia/

http://noblogs.org/2010/11/06/crackdown-in-norvegia-contro-autistici-inventati-colpirne-cento-per-educarne-uno/

E sticazzi…

Posted in General | 2 Comments

Semplice e irritante, come la soda caustica.

Mi chiedo quale sia il modo più efficiente di determinare, con riga e compasso,
i fuochi di un’ellisse della quale si conoscano 3 punti e il centro.

Posted in General | 1 Comment

The Magic Zeckendorf World

In questo post si indaga su alcune questioni di combinatoria. I primi due spunti sono tratti da altrettanti problemi presenti nel test di ammissione al primo anno SNS, annata 2010.

Genesi di un sostenibile vincolo. In principio vi era B, l’insieme delle stringhe binarie, sequenze di lettere appartenenti ad un alfabeto con soli due simboli, 0 ed 1. Successivamente venne V, insieme delle stringhe binarie “vincolate”, dove non figurano due 0 consecutivi. Denotando con |s| la lunghezza di una stringa s, Dio si chiese se esistesse una mappa biunivoca f:B->V con la proprietà addizionale che per ogni stringa s sufficientemente lunga, |f(s)|/|s| < 3/2.


Ogni elemento di V è concatenazione di un 1 con un elemento di V, o della stringa 01 con un elemento di V. Ne segue che, se denotiamo con Vn il numero di stringhe in V di lunghezza n, si ha:
V1=2,       V2=3,      Vn+2 = Vn+1+Vn,
ed è evidente il nesso con i numeri di Fibonacci. Detti U* e V* gli insiemi U e V lessicograficamente ordinati, una possibile divina mappa biunivoca è quella che associa il k-esimo elemento di U* al k-esimo elemento di V*, ed è intuitivo che meglio di così c’è poco. Limitiamo dunque il “rapporto di espansione” di questa mappa f, ossia chiediamoci quale sia l’indice del più piccolo elemento di U* la cui codifica tramite f annoveri esattamente m caratteri. Quest’indice sarà:
V1 + V2 + … + Vm-1 + 1 = Vm+1 – 2,
e il corrispondente elemento s di U* sarà costituito da almeno
log2(Vm+1)-1
caratteri, da cui:
|f(s)|/|s| <= m/(log2(Vm+1)-1).
Facendo ora ricorso alla formula di Binet, è relativamente semplice verificare che il rapporto di espansione della nostra mappa è definitivamente inferiore a 13/9 < 3/2.

Una soluzione più elegante (nonché computazionalmente più efficiente) passa attraverso il teorema di Zeckendorf: ogni numero naturale ammette un’unica rappresentazione come somma di numeri di Fibonacci con indici non consecutivi; chiamiamo allora tale rappresentazione “codifica di Zeckendorf”. Possiamo costruire una biezione tra U e V nel seguente modo: dato un elemento s di U, ne calcoliamo l’indice i in U*, guardiamo gli indici coinvolti nella codifica di Zeckendorf di i e restituiamo una stringa che abbia 0 in tali posizioni. Per le proprietà della codifica di Zeckendorf, tale stringa appartiene a V. Per quanto concerne la mappa inversa, dato v in V, chiamiamo i la somma dei numeri di Fibonacci aventi come indici gli indici degli 0 in v, dunque restituiamo l’i-esimo elemento di U*. Lasciamo al lettore l’ingrato compito di verificare che tale mappa è analoga alla “corrispondenza lessicografica” tra U* e V* già analizzata.


Genesi di un insetto di Markov. Al termine dell’estate nacque una pulce isterica, che si muoveva sui vertici di un pentagono, scegliendo, ogni secondo, se saltare verso destra o verso sinistra, con pari probabilità. Dio si chiese se dopo 28 secondi la probabilità di aver visitato ogni vertice fosse maggiore di 1/2. O se, addirittura, bastassero 22 secondi.


E’ evidente la corrispondenza biunivoca tra i percorsi intrapresi dalla pulce e le stringhe binarie, come pure il fatto che, se una stringa contiene quattro 0 o quattro 1 consecutivi, il percorso associato visita almeno una volta tutti e 5 i vertici del pentagono. Stimiamo allora il numero di stringhe binarie di 28 caratteri che NON presentino né quattro 0 né quattro 1 consecutivi: dividendo una siffatta stringa in 7 blocchi adiacenti di lunghezza 4, nessuno dei blocchi può coincidere con la stringa 0000 o con la stringa 1111, dunque vi sono al più
(14/16)7 * 228 = (7/8)7 * 228
percorsi di lunghezza 28 che NON visitano ogni vertice. Tuttavia
(7/8)7 < 1/2,
in quanto tale disuguaglianza è equivalente a
87 > 2 * 77,
che è una semplice conseguenza della disuguaglianza di Bernoulli:
87 = (7+1)7 = 77 + 7*76 + … > 2 * 77,
abbiamo dunque provato il divino claim per i percorsi di lunghezza 28, ma per quelli di lunghezza 22 occorrerà una maggiore accuratezza: proviamo a stimare il numero di stringhe binarie di 22 caratteri che NON presentano quattro 0 o quattro 1 consecutivi, senza ripartirle barbaramente in sotto-blocchi. Denotiamo con V l’insieme delle stringhe binarie che NON contengono quattro zeri consecutivi e con Vn il numero di elementi di V di lunghezza n. Si ha:
V1=2,     V2=4,    V3=8,    V4=14,
Vn+4 = Vn+3 + Vn+2 + Vn+1 + Vn,
in quanto i gli unici possibili prefissi per un elemento di V sono 1, 01, 001, 0001.
Detto p(x) il polinomio caratteristico della ricorrenza appena determinata,
p(x)=x4-x3-x2-x-1,  con zeri zj,  si ha:
Vn = k1 z1n + k2 z2n + k3 z3n + k4 z4n
per un certo set di costanti kj, in perfetta analogia con la formula di Binet per i numeri di Fibonacci. L’insieme delle sequenze con polinomio caratteristico p(x) determina uno spazio vettoriale di dimensione 4; sia ora M la matrice compagna di p(x) e Tm la traccia di Mm: la sequenza T appartiene a tale spazio vettoriale in virtù del teorema di Cayley-Hamilton; si ha:
Tk=z1k+z2k+z3k+z4k,
T1=1,   T2=3,   T3=7,   T4=15.
E’ semplice provare, per induzione, che per ogni n maggiore di 4 si ha
Vn < Tn+Tn-3,
in quanto la differenza tra il membro destro e il membro sinistro è una sequenza avente p(x) come polinomio caratteristico. Cerchiamo ora di localizzare con buona precisione gli zeri di p(x). Si ha:
p(x)(x-1) = x^4 (x – 2) + 1.
Per il teorema di Rouché, p(x) ha tre zeri di modulo inferiore ad 1. Di questi, uno solo è reale ed è compreso tra -4/5 e -3/4. L’ulteriore zero, che battezziamo “radice dominante”, è reale ed appena minore di 2: applicando due volte il metodo di Newton al polinomio p(x)(x-1) è relativamente semplice verificare che la radice dominante è più piccola di (2-1/14). Per quanto asserito in precedenza si ha allora:
Vn < (8/7) (2-1/14)n.
Sia ora Dn il numero di stringhe binarie di lunghezza n dove appaiono SIA quattro 0 che quattro 1 consecutivi. Una maggiorazione piuttosto brutale per Dn è la seguente:
Dn < 2n-6.
Se ora denotiamo con Un il numero di stringhe binarie di lunghezza n dove appaiono quattro zeri consecutivi O quattro 1 consecutivi abbiamo:
2-n Un > (2-1/64) – (16/7) (1-1/28)n.


Genesi di oggetti mirabolanti. Infine Dio si iscrisse ad un forum di matematica frequentato da loschi figuri, e si imbattè in un mostro: http://www.scienzematematiche.it/forum/viewtopic.php?f=7&t=2190.

Diverse questioni nascono da qui: in primis, il teorema di Zeckendorf. In secondo luogo, il teorema di Beatty, per cui ogni numero naturale positivo n, per un qualche m, è parte di intera di m volte il rapporto aureo o di m volte il quadrato del rapporto aureo. Detta sequenza di Wythoff la successione dei naturali per cui vale la prima, si ha una caratterizzazione alternativa. La sequenza di Wythoff, infatti, è costituita da tutti e soli i naturali positivi per cui l’indice del più piccolo numero di Fibonacci che appare nella codifica di Zeckendorf è pari (qui si sta assumendo F0=1, F1=2). Verrebbe dunque da chiedersi se valgano generalizzazioni del teorema di Zeckendorf per i Tribonacci o i Tetranacci numbers, ossia per le sequenze aventi polinomi caratteristici x3-x2-x-1 e x4-x3-x2-x-1, e quali caratteristiche abbia la partizione dei naturali indotta dalla classe di resto (modulo 3, o modulo 4) del più piccolo *-acci number che appaia nella codifica di Zeckendorf generalizzata.

E’ naturale anche chiedersi quante siano le stringhe binarie di m caratteri che non contengano k caratteri consecutivi uguali: il problema ammette una soluzione relativamente semplice in termini di matrici di transizione associate a un grafo, e prodotti di Kronecker; quel che si verifica è che il polinomio caratteristico della ricorrenza non è libero da quadrati, dunque il comportamente asintotico della quantità cercata è analogo a quello di mαm, per un’opportuna costante α, radice del polinomio caratteristico compresa tra 1 e 2.

In quest’ottica, sapreste stimare il numero di percorsi suriettivi della pulce del secondo problema?

Posted in Matematica, Quizzoni | 2 Comments

Operazioni commutative

Vorrei proporre un problema elementare, ma che, almeno per un attimo, ha messo in difficoltà un po’ di matematici a cui è stato proposto.

Trovare un’ operazione binaria  che sia commutativa, ma non associativa.

Le risposte che ho ottenuto sono state corrette, ma il più delle volte complicatissime, mentre ne esistono di molto semplici.

Vorrei citare la migliore soluzione che mi è stata data:

“Cosa c’è di non associativo? Solo la merda!”.

Posted in General, Generale, Matematica, Quizzoni | Comments Off on Operazioni commutative

Ubuntu Lucid Lynx su eeePc 1005PE

In questa guida verranno illustrate le istruzioni necessarie per installare e configurare Ubuntu 10.04 (Lucid Lynx) netbook remix su un eeePc 1005PE.

Installazione

Una volta scaricata l’immagine di installazione dal sito di Ubuntu è possibile installarla utilizzando un lettore cd esterno o una penna USB.

Dopo aver creato un supporto avviabile, è necessario avviare il computer con il media inserito e premere il tasto ‘ESC’. Così facendo verrà presentato un menu nel quale sarà possibile scegliere da quale dispositivo effettuare il boot.

Per effettuare l’installazione è sufficiente seguire le istruzioni che verranno presentate a schermo, senza ulteriori accorgimenti.

Luminosità

I tasti dedicati alla gestione della luminosità del display (fn+F5 e fn+F6) non funzionano correttamente.
Per risolvere il bug editare il file "/etc/default/grub" aggiungendo la stringa "acpi_osi=Linux" ai parametri del kernel (la variabile GRUB_CMDLINE_LINUX_DEFAULT).
Il file corretto si presenterà in questo modo:
# If you change this file, run ‘update-grub’ afterwards to update

# /boot/grub/grub.cfg.

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT="10"
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux"
GRUB_CMDLINE_LINUX=""
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo’
#GRUB_GFXMODE=640×480
# Uncomment if you don’t want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entrys
#GRUB_DISABLE_LINUX_RECOVERY="true"

Dopo aver editato il file, lanciare il comando update-grub2 per aggiornare effettivamente la configurazione del boot loader.

	sudo update-grub2

Al riavvio successivo, il comportamento dei tasti sarà quello desiderato.

È necessario effettuare un’ultima procedura per evitare che la luminosità del display continui a cambiare spontaneamente.
Lanciare gconf-editor, andare nel sottomenu apps > gnome-power-manager > backlight e qui rimuovere il segno di spunta sia dalla voce "battery_reduce", che da quella "enable".screenshot gconf

Microfono

Per fare funzionare il microfono (anche con skype), è necessario seguire la seguente procedura.
Installare i pacchetti linux-backports-modules-alsa-karmic-generic e pavucontrol.

      sudo apt-get install linux-backports-modules-alsa-karmic-genericsudo apt-get install pavucontrol

Tramite pavucontrol, impostare il volume del canale sinistro al 90%. Sembra strano, ma funziona ;-)

ScreenShot mic 

Risparmio energetico

L’utility "powertop", disponibile nei repository ufficiali, analizza l’utilizzo della cpu da parte del software e fornisce utili suggerimenti per migliorare l’autonomia della batteria.

È possibile aumentare l’intervallo di tempo che intercorre tra ogni risveglio del demone che si occupa di scrivere su disco le "dirty pages".
Powertop suggerisce un aumento dai 5 secondi standard a 15 secondi ed è possibile effettuare la modifica con il seguente comando:

	echo 1500 > /proc/sys/vm/dirty_writeback_centisecs

La modifica così effettuata non è permanente e verrà resettata ad ogni riavvio. È possibile renderla tale inserendo il comando precedente in uno script di init, oppure scrivendo la stringa "vm.dirty_writeback_centisecs = 1500" nel file "/etc/sysctl.conf".

Alcuni controller SATA hanno la possibilità di attivare una funzionalità chiamata ALPM, in grado di entrare in modalità a bassissimo consumo quando si trovano in idle per un certo periodo di tempo.
Per attivare questa funzione inserire il seguente comando:

	echo min_power > /sys/class/scsi_host/host0/link_power_management_policy

Come prima, l’attivazione di ALPM è effettiva solo fino allo spegnimento della macchina. È quindi necessario inserire il comando precedente in uno script di init, come "/etc/rc.local", per fare sì che sia sempre in funzione.

Super Hybrid Engine

Il netbook è dotato della tecnologia Super Hybrid Engine, la quale permette di ottimizzare il consumo di corrente.

Si può cambiare modalità scrivendo uno dei seguenti parametri nel file speciale "/sys/devices/platform/eeepc/cpufv".

Parametro Descrizione
1 Normale
2 Risparmio Energetico
0 Performance

Ad esempio il comando:

	sudo bash -c "echo 2 > /sys/devices/platform/eeepc/cpufv"

Imposta la modalità powersave.

Posted in eeePc, Linux, Ubuntu | 1 Comment

yeah!

New blogs! New idea! new world!

Posted in Generale | Comments Off on yeah!