Come gestisci la traduzione della teoria in pratica? [chiuso]

4

Essendo uno scienziato informatico in un campo di ricerca, ho spesso il compito di lavorare al fianco di professionisti al di fuori del dominio del software (pensa alla matematica, all'elettrotecnico ecc.) e poi tradurre le loro teorie e idee in implementazioni del mondo reale. Trovo spesso difficile quando presentano un problema teorico che sembra essere in qualche modo disconnesso dalla realtà. Non sto dicendo che la teoria sia falsa, solo che è difficile da tradurre in situazioni del mondo reale.

Ad esempio, di recente ho lavorato con le radio definite dal software. Stiamo esplorando molte aree diverse, ma spesso gli specialisti in matematica del mio gruppo presentano un problema che è strongmente radicato nella teoria (elaborazione del segnale, fisica, qualunque cosa). Spesso mi sforzo nei momenti in cui è difficile tracciare paralleli diretti tra la teoria e l'implementazione del mondo reale che ho bisogno di sviluppare. Diciamo che stiamo lavorando su un rilevatore di energia, la persona teorica del mio gruppo direbbe "è necessario misurare la variazione del rumore senza alcun segnale presente". Questo mi porta a pensare "come diavolo posso isolare il rumore da un segnale nella realtà?" Ci sono molti esempi, ma spero che tu veda dove sto andando.

Quindi, la mia domanda è: come affrontare l'implementazione di concetti teorici quando la teoria sembra distaccata dalla realtà? O almeno quando le connessioni non sono così chiare. O forse, la persona con la "teoria" potrebbe ignorare le restrizioni reali?

Nota: ho trovato questa domanda difficile da porre, spero che tu mi stia seguendo. Se hai suggerimenti su come potrei migliorarlo, fammelo sapere!

Grazie per la ricerca!

EDIT: Per essere un po 'più chiaro, capisco in situazioni come questa che devo imparare quel dominio specifico me stesso in una certa misura (cioè l'elaborazione del segnale), ma sono più interessato quando quei concetti teorici non sembrano essere come radicato nella pratica come si vorrebbe.

    
posta Mr. Shickadance 15.02.2011 - 17:02
fonte

7 risposte

1

So, my question is how does one deal with implementation of theoretical concepts when the theory seems detached from reality? Or at least when the connections are not so clear. Or perhaps, the person with the 'theory' may be ignorant of real restrictions?

Illuminali. Spiega loro le restrizioni che stai incontrando. La cosa grandiosa dei teorici della matematica e dei teorici dell'ingegneria è che una volta che spieghi i tuoi limiti e cosa stai cercando di fare, possono tradurre la teoria che amano. Non puoi aspettarti che leggano la tua mente e risolvono tutti i diversi dettagli specifici della tua situazione. Allo stesso modo, non si aspettano che tu prenda immediatamente tutto ciò su cui stanno teorizzando (vedi punto sotto)

To be a bit more clear, I understand in situations like this that I must learn that specific domain myself to an extent (i.e. signal processing), but I am more concerned with when those theoretical concepts do not appear to be as grounded in practice as one would like.

Penso che questo sia abbastanza specifico per l'istanza. Molti, molti , concetti teorici che non ritenevo adatti alla realtà pratica si sono rivelati pienamente radicati nella pratica. Inoltre, i teorici (matematici e ingegneri) di solito hanno un'idea migliore di come funzionano le cose rispetto alle persone che stanno effettivamente sviluppando il prodotto o mettono in pratica la teoria - i teorici iniziano con un esempio ideale e lo riducono il più possibile da Là. Questo è il mio secondo punto. Fai molte domande. Se qualcosa non sembra essere radicato nella pratica, chiedi di saperne di più. Spiega qual è il tuo obiettivo e chiedi se ciò di cui stanno parlando può essere applicato a quello. Aiutali a fare un po 'di lavoro per te, ed entrambi starai meglio per questo. (Gran parte del tempo in cui ritenevo che la teoria non fosse fondata semplicemente non ne sapevo abbastanza . Richiedere davvero delle domande)

Thats where my problem is...when I ask for their input what I get doesn't always seem to be easily translated into practice. I know my job isn't going to be easy, but how do I know that I need to explore other options? Experience? For example, if I am given an algorithmic approach only to decide that a heuristic one better suits the problem.

Sei un RCG (neo-laureato)? Se è così, benvenuto nel mondo reale! Oppure, se sei nuovo ad essere uno scienziato ricercatore (o lavorare con loro), benvenuto! Contrariamente a quanto ti viene insegnato a scuola, le soluzioni non sono facili. Sono complessi, grintosi, incredibilmente innovativi. Prendono tempo per sviluppare e non sono soluzioni pronte all'uso pre-assemblate (si ottiene la deriva?).

Penso che tu lo sappia già, e penso che tu sappia ciò di cui hai bisogno. Hai già menzionato una cosa: esperienza . Questo arriverà con il tempo. A seconda del tuo ambiente di lavoro potrebbe essere utile trovare qualcuno che abbia percorso il percorso prima , che possa identificarsi reciprocamente con te e il tuo dilemma. Inoltre, assicurati di porre domande e fornire suggerimenti. Interagisci con i teorici sui modi per tradurre le cose sulla lavagna in quello che devi fare. Una volta che coinvolgi gli altri nel tuo problema, con l'intento di apprendere e risolvere, ti troverai molto più facile affrontare problemi molto più difficili.

Spero che questo aiuti (da un ricercatore passato e attuale e da un esperto del settore)

    
risposta data 16.02.2011 - 05:34
fonte
1

Un buon punto di partenza sarebbe ottenere circa 101 tipi di libri, materiali didattici, ecc. sul dominio su cui stai lavorando. Chiedi ai tuoi colleghi più aiuto qui.

La prossima cosa da fare sarebbe controllare github, sourceforge et al per vedere se ci sono progetti open source rilevanti nelle aree su cui pensi di lavorare. Se sì, controlla le implementazioni dell'algoritmo, si spera che dovrebbero aiutare.

Ancora un altro suggerimento è quello di scoprire altri programmatori che lavorano nel campo pertinente e vedere se hanno post o link da condividere. Spesso i programmatori hanno account twitter e / o blog rilevanti per il loro campo di lavoro e da lì puoi sempre raccogliere le cose.

    
risposta data 15.02.2011 - 17:26
fonte
1

Devi scoprire di cosa stanno parlando. Che ciò significhi porre domande, fare ricerche o seguire una lezione, devi essere in grado di capirli. In realtà non è diverso da qualsiasi altro campo IT che si occupa di clienti.

Alla maggior parte delle persone non dispiacerà che tu chieda loro come e perché domande. Devi comunque evitare di offenderli chiedendo da una posizione di autorità. Sono quelli che sanno quali sono i requisiti e, nel tuo caso, sono sicuramente degli esperti. Chiedi formule o rappresentazioni pittoriche di ciò che stanno cercando di comunicare. Invitali a guidarti attraverso un esempio di problema. Lavoro nell'assicurazione e imparo come valutare le politiche. Non penso che sarei in grado di programmare anche qui senza quell'esperienza.

Mentre lavori di più con questi client, imparerai a comunicare meglio l'un l'altro.

    
risposta data 15.02.2011 - 17:26
fonte
1

Io lavoro con attuari. Ci sono molte cose che chiedono che non esistono nei set di dati econometrici che abbiamo a disposizione.

Un sacco di teoria, disconnesso dalla pratica.

Sento il tuo dolore.

Ecco cosa faccio: Pitch a Idea

Piuttosto che discuterlo troppo, faccio la ricerca che posso, costruisco un'implementazione di "picco tecnologico" e inviamo loro i risultati. È un "passo" ed è completamente concreto.

Piuttosto che impantanarci nella tecnologia, nelle prestazioni e nei relativi imponderabili, utilizzo Python solo così posso

  1. Crea rapidamente.

  2. Refactor rapidamente.

  3. Ricostruisci rapidamente.

In breve, tutto il software è solo un "passo" per vedere se funzionerà. Alla fine alcune cose si sistemano e richiedono un'implementazione un po 'più raffinata.

La maggior parte delle cose non si sistemano.

Perché? Perché è così difficile?

Facile. Anche loro non lo sanno. Finché non lancio un'idea, hanno solo un po 'più di indizio di come funzionerà. Dopo aver riflettuto sui miei risultati per un po ', hanno "correzioni". Non sono "bug" perché nessuno sapeva quali fossero i requisiti in primo luogo. Sono davvero solo un passo successivo nell'evoluzione dalla pura teoria alla pratica pura.

    
risposta data 15.02.2011 - 18:02
fonte
0

Poiché i tuoi colleghi sono ovviamente orientati scientificamente, dovresti essere in grado di chiedere loro quali sono gli algoritmi o formule matematiche pertinenti . Da lì puoi inserire alcuni numeri e chiedere se il tuo approccio ha un senso.

Per le cose relative all'hardware potresti semplicemente chiedere se sono a conoscenza di un dispositivo che può fare qualcosa simile , quindi quali modifiche avrebbero bisogno per renderlo utile nella situazione specifica.

    
risposta data 15.02.2011 - 17:19
fonte
-2

Per isolare il rumore, prendere un campione con solo rumore, nessun segnale, quindi il campione che si desidera e sottrarre. Potrebbe essere necessario prima eseguire una trasformazione di Fourier. L'elaborazione del segnale digitale è un campo ben consolidato, quindi potresti voler colpire la libreria.

    
risposta data 15.02.2011 - 17:15
fonte
-2

In teoria, teoria e pratica sono le stesse. In pratica, non lo sono.

    
risposta data 16.02.2011 - 02:48
fonte

Leggi altre domande sui tag