Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
WF-1000X M6 è la sesta generazione di auricolare in-ear sviluppata da Sony, un prodotto che punta a coniugare facilità di utilizzo con una elevata qualità di riproduzione dei contenuti audio e una cura nella riduzione del rumore ambientale che sia da riferimento
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake ha presentato diverse novità per la sua piattaforma legate all'intelligenza artificiale. Quella forse più eclatante è una collaborazione con OpenAI, ma non mancano diverse nuove funzionalità che rendono la piattaforma più flessibile e in grado di rispondere meglio alle esigenze in continuo cambiamento delle aziende
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-01-2013, 22:54   #1
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
[Vari] Automi a stati finiti, linguaggi, calcolabilità. Aspetti teorico-pratici.

Avrei bisogno di un chiarimento su alcuni aspetti teorico-pratici relativi agli automi a stati finiti.

L'argomento m'appassiona assai ma, non avendo fatto l'università, mi trovo un po' in difficoltà.
chi m'illumina?

Avrei parecchie domande ma comincio con una sola, questa:

Per sapere se una grammatica è di tipo LL(1) ci sono i ben noti algoritmi. Ora, avrei bisogno d'implementare l'algoritmo che costruisce la tabella LL(1) per una data grammatica. Cioè, leggo la grammatica da un file di testo(tipo i file .y di Bison), e automaticamente costruisco la tabella LL(1).
Se la tabella, per una data locazione, contiene più di una regola grammaticale, la grammatica non è, come ben sapete, una grammatica LL(1).
In caso contrario posso utilizzare la tabella appena creata per generare un parser di tipo predittivo non ricorsivo.

Ragazzi, lo so che di generatori di parser se ne trovano a dozzine in rete, ma io voglio implementarne uno da me. E poi di generatori di parser LL(1) non ricorsivi non ce ne sono molti. Il più famoso, Antlr(bellissimo, favoloso!), prende in ingresso una grammatica LL(1) ma genera un parser a discesa ricorsiva.

Comunque per il momento m'interessa partire dal file di testo con la grammatica e creare la tabella LL(1). Per la generazione del parser poi si vedrà.

Non voglio il codice già pronto ovviamente, ma suggerimenti, tecniche, metodi, algoritmi.
Chi mi da una mano?

Poi avrei altre domande di ordine più teorico sugli automi a stati finiti, le macchine di Turing e la calcolabilità. Ma intanto cominciamo con questa.

Ultima modifica di Vincenzo1968 : 19-01-2013 alle 23:00.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 19-01-2013, 23:44   #2
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
puoi anche seguire un corso universitario che tratti la materia di tuo interesse se lo desideri e senza necessariamente iscriversi e dare esami

Trattazioni così teoriche vengono fatte nel forum Scienza e Tecnica: qui solo cose pratiche
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 10:13   #3
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
No ma questa mia prima domanda è cosa pratica. Devo implementare un programmino che prende in input una grammatica e genera la tabella LL(1).
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 10:55   #4
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
chiedi ad un tecnico di laboratorio che insegna linguaggi formali ed automi.

Mi era capitato di scrivere per chiedere lumi ad un docente di informatica della sapienza, se non ricordo male, circa un suo algoritmo e mi aveva risposto senza difficoltà: scrivi ad uno di loro.

Io una dritta te l'ho data
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 11:17   #5
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Grazie per la dritta.

Io un programmino simile lo sto già scrivendo(e funziona anche ).

Volevo confrontarmi con voi per vedere se sto agendo nella maniera corretta o se ci sono algoritmi più adatti, metodi più indicati.

Non ne conosco tecnici di laboratorio che insegnano linguaggi formali.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 11:31   #6
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
occhio a come ti esprimi perchè di sgamano subito, è una prof

[email protected]
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 11:36   #7
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Questa non l'ho capita. Come dovrei esprimermi? E chi dovrebbe sgamarmi? E cosa dovrebbero sgamare?

Spiego cosa ho fatto finora:

Ho in ingresso questo file:

Codice:
expr   : term expr1;
expr1  : '+' term expr1;
expr1  : ;
term   : factor term1;
term1  : '*' factor term1;
term1  : ;
factor : '(' expr ')';
factor : T_ID;
Il mio programma produce in output il seguente file html:




Purtroppo il programmino che ho scritto seguendo gli algoritmi nei testi(in particolare sull'Hopcroft) non funziona con grammatiche che contengono regole di produzione mutualmente ricorsive.

Come si può risolvere la cosa?

Ultima modifica di Vincenzo1968 : 20-01-2013 alle 11:41.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 11:41   #8
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
se fai domande assurde non ti rispondono, più chiaro così ?

p.s.
a me non interessa il mondo dei compilatori ma solo quello delle reti neurali per il semplice fatto che di compilatori ve ne sono almeno 2500 mentre le reti neurali sono un campo ancora tutto da esplorare. Se poi penso che implica la conoscenza delle equazioi differenziali che non ho messo in pratica durante i miei studi credo sia la volta buona per cavarci qualcosa. Ad ognuno le proprie passioni.


Ultima modifica di misterx : 20-01-2013 alle 11:44.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 11:43   #9
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
No, non ho capita nemmeno questa. Che domande assurde?

Ho bisogno di un algoritmo(algoritmo, non il codice già bell'e pronto) per risolvere la faccenda con le grammatiche mutualmente ricorsive. Tutto qui.

EDIT: purtroppo nei testi che ho consultato non c'è niente in proposito. E nemmeno in rete sono riuscito a trovare qualcosa.
Fanno tutti il solito esempietto con piccole grammatiche e buona notte.

Voglio dire, se ho questa grammatica in input:

Codice:
A : B A a
  |
  ;

B : b B c
  | A A
  ;
Come la risolvo la faccenda?

Ultima modifica di Vincenzo1968 : 20-01-2013 alle 11:47.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 11:47   #10
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
queste persona fanno corsi e spiegano a modo loro i vari argomenti. Se fai loro una richiesta dimostrando di non conoscere per nulla l'argomento e ti assicuro che lo capiscono al volo, non ti rispondono. Stai quindi sulle genreali, magari qualcosa ti dicono.

fine dei consigli
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 11:50   #11
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
A me pare di conoscerlo abbastanza bene l'argomento. Ho solo qualche difficoltà su un punto in particolare: le grammatiche con regole di produzione mutuamente ricorsive.

Ne hai algoritmi da suggerire? Se l'argomento non ti appassiona puoi lasciare stare eh!

Ciao
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 12:25   #12
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Il testo che sto consultando è questo:

http://www.amazon.it/Automi-linguagg.../dp/8871925521
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 12:27   #13
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12944
Stiamo parlando di grammatiche context-free.

Generalmente la prima cosa da fare con una grammatica CF, è semplificarla:

Elimination of Nonterminal symbols that do not generate words
Elimination of symbols unreacheable from the start symbol
Elimination of useless symbols
Elimination of epsilon production
Elimination of Unit Production
Elimination of Left Recursion

Comunque trovi tutto sul Dragon Book, nell'edizione del 2006 in inglese (la seconda), pagine 224 e 225, trovi l'algoritmo per cui data una grammatica in ingresso ottieni in output la tabella di parsing .

Chiaramente prima devi vederti alcune definizioni, tipo quelle di FIRST e FOLLOW e compagnia bella.

Niente che non si possa fare da soli.

Avevo fatto un programmino in Java tempo fa per il parsing LR, seguendo proprio quel libro, in caso posto il codice (è tanta roba, c'era anche il Cooke-Younger-Kasami).

Ultima modifica di WarDuck : 20-01-2013 alle 12:30.
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 12:35   #14
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
No, WarDuch, alle pagine da te indicate c'è l'algoritmo per le grammatiche LR.

Comunque forse ho risolto:

Codice:
A : B A a
  |
  ;

B : b B c
  | A A
  ;
Il mio programma produce, adesso, il seguente output:



Mi confermate che è corretto?

Ultima modifica di Vincenzo1968 : 20-01-2013 alle 12:40.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 12:37   #15
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da WarDuck Guarda i messaggi
Stiamo parlando di grammatiche context-free.

Generalmente la prima cosa da fare con una grammatica CF, è semplificarla:

Elimination of Nonterminal symbols that do not generate words
Elimination of symbols unreacheable from the start symbol
Elimination of useless symbols
Elimination of epsilon production
Elimination of Unit Production
Elimination of Left Recursion

Comunque trovi tutto sul Dragon Book, nell'edizione del 2006 in inglese (la seconda), pagine 224 e 225, trovi l'algoritmo per cui data una grammatica in ingresso ottieni in output la tabella di parsing .

Chiaramente prima devi vederti alcune definizioni, tipo quelle di FIRST e FOLLOW e compagnia bella.

Niente che non si possa fare da soli.

Avevo fatto un programmino in Java tempo fa per il parsing LR, seguendo proprio quel libro, in caso posto il codice (è tanta roba, c'era anche il Cooke-Younger-Kasami).
Posta posta, lo sai che sono goloso di algoritmi e tecniche sull'argomento
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 12:58   #16
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Ragazzi se mi confermate che l'output è corretto posto il mio programma. Potrebbe essere d'ausilio per gli studenti che debbono affrontare l'argomento, no?
Magari faccio stampare(a video o nel file html) come viene generata, passo passo, seguendo l'algoritmo, la tabella LL(1).

È corretto l'output?
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 13:00   #17
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12944
Eccolo:

https://skydrive.live.com/redir?resi...NozV-6ZuiRYb1w

Lo puoi aprire con NetBeans o usare il JAR .

La sintassi per la grammatica è simile a questa:

S->aA|c
A->b|e

Dove "S" è lo start symbol e "e" è l'empty string .
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 13:03   #18
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Quote:
Originariamente inviato da WarDuck Guarda i messaggi
Eccolo:

https://skydrive.live.com/redir?resi...NozV-6ZuiRYb1w

Lo puoi aprire con NetBeans o usare il JAR .

La sintassi per la grammatica è simile a questa:

S->aA|c
A->b|e

Dove "S" è lo start symbol e "e" è l'empty string .
Grazieeeeeeeeeeee!!!!!!!



Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 15:37   #19
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Sono quasi certo che l'output del mio programma sia corretto; anche nel caso di grammatiche con regole di produzione mutuamente ricorsive.

Ma, appunto, "quasi".

Aspetto conferma prima di postare il codice.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
Old 20-01-2013, 20:14   #20
Vincenzo1968
Bannato
 
Iscritto dal: Mar 2008
Città: Villabate(PA)
Messaggi: 2515
Mi è stato dato un parere da un amico Ingegnere Informatico.

Aspetto il vostro per avere la certezza assoluta.
Vincenzo1968 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Le tute spaziali AxEMU di Axiom Space pe...
Dongfeng sfida la NATO: navi dalla Cina ...
5G Standalone per il mondo marittimo: Er...
Nova Lake-S: configurazioni fino a 52 co...
Baxi presenta la pompa di calore Alya E ...
PC ASUS e Acer vietati in Germania: il t...
Stellantis rilancia il diesel in Europa:...
Truffa per utenti Trezor e Ledger: lette...
Wi-Fi 7 conveniente: FRITZ! lancia 4630,...
La Formula 1 dei robot tagliaerba miglio...
Il nuovo gioco del creatore di God of Wa...
Grok arriva sulle Tesla in Europa: l'int...
Assassin's Creed IV: Black Flag Remake p...
Il padre di God of War attacca Sons...
È operativo il primo computer qua...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:40.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v