UN ROBOT SU MARTE

Parola Carlotta
Baroglio Cristina

Competenze richieste:

Si consiglia la visione dell’attività del gruppo Bebras “Caduta pilotata” reperibile qui: Bebras dell’informatica — Quesiti d’esempio

Materiale

Più copie della scheda della mappa per il robot (che può anche essere riprodotta su un foglio o un cartone grande)

Età

A partire dai 9 anni

Numero di giocatori

Attività per tutta la classe
Almeno uno studente per ogni scheda; se si vuole dividere la classe in squadre, è consigliabile che le squadre siano composte da massimo 5 studenti

Competenze acquisite

Lo studente apprende i concetti di base dell’Intelligenza Artificiale
Lo studente apprende come un agente possa utilizzare la propria intelligenza per risolvere un determinato problema

Obiettivi di apprendimento al termine della classe terza della scuola primaria

Ambito dati e informazione
O-P3-D-2. Definire l’interpretazione degli oggetti utilizzati per rappresentare l’informazione (legenda)


Obiettivi di apprendimento al termine della classe quinta della scuola primaria

Ambito algoritmi
O-P5-A-2. Risolvere problemi mediante la loro scomposizione in parti più piccole


Attività di introduzione ai concetti di base dell’Intelligenza Artificiale: agente, ambiente, sensore ed attuatore. Viene inoltre definito cosa si intenda per agente risolutore di problemi e per problema di ricerca nello spazio degli stati.

UN ROBOT SU MARTE

PREPARAZIONE:

Si può consegnare una fotocopia ad ogni studente, oppure farli lavorare in gruppi. Per rendere più coinvolgente l’attività, si può pensare di riprodurre la mappa su dei fogli più grandi, che possono essere posizionati a terra. I bambini vengono suddivisi in squadre e ogni squadra si siede attorno al proprio foglio.

DESCRIZIONE DELL’ATTIVITÀ

Introdurre i bambini all’attività leggendo questo testo:

Bot il robot si trova su Marte per portare a termine una missione: cercare e portare sulla Terra una pietra preziosa di colore viola, affinché possa essere studiata dagli scienziati. Tuttavia la strada per raggiungere questa pietra non è per niente facile: sulla strada si trovano altre piccole pietre preziose, massi, montagne, pozze d’acqua e persino qualche ufo! Ovviamente a Bot non piace molto questo pianeta sconosciuto, quindi vuole trovare il prima possibile la strada più veloce per raggiungere la pietra viola. Per farlo, ha a disposizione una mappa della regione in cui si trova. Bot è provvisto di una videocamera, una ruota per spostarsi, due braccia meccaniche (per raccogliere piccole pietre) e ha un contenitore dove ripone ciò che raccoglie. Bot è stato programmato per eseguire i seguenti movimenti:

  • spostarsi di una posizione in avanti
  • spostarsi di una posizione indietro
  • spostarsi di una posizione a sinistra
  • spostarsi di una posizione a destra
  • spostarsi di una posizione in diagonale
  • raccogliere un oggetto

Ad ogni azione (e ad ogni ostacolo) corrisponde un costo in termini temporali (l’unità di misura (ore, minuti…) non è specificata in quanto, trovandosi su un pianeta nello spazio, è difficile intendere il tempo nello stesso modo in cui lo intendiamo sulla Terra):

  • tutti gli spostamenti (avanti, indietro, sinistra, destra, diagonale) hanno un costo pari a 1
  • raccogliere una pietra costa 2
  • attraversare ogni gruppo di massi ha un costo pari a 5 (per ogni casella con dei massi).

Infine, Bot deve assolutamente evitare le pozze d’acqua (non è un robot resistente all’acqua), le montagne (non riesce a superarle arrampicandosi come può fare coi massi) e gli ufo (meglio non fidarsi…). Riuscite ad aiutare Bot nella sua impresa? Quanto tempo impiega per arrivare alla pietra viola?

Lasciare agli studenti circa 10 minuti per risolvere il problema.

DISCUSSIONE:

Prima di verificare se gli studenti abbiano risolto correttamente il gioco, avviare questa discussione conclusiva, avente lo scopo di spiegare i concetti chiave nell’ambito dell’Intelligenza Artificiale, con riferimento all’attività appena svolta, affinchè la loro comprensione sia più immediata.

E’ fondamentale, nell’Intelligenza Artificiale, saper distinguere tra agente e ambiente:

  • l’agente indica un oggetto che vogliamo programmare.

Alcuni esempi di agente vengono mostrati nella figura sottostante (da proiettare alla classe); partendo dalla prima riga in alto e da sinistra abbiamo: uno smartphone, un navigatore gps, dei robot umanoidi (ormai usati in moltissimi campi, dalla sanità all’istruzione), un robot aspirapolvere, i treni della metropolitana di Torino (che sono a guida autonoma, ovvero non sono manovrati da persone a bordo dei treni) e un veicolo sempre a guida autonoma:

  • l’ambiente indica invece il luogo in cui l’agente si muove e agisce; ovviamente non possiamo modificarlo a nostro piacimento come facciamo per l’agente, dobbiamo quindi adattarci e programmare l’agente di conseguenza.

Far interagire gli alunni chiedendo quale sia l’ambiente di ognuno degli agenti elencati in precedenza, di seguito vengono riportate le risposte:

  • per lo smartphone: non ha un ambiente specifico, dipende dalla sua funzione: se deve fornire indicazioni stradali, allora l’ambiente sarà lo stesso del navigatore gps (si veda al punto successivo), se deve scattare foto sott’acqua allora l’ambiente diventerà una piscina o il mare… inoltre, deve poter resistere a temperature piuttosto fredde o anche elevate, a seconda del luogo in cui si trova il suo utilizzatore;
Card image cap

  • per il navigatore gps: l’abitacolo dell’automobile, quindi deve essere resistente ad eventuali sobbalzi del veicolo, a brusche accelerazioni e frenate improvvise;
  • Card image cap

  • per i robot umanoidi: un edificio o qualche stanza specifica all’interno dell’edificio (ad esempio, delle sale ospedaliere per i robot mirati all’assistenza sanitaria o delle aule per i robot usati nelle scuole);
  • Card image cap

  • per il robot aspirapolvere: una casa o anche solo una specifica stanza;
  • Card image cap

  • per i treni della metropolitana di Torino: le ferrovie sotterranee della metropolitana;
  • Card image cap

  • per il veicolo a guida autonoma: le strade della città in cui si muove.
  • Chiedere inoltre alla classe se conoscono altri esempi di agenti artificiali e se riescono a collocarli nel rispettivo ambiente.

    Proseguendo con la spiegazione, un agente utilizza dei sensori per percepire la realtà che lo circonda, ed esegue le azioni che ha deciso di compiere tramite degli attuatori.

    Provare, con l’aiuto degli studenti, a definire quali siano i sensori e quali gli attuatori per gli esempi di agenti visti prima:

    • per lo smartphone:
      • sensori: la fotocamera e la videocamera (sensori visivi), il microfono per percepire le parole del suo utilizzatore, un sensore di temperatura, un sensore tattile per percepire il tocco delle dita, lo stesso ricevitore usato dal navigatore gps;
    • attuatori: le casse integrate per riprodurre i suoni, lo schermo per mostrare i contenuti scelti dall’utente, la scheda telefonica per poter effettuare e ricevere chiamate e per connettersi alla rete Internet della compagnia telefonica, lo stesso trasmettitore usato dal navigatore gps;
    • per il navigatore gps:
      • sensori: il microfono per percepire le parole del suo utilizzatore, un sensore tattile per percepire il tocco delle dita, un ricevitore per i segnali radio ottenuti dalla stazione artificiale in orbita;
      • attuatori: un trasmettitore per inviare i segnali radio sulla sua posizione alla stazione artificiale in orbita, le casse integrate per riprodurre i suoni, lo schermo per mostrare il percorso da seguire;
    • per i robot umanoidi
    • sensori: dei sensori visivi per osservare l’ambiente circostante, un microfono per percepire le parole pronunciate, un sensore tattile se dispongono di un tablet incorporato (come quelli nella figura);
    • attuatori: delle ruote per spostarsi e/o delle braccia meccaniche, le casse integrate per riprodurre i suoni, lo schermo se dispongono di un tablet;

    • per il robot aspirapolvere
    • sensori: dei sensori visivi per osservare l’ambiente e rilevare quindi dove sia lo sporco, oltre che per evitare e aggirare gli ostacoli lungo il percorso;
    • attuatori: delle ruote per spostarsi e delle spatole incorporate per raccogliere lo sporco;

    • per i treni della metropolitana di Torino:
      • sensori: dei sensori visivi per capire quando rallentare, fermarsi e accelerare e dei rilevatori di presenza per vedere quando chiudere le porte (quando non vi sono persone che stanno ancora salendo o scendendo dal treno);
      • attuatori: le ruote, i freni, le porte automatiche; 
    • per il veicolo a guida autonoma
    • sensori: dei sensori visivi per capire quando rallentare, fermarsi e accelerare e dei rilevatori di presenza per evitare ostacoli o persone lungo il percorso;
    • attuatori: le ruote, i freni. 

    La figura sottostante può essere riprodotta alla lavagna o proiettata per riassumere i concetti espressi finora.

    A questo punto, domandare agli alunni se hanno capito quale sia l’agente nel gioco appena terminato, e in quale ambiente esso agisce. L’agente è ovviamente Bot il robot, mentre l’ambiente è il pianeta Marte; infatti Bot è stato programmato per potersi muovere e operare sul pianeta: si sposta in specifiche direzioni, supera alcuni ostacoli e altri li evita, raccoglie piccoli sassi…

    Quali sensori usa? Usa solamente un sensore visivo (una videocamera) per capire dove spostarsi e per rilevare il tipo di ostacolo che incontra.

    Utilizza degli attuatori? Sì, la ruota per muoversi e le braccia meccaniche per raccogliere piccoli sassi.

    Continuiamo con la spiegazione: come può un agente utilizzare la sua intelligenza?

    In questa attività abbiamo visto un particolare tipo di agente, l’agente risolutore di problemi.

    Gli agenti risolutori di problemi usano la loro intelligenza per risolvere un certo problema.

    Prima di tutto, bisogna descrivere il problema in termini di:

    • stati: ogni stato rappresenta una porzione della realtà che stiamo osservando in quel momento (quindi una porzione del problema che bisogna risolvere);
    • azioni: servono per passare da uno stato all’altro;
    • obiettivo o goal: è il risultato finale che si vuole raggiungere.

    Quindi, in un problema, si parte da uno stato iniziale (la situazione di partenza) ed, eseguendo determinate azioni, si raggiungono altri stati, fino allo stato obiettivo (il quale indica che si è raggiunto l’obiettivo richiesto dal problema).

    Ovviamente ci possono essere più soluzioni possibili per raggiungere lo stato obiettivo partendo dallo stato iniziale.

    Per questo si definisce la funzione costo (ovvero quanto costa una soluzione piuttosto che un’altra) e si sceglierà la soluzione col costo più basso.

    In che modo si possono applicare queste definizioni al gioco?

    Vediamole una alla volta (porre per ognuna di essi la domanda ai bambini, di fianco è riportata la risposta):

    • qual è il problema espresso in questo esercizio? Raggiungere la pietra viola nel minor tempo possibile;
    • cosa sono gli stati? Sono le varie caselle della griglia, che possono essere indicate con la lettera e il numero corrispondente (ad esempio A1, B5…);
    • quali sono le azioni? Spostarsi (sempre di una posizione) in avanti, indietro, a sinistra, a destra, in diagonale, raccogliere un oggetto;
    • qual è l’obiettivo? Raccogliere la pietra viola;
    • qual è lo stato iniziale? La casella A0;
    • qual è lo stato obiettivo? La casella L6;
    • qual è la funzione costo? E’ la somma dei costi (in termini di tempo) per ogni percorso che si sceglie sulla mappa.

    SOLUZIONE

    Dopo aver concluso la spiegazione, verificare quali studenti abbiano individuato la soluzione corretta per l’attività. La soluzione a costo minimo consiste nel passare dalla pietra rossa e da quella gialla, quindi nel seguire il percorso: A0-B1-B2-C3-D3-E3-F4-G5-H6-I6-L6.

    La funzione costo di questa soluzione è data dalla somma: 1+1+1+1+2+1+1+2+1+2=13 (l’ultimo costo è pari a 2 perchè bisogna comunque raccogliere la pietra viola).

    MATERIALE AGGIUNTIVO SCARICABILE

    Card image cap
    Materiale aggiuntivo 1

    Scheda della mappa per il robot.