View Full Version : Per chi ha "tempo da perdere", consigli seri ad un neofita [non è la solita domanda]
Premetto, come è solito trovare nei post dei nofiti di programmazione, che non conosco alcun linguaggio di programmazione, e come bagaglio ho qualche ora spesa dietro a qualche riga di [html], ma nulla più.
La mia richiesta è questa: se decidessi di programmare un intelligenza artificiale a se stante da qualsiasi programma, quindi per un fine ancora da delineare, ma che abbia un interfaccia (da programmare anch'essa ovviamente, ma credo sia il minore dei "problemi") propria da "interrogare" sotto windows o linux, quale sarebbe il miglior linguaggio esistente (non importa se complesso da apprendere) ed il miglior compilatore esistente, che non occorra neppure un centesimo di spesa (fatta eccezzione per la connessione internet ovviamente, download, guide, ecc...) e renda al meglio il risultato desiderato.
Rigraziando in anticipo per l'attenzione di chi leggerà il post, e per l'aiuto (se ne riceverò) auguro a chi passa, buon lavoro, buono studio o buono svago a seconda dei casi...
i linguaggi vanno bene tutti: puoi farlo in C++, come in Java, come in Python, come in quello che ti pare. dal momento che sei completamente a zero i problemi sono ben altri e sono di tipo piu matematico: ne hai di roba da studiare prima di intraprendere questa missione :D
Il problema casomai è che finora nessuno ha programmato una vera AI :D
Al massimo puoi fare una roba che riconosce oggetti, che muove un robot, che indovina delle equazioni matematiche...
fare una vera AI richiederebbe una ricerca da parte tua non indifferente... non necessariamente di tipo matematico (il data mining per dire è una tematica di AI e non è affatto matematica) ma è tutta roba complicata abbestia :D
Lo so perchè al momento sto provando a farne una seguendo una mia teoria, ma dopo 4 anni che programmo è tra le cose più complicate che mi sono trovato a fare... e ho appena iniziato.
Io lo sto facendo in C++ sotto XCode/LLVM usando Poco per il parallelismo Task Based (che IMHO è fondamentale).
Ma finora Java, C# o Python sarebbero stati più efficaci... ma io sono "efficace" in C++ e quindi uso quello :asd:
Quoto fero86. Sicuramente i limiti saranno imposti non dal linguaggio ma dagli algoritmi necessari. Calcola che l'AI è una materia di studio scientifico in cui ci sono non solo anni ed anni di test e design da parte di esperti che dedicano l'intera vita a studiare quel particolare settore ma anche parecchi fondi, a livello di risorse materiali per andare avanti nel progetto. Adesso non sono particolarmente specializzato nell'AI puro ma comunque suppongo che un computer "normale" sia davvero insufficente come potenza di calcolo.
Potresti pensare a qualcosa di più semplice e dare un'occhiata alla logica fuzzy.
Non ho alcuna intenzione di dissuaderti dall'impresa ma prima che tu possa spendere molto tempo e denaro dietro ad un progetto cosi difficile (ad oggi non esistono modelli di AI sufficentemente avanzati, a parte rarissimi casi) ti consiglio di riflettere bene su quale obbiettivo vuoi raggiungere.
Se hai intenzione di mettere su un sistema virtuale che tramite una webcam riconosca la persona di fronte, eventualmente, se la conosce, la saluti per nome, e tramite un qualche input vocale (mic) possa intercettare i comandi ti consiglio di mettere su un bel po' di risorse e di assumere qualche esperto per lavorarci a tempo pieno :)
Tornando IT ci sono linguaggi pià usati di altri in ambito scientifico per la loro somiglianza ad espressioni matematiche, oppure in certi casi alcuni linguaggi sono sviluppati esplicitamente per un dato compito, allontanandosi dai general purpose, io non li ho mai usati ma ho visto parecchio di LISP e ho letto il solo nome di SAIL. Magari un solo linguaggio per un simile progetto non è una buona idea, dipende sicuramente molto dal design.
Se non hai nemmeno conoscenze matematiche, e quindi informatiche la vedo molto lunga prima di poter iniziare.
Magari potresti cercare qualche progetto OS di intelligenza artificiale e collaborare con quelli, anzichè fare un ennesimo spin off che finisce esattamente come tutti gli altri.
@marcogl
Il linguaggio non è importante: studiane uno. Python forse, a me non piace ma qua nel forum sono tutti "oh my god, python!".
Però ti serve questo: http://www.amazon.com/dp/0136042597/ref=cm_sw_su_dp
Il problema casomai è che finora nessuno ha programmato una vera AI :D
Parla per te...
~/src> mkdir skynet
~/src> cd skynet
~/src/skynet> git init
~/src/skynet> cat > skynet.d
import std.stdio;
void main(string[] args) {
writeln("Init Skynet...");
}
~/src/skynet> git add skynet.d
~/src/skynet> git commit -a -m "Soon."
http://icanhascheezburger.files.wordpress.com/2007/04/soon.jpg
banryu79
09-08-2010, 08:30
Però ti serve questo: http://www.amazon.com/dp/0136042597/ref=cm_sw_su_dp
Volendo lo può trovare anche su bol.it: http://www.bol.it/books/Artificial-Intelligence/Stuart-Russell-Peter-Norvig/ea978013604259/
Comunque la cosa che, più di tutto il resto gli servirà, è una dose massiccia di tempo (anni) e costanza. Il che non significa che debba rinunciare, ma solo esserne cosapevole.
Ma costa l'ira di dio!
PS: Complimenti a shinya per il post assolutamente informativo :asd:
...
Ti ringrazio per la risposta; Java, C# o Python, quale ritieni tra questi, il più completo/efficace ma sopratutto supportato in italiano?
...
Ho dato già un occhiata al LISP, del SAIL provvederò a ricercare qualcosa, per quanto riguarda "Fuzzy" sto per leggere "Reti Neurali su Personal Computer + Fuzzy Logic", un PDF di Luca Marchese, trovato in giro per la rete; ti ringrazio per le delucidazioni in merito alla mia richiesta.
...
...
Vi ringrazio entrambi per la risposta, desideravo chiedere se del libro, esiste una versione in italiano.
E se per quanto riguarda il Python, potete in qualche modo indirizzarmi (mediante link) ad una guida valida (che conoscete) ed in italiano, ed ad un compilatore gratuito per iniziare.
PS: Complimenti a shinya per il post assolutamente informativo :asd:
Ho consigliato il testo di riferimento in materia, più informativo di cosi!
... desideravo chiedere se del libro, esiste una versione in italiano.
Non che io sappia, e anche se esistesse, non la vorresti.
Per python: http://python.org/download/ ... ma sulla documentazione in italiano non ti so indicare quale sia il testo 'cool' del momento. Sicuramente qualcun'altro te lo saprà indicare.
Protip: abituati all'inglese.
banryu79
09-08-2010, 11:46
Protip: abituati all'inglese.
Sì, lo sottolineo: è importantissimo.
Prima di studiare un qualsiasia linguaggio di programmazione, per qualunque motivo, è meglio imparare l'inglese.
...
...
Di nuovo grazie ad entrambi.
cdimauro
09-08-2010, 12:06
E se per quanto riguarda il Python, potete in qualche modo indirizzarmi (mediante link) ad una guida valida (che conoscete) ed in italiano
Leggi la mia firma.
Ma appena ti sei fatto le ossa passa a Imparare Python.
Cerca anche qualcosa sul Semantic Web, OWL, SPARQL e quant'altro... credo siano principalmente web-based, ma i concetti di fondo si possono portare tranquillamente ad applicazioni tradizionali.
...
Esiste per caso una versione da scaricare di quel libro?
...
Questi, mai sentiti... provvederò ad una ricerca/occhiata, ti ringrazio per le info.
cdimauro
09-08-2010, 12:59
Esiste per caso una versione da scaricare di quel libro?
http://www.python.it/doc/Howtothink/HowToThink_ITA.pdf
...
Ti ringrazio molto, immagino che partirò da questo libro.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.