Calcolo distribuito: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Applicazioni: Sistemato linguaggio
m Modelli: Migliorata l'espressione
Riga 60:
== Fondamenti teorici ==
=== Modelli ===
Molti compiti che vorremmo automatizzare usando il computer sono di tipo domanda-risposta del tipo: vorremmo farefacciamo una domanda ed il computer dovrebbe dare la risposta. In informatica questi compiti sono chiamati problemi computazionali. Formalmente, un problema computazionale consiste in istanze, unitamente ad una soluzione per ogni istanza. Le istanze sono domande che possiamo porre e le soluzioni sono le risposte desiderate a queste domande.
L'informatica cerca di capire quali problemi computazionali si possono risolvere usando un computer ([[teoria della computabilità]]) e quanto efficientemente ([[teoria della complessità computazionale]]). Tradizionalmente è come dire che un problema può essere risolto usando un computer se possiamo scrivere un [[algoritmo]] che produce una soluzione corretta per qualsiasi istanza data. Un tale algoritmo può essere implementato come un software che viene eseguito su un generico computer: il programma legge l'istanza del problema da un [[input]], esegue dei calcoli, e produce la soluzione come output. Formalismi come macchine ad accesso casuale o [[Macchine di Turing|macchine universali di Turing]] possono essere usati come modelli astratti di un generico computer sequenziale che esegue un tale algoritmo.