Software per il problem solving avanzato

Stato
Discussione chiusa ad ulteriori risposte.

Marco Mst

Utente Attivo
711
44
Mi chiedevo, per curiosità, se esiste un software in grado di risolvere un problema basandosi sui dati che riceve. Non parlo solo di problemi di Matematica o di Fisica, dato che esistono già programmi e web app che grossomodo fanno questo lavoro, ma un problema vero e proprio, dando una soluzione intelligente. Mi spiego meglio: dare in pasto al programma un problema reale, una situazione, un batti becco ecc. per farli trovare una soluzione intelligente attraverso un'elevatissimo numero di elaborazioni e calcoli di probabilità. Ripeto: può trattarsi anche di un problema della vita, personale o non, e questo software si "impegna" per trovare possibili soluzioni intelligenti facendo anche delle previsioni su ciò che accadrebbe se venissero applicate le sue soluzioni al problema nella realtà, sempre basandosi sui dati in suo possesso. Insomma, è una curiosità che ho per capire anche fino a che punto può spingersi un computer (anche di fascia altissima). Personalmente non credo esistano software del genere... sarebbe un po' come avere un cervello umano nel proprio PC, però non so se si potrebbero creare questi software! Anche se si potrebbe, forse un computer ad uso domestico non è sufficiente, ma è necessario un computer quantistico o un supercomputer per elaborare una grande mole di dati per effettuare tutti i calcoli che vi ho detto prima (penso io). Non so... voi che ne pensate? E' qualcosa di fattibile al giorno d'oggi o se non lo è potrebbe esserlo in futuro? E se oggi potrebbe essere fattibile, potreste darmi qualche spunto? Forse non ne risulterà un software come quello che vi ho descritto, ma ci si potrebbe avvicinare. Non so! Chiedo a voi: ditemi cosa ne pensate.
 

rodhellas

Utente Èlite
1,522
427
CPU
Ryzen 5 3600
Dissipatore
GELID Phantom
Scheda Madre
MSI B450 Gaming Plus Max
HDD
500GB m.2 + 2TB HDD
RAM
16GB Corsair LPX 3000mhz
GPU
Gigabyte GTX 960 OC
Audio
Integrata
Monitor
SyncMaster 223BW
PSU
Antec HCG-520M
Case
Meshify C
Net
Gigabit Fastweb
OS
Windows 10 64bit
Intendi se esiste o mai esisterà un programma universale?
 

Marco Mst

Utente Attivo
711
44
No, intendo un programma che trovi soluzioni intelligenti a problemi che possono essere anche situazioni della vita, quindi che non hanno necessariamente a che fare con la tecnologia. Un software che ragioni un po' come un umano pensando a delle soluzioni, facendo ovviamente dei lunghi calcoli complessi. Ed è questa complessità che mi porta a chiedere se sia possibile un software del genere... se si può creare, o se esisterà mai.
 

pabloski

Utente Èlite
2,868
916
Non esiste nemmeno in natura. Secondo te perchè andiamo a scuola e studiamo? Perchè non esiste una formula universale per risolvere tutti i problemi dell'universo. E non è questione di quanti calcoli sai fare, se non sai che calcoli devi fare.

In natura, ogni problema ha degli input, dei vincoli e delle soluzioni accettabili. Ma come fai a stabilire qual è una soluzione accettabile?

Hai presente le reti neurali? Sono ovviamente la cosa che più si avvicina a quello che chiedi. E vengono usate per dimostrare teoremi ( esistono anche altre tecniche ). In ogni caso, hanno bisogno di essere addestrate, di imparare. E per farlo, necessitano che qualcuno gli dia degli esercizi da svolgere e gli dica quali sono le soluzioni esatte. Si chiama apprendimento supervisionato.

E il risultato è produrre un "cervello artificiale" dotato della conoscenza in un determinato settore. Ed è qui che sta il problema. Perchè non esiste un cervello capace di possedere automagicamente conoscenza in ogni settore possibile. Il cervello umano, impara ad imparare. Cioè impara l'algoritmo che gli serve per apprendere conoscenze di settori specifici. Ma, per ogni settore, ha bisogno d'imparare le regole del gioco.

Senza queste regole, semplicemente non puoi nemmeno sapere se una soluzione che hai trovata è accettabile o meno.

Perchè la soluzione dei problemi, in linea generale, è un problema di ricerca. Cioè parti dallo spazio dei problemi e devi trovare una funzione ( una o più ) che mappino nello spazio delle soluzioni. Questo significa risolvere un problema. Ma se non hai gli elementi per determinare se una certa soluzione X nello spazio delle soluzioni è accettabile, come fai a costruire la relativa funzione?

E chi fissa le regole, in ultima istanza, è la natura. Se tiri la coda al gatto è male. Ma questo perchè il gatto reagisce. Se il gatto non reagisse, arriveresti a tutt'altra conclusione a riguardo.

Quindi, come vedi, le regole del gioco devono essere note. Altrimenti non puoi nemmeno cominciare a cercare una soluzione.
 
  • Mi piace
Reazioni: Marco Mst

Andretti60

Utente Èlite
6,440
5,091
Si, esistono applicazioni del genere, ma si basano su algoritmi che "imparano" inserendo dati da soluzioni reali, si chiamano "deep learning" (che sono un sotto gruppo di "machine learning"). Uno dei piu famosi e' TensorFlow, che e' Open Source e esistono librerie per molti linguaggi, e' stato sviluppato da Google ed e' utilizzatissimo. Ma non e' facile da imparare ad usarlo, richiede grandi quantita' di memoria e capacita' di calcolo, e ovviamente da un grande quantita' di dati da usare per "imparare". Se i dati sono buoni, i risultati sono eccellenti. Ma bisogna capire bene "quali" dati dargli e in che formato. Ho visto gente rompersi le corna sopra :) perche' gli esempi sono fatti su problemi semplici (ovvio) che richiedono pochi dati per imparare. In genere vengono usati supercomputer e reti di computer.
 
  • Mi piace
Reazioni: Marco Mst
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!