Come funziona un sito web come Mathway?

4

Recentemente ho trovato un sito web chiamato Mathway

Fondamentalmente, funziona permettendoti di scegliere il tuo "livello di matematica" (che usa per determinare quali strumenti dovrebbe fornirti) e poi ti permette di inserire un problema di matematica che poi risolve per te, e dà soluzioni dettagliate (devi provarlo, è davvero fantastico).

Mi chiedevo come funzionasse su due livelli. Prima di tutto, come avrebbero analizzato il problema di matematica (e tutti gli operatori matematici a volte stranieri)? Come ottengono dal testo ai numeri, alle variabili e agli operatori?

In secondo luogo, come generano le spiegazioni? Mentre devi pagare per le soluzioni dettagliate (che sono le spiegazioni di come hanno risolto il problema), ho visto i loro screenshot di anteprima, e sembra molto dettagliato. Le spiegazioni sono date in frasi complete e accurate. Come genererebbero qualcosa del genere?

    
posta Bob 28.11.2011 - 19:41
fonte

3 risposte

5

Per prima cosa lo trasforma in token usando un lexer . In un'espressione come 3 + 5 , i token sono 3 , + e 5 . Questi token vengono inseriti in un parser , che conosce il contesto e le relazioni tra tutti i token e può chiamare le funzioni appropriate .

Ad esempio, quando il parser incontra l'espressione 3 + 5 , vede il token + e cerca in una tabella che dice che dovrebbe chiamare una funzione denominata add con i token di 3 e 5 come argomenti, che fa la matematica e restituisce un 8.

Se non vuoi valutare un'espressione, ma forse vuoi risolvere un'equazione, la funzione add farà qualcosa di diverso. Ad esempio, nell'equazione x + 5 = 8 , la funzione add potrebbe seguire le regole che abbiamo appreso in algebra e sottrarre 5 dal lato destro.

Come per generare le spiegazioni, come parte della funzione add , registra semplicemente ciò che sta facendo: "Sottrai 5 dal lato destro". Il computer deve eseguire questi passaggi in ordine, quindi scrivere in inglese non è molto altro lavoro.

Aggiungi qualche migliaio di funzioni di "add" molto più complesse e voilà, hai Mathway. Ovviamente, questa è una vastissima semplificazione, ma è a questo che servono i corsi di informatica.

    
risposta data 28.11.2011 - 20:53
fonte
2

Per quanto ne so, Macsyma è stato il primo sistema per l'esecuzione automatica della matematica simbolica. Sarebbe un buon posto per iniziare la tua ricerca.

    
risposta data 28.11.2011 - 19:55
fonte
2

Nessun software al mondo può funzionare da solo fino a quando non riceve input dall'utente o da un altro sistema. Una volta ricevuti, gli input vengono elaborati in una forma accettabile dal processore per elaborarli ulteriormente per l'output desiderato. Ad esempio, i tipi di dati vengono convertiti in altri tipi di dati che chiamiamo casting. Questa è la risposta alla tua domanda: come ottengono dal testo ai numeri, alle variabili e agli operatori?

C'è anche qualcosa che chiamiamo scomposizione funzionale o raffinamento stepwise quando analizziamo un certo processo complesso nella programmazione. Ti consiglierei di utilizzare ulteriormente il sito web, annotare le singole funzionalità, semplificarle suddividendole ulteriormente e quindi ricercare su quei frammenti.

Per eseguire calcoli matematici, sono disponibili librerie matematiche incorporate per lo scopo indicato. Guarda anche il sovraccarico dell'operatore. Hai mai provato ad aggiungere due numeri complessi in C ++?

    
risposta data 28.11.2011 - 20:09
fonte

Leggi altre domande sui tag