L’intelligenza artificiale è collegata all’ingegneria del software?

L'intelligenza artificiale è lo studio dei limiti fondamentali dell'informatica. Si studia l'IA se si è interessati a scoprire una nuova classe di problemi informatici. Una volta che una classe di problemi viene identificata, acquisisce un nome e diventa la propria disciplina. Si può ancora fare ricerca in essa, o la si può studiare per capire i problemi e gli strumenti per affrontare quei problemi. Le persone che studiano all'interno di quella sottodisciplina possono identificare o meno il loro lavoro con l'IA. Spesso dipende dal modo in cui sono stati introdotti alla sottodisciplina. Le persone che affermano che l'IA è morta non tengono conto di questo quando fanno una tale dichiarazione. Ho lavorato nel campo dell'IA per trent'anni e ho incontrato molte volte le affermazioni 'IA è viva/morta'.

L'apprendimento automatico statistico (ML) è una sottodisciplina dell'IA. Il suo studio è iniziato nell'IA perché coinvolge un numero molto grande di parametri (dell'ordine di milioni o più), deve funzionare e deve risolvere un problema del mondo reale. Attualmente il modo più fruttuoso di avvicinarsi al ML è da una prospettiva di statistica (più teoria dell'informazione più ...) quindi molti dei ricercatori di ML saranno matematici applicati, ma questo non è il modo in cui il ML è iniziato originariamente né è necessariamente il futuro del ML. Gli statistici teorici non sono necessariamente interessati a studiare il ML. Vogliono aggiungere alle basi teoriche della scienza, dimostrare che la loro teoria ha certe proprietà matematiche, e poiché stanno facendo la dimostrazione, possono solo gestire un numero molto piccolo di parametri in confronto a ciò che fa il ML.

Molti sistemi di AI non sono banali da costruire e quindi richiedono un'attenta analisi dei problemi, la modellazione, la progettazione e l'ingegneria del sistema, il test e la valutazione. Si possono anche imparare queste abilità nell'ingegneria del software (SE) - dipende dal curriculum SE. È interessante notare che la ricerca avanzata di ingegneria del software può fare un uso efficace delle competenze AI. I fondatori dell'IA come Marvin Minsky hanno spesso notato quanto sia importante l'ingegneria del software per costruire sistemi di IA di successo. La teoria della complessità computazionale, un punto fermo di ogni curriculum di informatica, è cresciuta anche dalla necessità di valutare e prevedere le prestazioni degli algoritmi di IA prima di implementarli.

Se un gioco per computer modella i comportamenti umani per rendere credibili i suoi personaggi artificiali, gli sviluppatori del gioco chiamano quelle entità "personaggi artificialmente intelligenti". È perché i personaggi sono, infatti, "artificiali" e perché hanno una gamma di comportamenti che è più ricca di semplici comportamenti reattivi (ad esempio movimenti casuali o movimento verso il personaggio controllato dall'uomo). Ma nonostante siano chiamati personaggi AI, non stanno identificando una nuova classe di problemi informatici né stanno tentando di modellare l'intelligenza umana. In rari casi, può essere che la ricerca sull'intelligenza artificiale che ha sviluppato modelli computazionali dei comportamenti umani sia l'ispirazione per i personaggi AI di un gioco, ma di solito per i mercati dei giochi, quei modelli devono essere ridotti e reimplementati per un'architettura di gioco in modo da garantire risposte molto veloci e scalabili.

In senso stretto, a meno che non abbiate intenzione di fare ricerca nell'ingegneria del software, guadagnare un MS in AI non vi aiuterà nel mercato del lavoro ... vi renderà troppo qualificati per molti lavori SE. Essere un SE può qualificarti per un lavoro in una startup AI, non per la ricerca AI, perché i problemi della ricerca AI non sono ben definiti per garantire l'uso di tecniche SE. Avere un MS in AI ti qualificherà per lavori di CS più remunerativi, perché la disciplina dell'analisi avanzata dei problemi e dell'astrazione ti qualificherà per posizioni di analista di sistemi e architetto di sistemi ad alto reddito.