Ad anello, Anello di Dedekind

July 3rd, 2008

In algebra astratta, un anello di Dedekind è un anello in cui valgano le seguenti proprietà:

  1. ogni ideale primo non nullo è massimale,
  2. ogni catena ascendente di ideali è stazionaria (ovvero, l’anello è noetheriano),
  3. l’anello in questione è integralmente chiuso.


Esempi

Anelli di Dedekind sono l’anello Z dei numeri interi, l’anello dei polinomi ad una variabile a coefficienti in un campo e ogni anello a ideali principali.


Proprietà

  • Se R è un dominio di Dedekind , K il suo campo delle frazioni e L/K un’estensione di campo finita, allora la chiusura integrale di R in L è ancora un dominio di Dedekind.
  • Un dominio di Dedekind è a fattorizzazione unica se e solo se è a ideali principali.

Token ed, Parser LR

July 2nd, 2008

Nell’informatica, un parser LR è un parser di tipo Bottom-up per grammatiche libere da contesto, usate molto di frequente nei compilatori dei linguaggi di programmazione (e degli altri strumenti associati). Un Parser LR legge il proprio input partendo da sinistra (Left) verso destra, producendo una derivazione destra (Rightmost Derivation). A volte questo parser viene anche indicato col nome “Parser LR(k) dove k si riferisce al numero di simboli letti (ma non “consumati”) utilizzati per prendere le decisioni di parsing. Tipicamente k ha valore 1 ed è spesso omesso. Una grammatica libera da contesto è chiamata LR(k) se esiste un parser LR(k) adatto ad essa.

Nell’uso tipico, quando ci riferiamo a un parser LR significa che stiamo parlando di un particolare parser in grado di riconoscere un linguaggio specifico in una grammatica libera da contesto. Non è tuttavia insolito che ci riferisca a un parser LR intendendo un programma che, fornendogli una tabella “ad hoc”, sia in grado di produrre un ampio numero di LR distinti.

Il parsing LR ha parecchi benefici:

  • Parecchi linguaggi di programmazione possono essere parserizzati usando varianti del parser LR. Notevoli eccezioni sono [[C++]] e Perl.
  • Il parser LR puo’ esser implementato in modo estremamente efficiente.
  • Di tutti i parser che scandiscono il loro input da sinistra verso destra, il parser LR è in grado di identificare gli errori sintattici (ovvero quando l’input non è conforme alla grammatica) rapidamente.

Creare un parser LR a mano è parecchio difficile; solitamente essi sono creati usando dei generatori di parser. In base a come la tabella di parsing viene generata, questi parser possono essere anche parser SLR o LALR. Con questi tipi di parser si ha a che fare con una ampia varietà di grammatiche aumentate; il parser LALR ad esempio è in grado di riconoscere un numero maggiore di grammatiche rispetto un SLR. Il famoso Yacc produce parser di tipo LALR.


Architettura di un parser LR

Il parser è composto da:

  • Un input buffer, che permette di leggere il prossimo simbolo dallo standard input;
  • Una pila, che permette di memorizzare quali simboli sono stati letti;
  • Una tabella, suddivisa in Action Table (che permette di determinare quale azione bisogna intraprendere) e GoTo Table (che determina in quale nuovo stato spostarsi o quale regola della grammatica adottare);

Cerchiamo di spiegare il funzionamento con un esempio; consideriamo la seguente grammatica:

(1) E → E * B
(2) E → E + B
(3) E → B
(4) B → 0
(5) B → 1


La Tabella di Action e Goto

Le due tabelle di parsing LR(0) per questa grammatica sono:

action goto
state * + 0 1 $   E B
0     s1 s2     3 4
1 r4 r4 r4 r4 r4    
2 r5 r5 r5 r5 r5    
3 s5 s6   acc      
4 r3 r3 r3 r3 r3      
5     s1 s2     7
6     s1 s2     8
7 r1 r1 r1 r1 r1      
8 r2 r2 r2 r2 r2      


Nella Action Table i contenuti delle celle sono determinati dallo stato del parser e di un simbolo terminale (incluso il simbolo terminale speciale $ che indica la fine dell’input) e può contenere tre tipi di azioni:

  • shift, scritto in forma ’sn' indica che bisogna spostare un simbolo e che il prossimo stato è n
  • reduce, scritto in forma ‘rm' indica che si deve effettuare una riduzione di m passi
  • accept, scritto in forma ‘acc’ e indica che tutti i simboli sono stati letti e la stringa è conforme alla grammatica definita

Nella GoTo Table invece i valori delle celle sono determinati dallo stato del parser e dai simboli non-terminali; il contenuto determina quale sarà il prossimo stato del parser se è stato riconosciuto un non-terminale.


L’ Algortimo di Parsing

L’ Algortimo di Parsing LR lavora nel seguente modo:

  1. Il contenuto della pila viene posto a [0]. Lo stato corrente dovrà essere sempre lo stato in cima alla pila.
  2. Dato lo stato corrente e il terminale corrente nell’input stream si esegue l’azione presente nella action table. Vi sono quattro possibili casi:
    • uno shift sn:

      • il terminale corrente viene rimosso dall’input stream
      • lo stato n viene inserito nella pila e diviene lo stato corrente,
    • una riduzione rm:
      • il numero m viene scritto nell’output stream,
      • per ogni simbolo a destra della regola m uno stato viene rimosso dalla pila e
      • dato lo stato successivo sulla cima della pila e la regola sinistra di m un nuovo stato viene visitato nella goto table e inserito un nuovo stato corrente in cima alla pila.
    • un accept: la stringa è accettata
    • nessuna azione: viene segnalato un errore di sintassi
  3. Il passo precedente viene ripetuto finché la stringa non viene accettata o un errore di sintassi viene segnalato

Cerchiamo di esprimere meglio l’algoritmo con una stringa d’esempio: 1 + 1. La tabella sottostante illustra ogni passo effettuato dal processo, lo stato di riferimento è l’elemento in cima alla pila (ovvero quello più a destra) e l’azione da intraprendere sarà quella determinata dalla action table definita prima. Notare inoltre che il simbolo $ è inserito in fondo alla stringa per segnalare la fine dell’input.

State Input Stream Output Stream Stack Next Action
0 1+1$ [0] Shift 2
2 +1$ [0,2] Reduce 5
4 +1$ 5 [0,4] Reduce 3
3 +1$ 5,3 [0,3] Shift 6
6 1$ 5,3 [0,3,6] Shift 2
2 $ 5,3 [0,3,6,2] Reduce 5
8 $ 5,3,5 [0,3,6,8] Reduce 2
3 $ 5,3,5,2 [0 3] Accept

Quando il parsing inizia esso si troverà allo stato iniziale 0 e con la seguente pila:

[0]

Il primo terminale che il parser riconosce è ‘1′ e in accordo alla action table si può andare nello stato 2 con la Pila che si trovare nel seguente modo:

[0 ‘1′ 2]

La testa della pila è la parte più a destra. (or the sake of our explanation we also show the symbol (e.g., ‘1′, B) that caused the transition to the next state although strictly speaking it is not part of the stack.)

Nello stato 2 la action table diche che per qualunque terminale troviamo nell’input dovremmo effettuare una riduzione con la regola grammaticale 5. Se la tabella è stata creata correttamente questo significa che il parser ha riconosciuto correttamente il lato destro della regola 5, che è appunto il nostro caso.
Possiamo così scrivere ‘5′ nello stream in output, fare il ‘pop’ dello stato sulla pila e poi un ‘push’ sulla pila dello stato indicato dalla goto table con 0 e B, ovvero 4. La pila risultante sarà:

[0 B 4]

Tuttavia lo stato 4 della action table indica che dovremmo fare una riduzione con la regola n° 3. Scriviamo quindi 3 nell’ouput stream, facciamo un’ulteriore ‘pop’ sulla pila e troviamo il nuovo stato nella goto table, indicato da 0 e E, ovvero 3. Di conseguenza:

[0 E 3]

Il terminale successivo che il parser riconosce è il ‘+’ e seguendo la action table, si dovrà andare allo stato 6:

[0 E 3 ‘+’ 6]

Possiamo notare come la pila sino a quì costruita può essere vista come la storia di un Automa a stati finiti che ha appena letto un non-terminale E seguito da un terminale ‘+’. La tabella di transizione di questa automazione è definita dalle azioni di ’shiftà della action table e le azioni si spostamento nella gogo table.

Il terminale successivo è ora ‘1′ e significa che deve esser effettuato uno “shift and go” allo stato 2:

[0 E 3 ‘+’ 6 ‘1′ 2]

Come appena fatto il simbolo ‘1′ viene ridotto a B con pila formata nel seguente modo:

[0 E 3 ‘+’ 6 B 8]

Possiamo notare ancora come la pila ora corrisponda a una lista di stati di un automa a stati finiti che ha letto un non-terminale E, seguito poi da un ‘+’ e un non-terminale B. Nello stato 8 effettueremo sempre una riduzione con la regola 2. Notare che ora i 3 stati della pila corrispondono ai 3 simboli nel lato destro della regola 2.

[0 E 3]

Finalmente troviamo in lettura il simbolo ‘$’ che, seguendo le regole della action table (il cui stato corrente è il 3°), il parser accetta la stringa in input.
I numeri delle regole che sono stati scritti negli output stream sranno [5, 3, 5, 2] che è effettivamente un derivazione destrorsa della stringa “1+1″ al rovescio.


Costruzione di una tabella di parsing LR(0)


Items

La costruzione di queste tabelle di parsing si basa sulla notazione di LR(0) items che sono regole grammaticale con un punto speciale aggiunto in punti precisi nel lato destro. Per esempio, la regola E → E + B ha i quattro seguenti oggetti corrispondenti:

E → • E + B
E → E • + B
E → E + • B
E → E + B •

Le regole nella forma A → ε hanno un singolo item A → •. Queste regole saranno usate per denotare lo stato del parser. L’item E → E • + B, ad esempio, indica che il parser ha riconosciuto una stringa corrispondente ad E nell’input stream e ora si aspetta di leggere un ‘+’ seguito da un’altra stringa, corrispondente a B.


Item sets

Solitamente non è possibile caratterizzare lo stato del parser con un singolo item in quanto non possiamo sapere in anticipo quali regole verranno usate per la riduzione. Per esempio, se è già presente una regola nella forma E → E * B, allora gli item E → E • + B e E → E • * B verranno entrambi applicati dopo che la stringa corrispondente ad E è stata letta. Di conseguenza dovremo caratterizzare gli stati del parser tramite un set di items, nel nostro caso il set sarà formato da { E → E • + B, E → E • * B }.


Closure of item sets

Un item con un punto davanti a un non-terminale, come ad esempio E → E + • B, indica che il parser si aspetta poi di ricevere un non-terminale B.
Per assicurarsi che l’insieme di oggetti contenga tutte le possibili regole nelle quali il parser potrebbe trovrsi durante l’esecuzione del suo lavoro, deve includere tutti i termini che descrivano come B stesso debba essere parsato. Questo significa che se c’è una regola come B → 1 e B → 0 allora il set di item dovrà anche includere gli items B → • 1 and B → • 0. In generale questo può essere formulato come segue:

Se c’è un item nella forma AvBw in un set di item e nella grammatica c’è una regola nella forma Bw’ allora l’item B → • w’ dovrà essere anch’esso nel set di item.

Ogni set di items può essere esteso in modo che soddisfi la seguente regola: Continua semplicemente ad aggiungere gli items appropriati sino a quanto tutti i non-terminali preceduti da punti sono stati aggregati
L’estensione minima viene chiamata closure di un set di item ed è scritta clos(I) dove I è un set di item. È questo set di closed item che verranno presi come stati del parser, anche se soltanto quelli che sono realmente raggiungibili dallo stato iniziale saranno inclusi nella tabella.


La grammatica aumentata

Prima di cominiciare a determinare le transizioni tra gli stati differenti, la grammatica viene sempre aumentata con la seguente regola extra:

(0) S → E

dove S è un nuovo simbolo di partenza e E quello vecchio. Il parser userà questa regola per ridurre esattamente quando ha accettato la stringa in input.

Prendiamo come esempio la grammatica vista prima:

(0) S → E
(1) E → E * B
(2) E → E + B
(3) E → B
(4) B → 0
(5) B → 1

È tramite questa grammatica aumentata che determineremo il set di items e le transizioni tra loro.


Trovare i set di item raggiungibili e le transizioni tra loro

Il primo passo nella costruzione delle tabelle consiste nel determinare le transizioni tra i set di item closed.. Queste transizioni saranno determinate come se noi stessimo considerando un automa a stati finiti che può leggere sia terminali che non-terminali. L’inizio dello stato di questo automa è sammpre la closure del primo item della regola aggiunta, ovvero S → • E:

Item set 0
S → • E
+ E → • E * B
+ E → • E + B
+ E → • B
+ B → • 0
+ B → • 1

Il ‘+’ in testa all’item indica che gli items che sono stati aggiunti alla closure. Gli items originali senza un ‘+’ davatni, vengono chiamati kernel del set di item.

Partendo dallo stato iniziale (S0) determineremo ora tutti gli stati che possono essere raggiunti da questo stato. La possibile transizione per un set di item può essere trovata guardando i simboli (sia terminali che non) presenti a destra del punto; nel caso di set di item 0 questi sono terminali ‘0′ e ‘1′ e non-terminali E e B. Per trovare il set di TO BE CORRECTED

  1. Prendi il ser S di tutti gli items nel corrente set dove c’è un punto davanti a un qualche simbolo x.
  2. Per ogni item in S, muoviamo il punto alla destra di x.
  3. Chiudiamo il risultante set di items.

Per il terminale ‘0′ questo risulta in:

Item set 1
B → 0 •

e per il terminale ‘1′ in:

Item set 2
B → 1 •

e per il non-terminale E in:

Item set 3
S → E •
E → E • * B
E → E • + B

e per il non-terminale B in:

Item set 4
E → B •

Notare che in tutti la closure non aggiunge nessun nuovo item. Continuiamo così il processo finché nessun nuovo item nel set viene trovato. Per il set di item 1, 2 e 4 non ci sarà nessuna transizione finché il punto non sarà davanti a nessun simbolo. Per il set di item 3 vediamo che il punto è davanti ai terminali ‘*’ e ‘+’. Per ‘*’ la transizione va in:

Item set 5
E → E * • B
+ B → • 0
+ B → • 1

e per ‘+’ la transizione va in:

Item set 6
E → E + • B
+ B → • 0
+ B → • 1

Per gli item del set 5 dobbiamo considerare i terminali ‘0′ e ‘1′ e il non-terminale B. Per i terminali notiamo che la risultante closure del set di item sono uguali a quelli già trovati prima: rispettivamente il set 1 e 2. Per il non-terminale B invece la transizione sarà:

Item set 7
E → E * B •

Per il set di item 6 bisogna inoltre considerare il terminale ‘0′ e ‘1′ e il non-terminale B. Come prima, il set di item risultante è eguale al set 1 e 2. Per il non-terminale B la transizione va in:

Item set 8
E → E + B •

Siamo arrivati all’ultimo set di item che non ha più alcun simbolo dopo il punto e di conseguenza nessun nuovo item viene aggiunto e il lavoro è concluso. La tabella di transizione per l’automa ora sarà la seguente:

Item Set * + 0 1 E B
0 1 2 3 4
1
2
3 5 6
4
5 1 2 7
6 1 2 8
7
8


Costruzione della tabella di action e di goto

Da questa tabella e dal set di items appena ricavato, possiamo costruire le tabelle nel modo seguente:

  1. Le colonne dei non-terminali sono copiate nella goto table
  2. Le colonne dei terminali sono copiate nella action table come le azioni di shift
  3. Un colonna extra per il dimbolo $ (fine dell’input) è aggiunta nella action table che contiene acc’ per ogni set di item che contengono S → E •.
  4. Se un set di item i contiene un item nella forma Aw • e Aw è la regola m con m > 0 allora la riga per lo stato i nella action table viene riempita completamente con la azione indicante la riduzione rm.


Versioni più potenti del parsing LR

Notare che solo lo step 4 delle procedure descritte sopra produce una azione di riduzione, e quindi tutte le azioni di riduzione devono occupare una intera riga della tabella. Questo perché un parser LR(0) non guarda al token successivo per decidere quale riduzione bisogna effettuare. Una grammatica che necessita di guardare oltre per risolvere le disambiguità sulle riduzioni richiede che la tabella indichi diverse azioni a seconda dei token successivi in input.

Miglioramenti della procedura per la costruzione di una tabella LR(0) (come ad esempio i parser SLR e LALR) sono in grado di creare le azioni di riduzione che non occupino l’intera riga. Di conseguenza riescono ad effettuare il parsing di più grammatiche rispetto ai parser LR(0).


Conflitti nelle tabelle costruite

Può succedere tuttavia che, quando una azione di riduzione viene aggiunta alla action table, la cella relativa sia già occupata da una azione. Quando questo accade, significa semplicemente che non si tratta di una grammatica LR(0). Se il contenuto precedente della cella è uno shift si parla di conflitto shift-reduce; se è una differente azioni di riduzione si parla di conflitto reduce-reduce.

Un esempio di una grammatica non LR(0) con conflitto shift-reduce è:

(1) E → 1 E
(2) E → 1

Un set di items che troviamo è:

Item set 1
E → 1 • E
E → 1 •
+ E → • 1 E
+ E → • 1

C’è un conflitto shift-reduce in questo set di item perché nella nella cella della action table per questo det di item e il terminale ‘1′ c’è sia una azione di shift allo stato 1 che una azione di riduzione con regola 2.

Un altro esempio di grammatica non-LR(0) con conflitto reduce-reduce è:

(1) E → A 1
(2) E → B 2
(3) A → 1
(4) B → 1

In questo caso otteniamo il seguente set di item

Item set 1
A → 1 •
B → 1 •

C’è un conflitto di tipo reduce-reduce in questo set di item poiché le celle della action table x questo set di item saranno sia per la regola 3 che per la regola 4.

Entrambi gli esempi sopra possono essere risolti lasciando usare al parser il seguente set (vedi LL parser di un non-terminale A per decidere se è il caso di usare una regola di A per una riduzione; verrà usata la regola Aw per una riduzione se il simbolo successivo nell’input stream è nel set seguente di A. Questa soluzione è detta Simple LR parser.


Alcuni esempi con LR(0)

   E->E+T/T
   T->T*F/F
   F->id
   S->AA
   A->aA/b


Bibliografia

  • Principles, Techniques, and Tools, Aho, Sethi, Ullman, Addison-Wesley, 1986. ISBN 0-201-10088-6
  • Internals of an LALR(1) parser generated by GNU Bison

Calcolatore, Telematica

July 2nd, 2008

Il termine telematica è spesso usato come sinonimo di teleinformatica ad indicare metodologie e tecniche delle telecomunicazioni e dell’informatica associate per realizzare l’elaborazione a distanza delle informazioni.

Altre volte per telematica si intende il complesso di servizi non standard fornito agli utenti di una rete di telecomunicazioni per l’invio e la recezione di informazioni pubbliche o private aventi caratteristiche di documentazione, quali operazioni commerciali o bancarie, consultazione di archivi, prenotazioni e così via, in ogni caso, solitamente ci si riferisce al primo significato del termine.

L’integrazione su vasta scala dell’informatica con le telecomunicazioni è stata resa possibile dall’ampia diffusione dei personal computer e dei programmi applicativi come i word processor, i cui bassi costi e facilità di impiego consentono il trasporto dei dati e la diffusione capillare dell’informazione, con collegamenti realizzati attraverso strumenti delle telecomunicazioni.


Tipologia

Le linee secondo la quale si è sviluppata la telematica possono essere classificate secondo vari punti di vista. Di particolare interesse è la distinzione fra informatica concentrata e informatica distribuita. Nel primo caso parecchi utenti remoti sono collegati ad un unico calcolatore centralizzato in cui risiede tutta la potenza elaborativa. Nel secondo caso, ci troviamo di fronte ad una rete complessa (in cui l’esempio più noto è internet), comprendenti più calcolatori collegati tra loro e con centri periferici, questi ultimi aventi possibilità di accesso anche a diversi elaboratori.

Esistono, naturalmente, soluzioni a diversi livelli a seconda delle esigenze specifiche cui occorre far fronte, a partire del tipo di collegamenti, che possono essere realizzati con linee telegrafiche, telefoniche commutate o dedicate, ponti radio, satelliti per le telecomunicazioni, ecc.

Il collegamento diretto di un terminale ad un elaboratore non risulta possibile per distanze superiori a qualche centinaio di metri, per cui, per collegamenti a distanze maggiori, occorre modulare il segnale, cioè trasferirlo in un campo di frequenze più adatto alla trasmissione.


Modulazione

Le funzioni di modulazione (in partenza dei segnali) e di demodulazione (in arrivo) sono svolte da apparecchiature dette modem. Durante la trasmissione i segnali si attenuano e si distorcono; oppure apparecchiature provvedono alla loro rigenerazione. Un problema importante nelle operazioni di trasmissione è costituito dal controllo degli errori.

Le tecniche di modulazione più adottate sono le seguenti:

  • Modulazione di ampiezza: la trasmissione si effettua mediante una opportuna onda sinusoidale detta portante, la cui ampiezza viene fatta variare nel tempo in funzione dei bit da trasmettere.
  • Modulazione di frequenza: si fa variare nel tempo, in funzione dei bit da trasmettere, la frequenza portante.
  • Modulazione di fase: è la fase della portante che varia, sempre in funzione dei bit da trasmettere.

Calcolatore, Interpolazione polinomiale

July 1st, 2008

L’interpolazione polinomiale costituisce un’alternativa dell’interpolazione lineare: mentre per questo metodo si usa una sequenza di funzioni lineari, si tratta ora di servirsi di un polinomio di un opportuno grado più alto.

Di una funzione f che in altra sede è nota si supponga di conoscere alcuni valori; in particolare si considerino i seguenti valori tabulati

x f(x)
0 0
1 0.8415
2 0.9093
3 0.1411
4 −0.7568
5 −0.9589
6 −0.2794

Ci si chiede, per esempio: quanto vale la funzione in <math>x= 2.5</math>? L’interpolazione risolve problemi come questo.

Il seguente polinomio di sesto grado passa attraverso tutti i sette punti dati:

<math> f(x) = -0.0001521 x^6 - 0.003130 x^5 + 0.07321 x^4 - 0.3577 x^3 + 0.2255 x^2 + 0.9038 x. </math>

Sostituendo x = 2.5, troviamo che f(2.5) = 0.5965.

In generale, se abbiamo n punti dati, esiste esattamente un polinomio di grado n−1 che passa attraverso tutti i punti dati. L’errore di interpolazione è proporzionale alla distanza fra i punti dati alla potenza n .
Inoltre questo interpolante, essendo un polinomio è illimitatamente differenziabile. Quindi l’interpolazione polinomiale, in linea di principio risolve tutti i problemi di interpolazione lineare.

Tuttavia questo metodo presenta alcuni svantaggi. Il calcolo che porta ai coefficienti del polinomio d’interpolazione è molto “costoso” (in termini di tempo di esecuzione richiesto al calcolatore e in termini di complessità delle elaborazioni). Inoltre, l’interpolazione polinomiale per il complesso dei valori dalla variabile indipendente non si rivela molto esatta; questo accade, in particolare, nei punti astremi (vedi fenomeno di Runge ). Questi svantaggi possono essere evitati usando i metodi dell’interpolazione spline.

Calcolatore, Matematico

July 1st, 2008

Un matematico è una persona che effettua studi, ricerche e attualmente, anche sperimentazioni riguardanti problemi della matematica.

Il termine deriva dal greco μαθηματικός (mathematikós) che significa “studioso, desideroso di apprendere”, a sua volta derivante da μάθημα (máthema), traducibile con i termini “scienza”, “conoscenza” o “apprendimento”.


Altri progetti


Voci correlate

  • Statistici celebri
  • Medaglia Fields - Premio Nevanlinna
  • Storia della matematica
  • Filosofia della matematica
  • Testi matematici
  • Organismi associativi dei matematici
  • Matematica su Internet
  • Calcolatore mentale
  • Fisico
  • Informatico


Collegamenti esterni

  • The MacTutor History of Mathematics archive, collezione di oltre 1500 biografie in genere molto complete e accurate.
  • The Mathematics Genealogy Project, progetto che si propone di individuare il grafo (sostanzialmente una foresta) orientata che registra i collegamenti tra matematici, del passato e del presente, che si sono trovati nella relazione di laureando o dottorando e relatore della tesi.


Bibliografia

  • La matematica nella cultura e nella società, periodico dell’Unione Matematica Italiana
  • Mathematical intelligencer, periodico edito da Springer
  • Notices of AMS, mensile della American Mathematical Society
  • G. H. Hardy A Mathematician’s Apology. Memoir, with foreword by C. P. Snow.
    • Riedizione, Cambridge University Press, 1992; ISBN 0521427061
    • Prima edizione, 1940
  • Dunham, William (1994): The Mathematical Universe, J.Wiley

Del token, Dangerous Toys

June 29th, 2008

I Dangerous Toys sono una sleaze glam metal band nata nel 1987 a Austin, Texas negli Stati Uniti.

Sono riconosciuti per essere tra i maggiori esponenti dello sleaze glam, e per essere molto vicini alle sonorità dei Guns N’Roses, un’altra sleaze band che riscosse però molto più successo.


Storia

Tim Trembley (chitarra), Mike Watson (basso) e Mark Geary (batteria) erano in origine membri degli Onyx, una hair metal band formata nel 1982 ad Austin, Texas, e capeggiati da una voce femminile. Sorsi dei contrasti con la cantante, nel 1987 proposero al singer dei Watchtower, Jason Mc Master di entrare a far parte della loro band. Con l’arrivo del singer i Dangerous Toys nascono ufficialmente nel ottobre 1987. Nel 1988, la band firmò per la Columbia Records. Poco dopo Tim Trembley lasciò la band, e rimasero così senza secondo chitarrista. Pubblicarono il debut omonimo Dangerous Toys, prodotto da Max Norman (già produttore di Megadeth, Ozzy Osbourne) nel quale Scott Dalhover suonò entrambe le chitarre. Poco prima della realizzazione del disco, Danny Aaron raggiunse la band come secondo chitarrista. Tuttavia egli non suonò nell’album, anche se vi è accreditato ed è presente sul retro della copertina.
Il disco era fortemente influenzato dallo stile dei Guns N’Roses e generalmente dallo Sleaze metal tanto in voga in quel periodo.
La voce al vetriolo di Mc Master, incredibilmente ispirata a quella di Axl Rose, ed una serie di canzoni del calibro di “Teas’n Pleas’n”, “Scared”, “Bones In The Gutter”, “Sport’n A Woody”, “Queen Of The Nile”, “Outlaw” e “Here Comes Trouble”, resero l’esordio del gruppo texano un successo. Seguì un tour britannico nello stesso ‘89 da spalla ai Faster Pussycat, per poi tornare negli Stati Uniti suonando al fianco di Alice Cooper, Motorhead, Metal Church e Judas Priest. La loro inclusione al festival fu molto gratificante, poiché scrissero il brano “Scared“, estratto dal debut e trasmesso su MTV, dedicandolo proprio al re dello shock rock Alice Cooper. Ancora altri tour si svolsero nella East Coast degli Stati Uniti assieme ai Bonham e i The Cult, fino a guadagnare il disco d’oro.

Nel 1991 esce il secondo album Hellacious Acres, lanciato dalle hits “Sticks And Stones” e “Line ‘Em Up“. Il disco venne prodotto da Roy Thomas Baker (già noto produttore di grandi artisti come The Cars, Queen o Journey). Vennero estratti da questo i singoli “Line ‘Em Up” e “Gimme No Lip“. L’album inoltre conteneva la cover dei Bad Company “Feel Like Makin’ Love“. Nonostante le sonorità aggressive, e la sponsorizzazione da parte delle radio, l’album riscosse meno successo del precedente.
Una delle cause di questo mancato successo fu l’ondata grunge che imperversava nel periodo, cambiando le direzioni musicali dell’epoca, e facendo cadere l’hair metal, come tutto l’heavy metal nell’underground. Come conseguenza di ciò, il gruppo venne anche scaricato dalla Columbia.

Nel 1992, l’ex chitarrista dei Dirty Looks Paul Lidel sostituì Aaron. Egli non suonò mai in un album della band, ma con loro partcipò a circa 200 concerti nel 1993. Nel gennaio del 1994, Paul Lidel sostituì Fowler.

Ma per l’heavy metal, il periodo d’oro era svanito, e nel 1994 con Pissed, edito per la DMZ Records, i Dangerous Toys passarono inosservati cadendo nel più profondo underground. Nonostante l’album presentasse lo spirito e le potenzialità per ottenere un certo successo, non venne consdierato, come del resto accadde in gran parte della scena metal.

Col passare degli anni la band subì un quasi inevitabile cambio di stile. Persero gradualmente popolarità e Mike Watson abbandonò il progetto. Jason McMaster passò così al ruolo di bassista oltre che cantante. Il gruppo cominciò a considerare l’idea di cambiare nome assieme alle sonorità, ma infine decisero di mantenere il nome che li rese famosi, e produrre il loro quarto album The R.tist 4.merly Known as Dangerous Toys edito nel 1995 per la DMZ Records, e prodotto da Tom Fletcher. Sarà considerato com l’album peggiore dei texani, e sarà infatti l’ultimo album in studio pubblicato dalla band.

A causa dei mancati successi, Jason McMaster e Paul Lidel si riunirono per formare una nuova band nl 1999, i “Broken Teeth”. Col gruppo pubblicarono l’album omonimo nello stesso anno, seguì “Guilty Pleasure” nel 2002 e “Blood On The Radio” nel 2004, tutti editi per la Perris Records.

Tuttavia il progeto Dangerous Toys non svanì. Nel 1999 seguì un live album per una nuova label, la Cleopatra Records, e verrà intitolato Vitamins and Crash Helmets Tour - Greatest Hits Live, ma l’attività della band era sempre meno frequente. Nel 2001 suonarono qualche concerto nella loro città natale Austin, Texas e a Tokyo, Giappone, con un ritrovato Mike Watson. Dopo questo periodo la band tornò ad essere irregolare, nonostante suonassero costantemente ogni anno.

I Dangerous Toys si riunirono poi in occasione di alcuni concerti nuovamente ad Austin, Texas nel febbraio 2003, maggio 2005, e nel settembre 2006 con i Rhino Bucket.

Nel 2004 viene invece puibblicata la raccolta The Ultimate Dangerous Toys - Sleaze Metal Kings from Texas per la Cleopatra Records, contenente i loro più grandi successi.


Lineup


Ultima

  • Jason McMaster - Voce
  • Paul Lidel - Chitarra
  • Scott Dalhover - Chitarra
  • Mike Watson - Basso
  • Mark Geary - Batteria


Ex componenti

  • Tim Trembley - Chitarra
  • Danny Aaron - Chitarra
  • Kevin Fowler - Chitarra


Discografia


In Studio

  • Dangerous Toys (1989)
  • Hellacious Acres (1991)
  • Pissed (1994)
  • The R.tist 4.merly Known as Dangerous Toys (1995)


Live

  • Vitamins and Crash Helmets Tour - Greatest Hits Live (1999)


Raccolte

  • The Ultimate Dangerous Toys - Sleaze Metal Kings from Texas (2004)


Collegamenti esterni

  • Sito Ufficiale
  • Intervista a Jason McMaster su Slamrocks.com
  • Sito Amatoriale
  • Dangerous Toys su Allmusic.com
  • Dangerous Toys su Rockdetector.com
  • Dangerous Toys su Sleazeroxx.com
  • Sito Ufficiale dei Broken Teeth
  • Broken Teeth su Sleazeroxx.com

Riceve, Ovoviviparismo

June 29th, 2008

Gli ovovivipari sono animali che trattengono le loro uova fecondate all’interno del corpo e partoriscono la prole già libera dall’uovo. l’Ovoviviparità è caratteristica di diversi pesci (inclusi gli squali), rettili, ed invertebrati. I piccoli di anfibi ovovivipari talvolta nascono allo stato larvale, subendo poi una metamorfosi una volta fuori dal corpo della madre.

A differenza degli animali vivipari, negli ovovivipari l’embrione riceve protezione dalla madre ma non nutrimento, che ricava unicamente dal materiale di riserva contenuto nell’uovo.


Voci correlate

  • Ovipari
  • Vivipari

Dati trasferendoli, Record (informatica)

June 29th, 2008

In informatica il record è un oggetto di un database strutturato in dati che contiene un insieme di campi o elementi, ciascuno dei quali possiede nome e tipo propri.
I record devono molto alle tradizionali schede cartacee delle biblioteche, da cui riprendono in gran parte la struttura.

È una struttura dati eterogenea, contenente una combinazione di elementi di diverso tipo, ad esempio un intero, un numero in virgola mobile e un carattere testuale. Gli elementi di un record sono detti anche campi, e sono identificati da un nome.

Solitamente un record è formato nei database (Ad esempio Microsoft Access) dalla riga nella tabella. si può considerare un insieme di due dati: Un puntatore e il dato vero. Il puntatore è l’informazione che deve avere il dato. In modo più semplice se avete una tabella:

Nome: Cognome:
Mario Rossi
Puntatore Puntatore  
Dato Dato << 1 record


Voci correlate

  • Database
  • Struttura dati
  • Tipo di dato

Venga perso a, Gneo Mallio Massimo

June 29th, 2008

Gneo Mallio Massimo fu console nel 105 a.C. assieme a Publio Rutilio Rufo, vincendo alle elezioni contro Quinto Lutazio Catulo.
Quando fu eletto era un homo novus.

Ottenne il governo della Gallia Transalpina come provincia per quell’anno.

È noto per aver combattuto ad Aurasio contro il popolo germanico dei Cimbri, dai quali venne pesantemente sconfitto, aprendo così le porte della Gallia Narbonense e dell’Italia ai Teutoni e ai Cimbri.

Nella battaglia perse anche i figli e al ritorno a Roma fu destituito per aver perso l’esercito.

Quale lo, Sin City

June 28th, 2008

Sin City è un fumetto di Frank Miller, dal quale sono stati tratti un film ed un videogame.

  • Sin City, il fumetto di Frank Miller
  • Sin City, il film del 2005 diretto da Robert Rodriguez, Frank Miller e Quentin Tarantino
  • Sin City, il videogioco ispirato all’opera di Miller
  • Sin City, casa produttrice di film pornografici

Il termine può fare inoltre riferimento a Basin City, la città dove è ambientata l’opera di Frank Miller, soprannominata Sin City (Città del Peccato), dalla quale prende il titolo la serie.