On 01/04/2019, Antonio Vetro' <antonio.vetro@polito.it> wrote:
In un recente articoletto (un “conceptual paper”, https://nexa.polito.it/node/1531 <https://nexa.polito.it/node/1531> e qui <https://www.emeraldinsight.com/doi/abs/10.1108/DPRG-08-2018-0049> ) ,
Ciao Antonio, è un testo molto interessante. Propone diverse considerazioni che sottoscrivo pienamente, come - when people is the target of AI decisions, the respect of universal human rights should be the ultimate reference - along with the technical developments in AI, research communities should spend relevant effort to include a wide range of stakeholders to firstly debate on the understanding of what kind of society we want to build Prima di distribuire una qualsiasi applicazione della AI, dovremmo valutare attentamente se il suo impiego ed il suo funzionamento è in linea con in nostri obbiettivi sociali e politici.
abbiamo preso come riferimento la definizione di Russell & Norvig, 2010 (AI: A modern approach).
Shane Legg e Marcus Hutter nel 2007 hanno raccolto una interessante collezione di definizioni di intelligenza: https://arxiv.org/pdf/0706.3639.pdf L'introduzione mette in guardia il lettore citando, con una sana dose di autoironia, Sternberg: “Viewed narrowly, there seem to be almost as many definitions of intelligence as there were experts asked to define it.”
Sebbene abbiamo criticato nell'articolo l’equivalenza di razionalità con intelligenza, credo che quella sia una definizione che calza bene molti sistemi attuali di AI
"We refer to AI following the mainstream definition of Russell and Norvig (Russell and Norvig, 2010): it is “the study of designing and building intelligent agents (p.30), where “agent” is “anything that can be viewed as perceiving its environment through sensors and acting upon that environment through actuators” (p.34). An intelligent agent “takes the best possible action in a situation” (p.30), i.e. it is a rational agent the one which, for each possible percept sequence, is supposed to “select an action that is expected to maximise its performance measure, given the evidence provided by the percept sequence and whatever built-in knowledge the agent has” (p.37)."
Al di là della razionalità (su cui torno tra poco) questa definizione è molto più "narrow" della definizione di Machine Intelligence di pochi anni antecedente (vedi http://www.vetta.org/documents/legg-hutter-2007-universal-intelligence.pdf ) in cui gli autori tentano di modellare intelligenza ed apprendimento attraverso l'interazione dinamica fra un agente intelligente e l'ambiente in cui opera. Come mostrate nel vostro articolo, definire l'intelligenza (artificiale o meno) come razionalità e la razionalità in termini di massimizzazione delle performance misurate è pericoloso per la società tutta. Ma non è solo pericoloso, è facilmente falsificabile. (ATTENZIONE: quanto segue si legge meglio con un font a larghezza fissa, altrimenti gli schemi potrebbero risultare deformati) In qualche ora e con un po' di pazienza chiunque può creare una intelligenza artificiale rispondente esattamente a tale definizione. Non dico in Python... non dico su Excel... sul Blocco Note! (Per chi non lo sapesse Blocco Note è un semplice editor di testo disponibile dal 1985 in tutte le versioni di Windows: https://it.wikipedia.org/wiki/Blocco_note ) Ecco come creare una intelligenza artificiale capace di giocare perfettamente a Tris, capace di massimizzare le proprie vittorie. Rappresentiamo la scacchiera di Tris come una sequenza di 9 caratteri in cui la X sta per la X sulla scacchiera, la O sta per la O sulla scacchiera e lo spazio sta per una casella vuota. Ad esempio la scacchiera vuota sarà rappresentata da 9 spazi, mentre la stringa "X0 0X0 X" corrisponderà alla seguente scacchiera | X | 0 | | ------------- | 0 | X | 0 | ------------- | | | X | Creiamo due file: uno per quando la nostra AI controlla la X e l'altro per quando controlla la O. In ciascun file mettiamo una per riga le possibili combinazioni della scacchiera seguite da un maggiore (a rappresentare una freccia) e dalla mossa ottimale mostrata da https://xkcd.com/832/ (le trovate più chiare su Wikipedia https://upload.wikimedia.org/wikipedia/commons/d/de/Tictactoe-X.svg e https://upload.wikimedia.org/wikipedia/commons/2/2f/Tictactoe-O.svg ) Per esempio le prime linee di X.txt saranno: " ">"X " "XO ">"XO X " "XOO X ">"XOO X X" ...e così via. O.txt sarà molto più lungo, ma del tutto simile: "X ">"X O " "XX O ">"XXO O " ""XXOXO ">"XXO O O " ..e così via. A questo punto possiamo sfidare Notepad aprendo il file e cercando la stringa corrispondente allo stato della scacchiera con Ctrl+T (o Ctrl+F se avete la localizzazione inglese). Se ad esempio la scacchiera è nello stato | X | 0 | | ------------- | | | | ------------- | | | | e il Blocco Note controlla la X, basta cercare "X0 " sul file X.txt e verrà trovata la riga "XO ">"XO X " che significa che Blocco Note vuole mettere la X nella posizione centrale: | X | 0 | | ------------- | | X | | ------------- | | | | Dopo qualche partita (se non sbagliate nulla nella creazione di X.txt e di O.txt e nella trascrizione degli stati della scacchiera, ovvero se non introducete bug) scoprirete che Blocco Note è imbattibile! Ora chiedetevi: Blocco Note è diventato intelligente? Secondo la definizione di Russell and Norvig... è così. ;-) Giacomo