Multe dintre produsele pe care le utilizăm astăzi sunt fabricate în mare parte de roboți — brațe robotice cu multiple grade de libertate, așezate de-a lungul benzilor transportoare, mișcându-se într-un spectacol de mișcări perfect sincronizate. De obicei, aceste mișcări sunt programate manual, proces care poate dura de la sute la mii de ore. Echipa Google DeepMind a dezvoltat un sistem de inteligență artificială, denumit RoboBallet, care permite roboților de fabricație să decidă singuri ce acțiuni să întreprindă.
Planificarea acțiunilor pe care roboții de fabricație trebuie să le execute pentru a-și îndeplini eficient sarcinile este extrem de dificil de automatizat. Este necesar să se rezolve atât alocarea sarcinilor, cât și programarea acestora — deciderea care sarcină ar trebui efectuată de ce robot și în ce ordine. Este asemenea celebrei probleme a comis-voiajorului, dar mult mai complexă. Pe lângă acestea, se adaugă și planificarea mișcărilor; trebuie să te asiguri că toate aceste brațe robotice nu se vor ciocni între ele sau cu echipamentele din jur.
La final, te confrunți cu o mulțime de combinații posibile, unde trebuie să rezolvi nu una, ci trei probleme de calcul dificile în același timp. „Există unele unelte care permit automatizarea planificării mișcărilor, dar alocarea sarcinilor și programarea sunt de obicei realizate manual”, spune Matthew Lai, inginer cercetător la Google DeepMind. „Rezolvarea combinată a acestor trei probleme este ceea ce am abordat în lucrarea noastră”.
Echipa lui Lai a început prin a genera mostre simulate ale așa-numitelor celule de lucru, zone unde echipe de roboți își execută sarcinile asupra unui produs în curs de fabricație. Celulele de lucru conțineau un element numit piesă de lucru, un produs pe care roboții îl prelucrau, în acest caz ceva construit din bare de aluminiu plasate pe o masă. În jurul mesei, erau amplasate până la opt brațe robotice Franka Panda, fiecare cu șapte grade de libertate, care trebuiau să completeze până la 40 de sarcini pe o piesă de lucru. Fiecare sarcină necesita ca efectuatorul final al unui braț robotic să ajungă la 2,5 centimetri de locul potrivit pe o bară adecvată, abordând din unghiul corect, apoi să rămână acolo, imobil, pentru un moment. Pauza simulează efectuarea unei lucrări.
Pentru a complica situația, echipa a împrăștiat obstacole aleatorii prin fiecare celulă de lucru pe care roboții trebuiau să le evite. „Am ales să lucrăm cu până la opt roboți, deoarece acesta este aproximativ maximul rațional pentru a împacheta roboții îndeaproape fără ca aceștia să se blocheze reciproc tot timpul”, explică Lai. Forțarea roboților să efectueze 40 de sarcini pe o piesă de lucru a fost, de asemenea, considerată reprezentativă pentru cerințele din fabricile reale.
Un astfel de setup ar fi un coșmar de abordat chiar și cu cele mai puternice algoritmi de învățare prin întărire. Lai și colegii săi au găsit o soluție ocolind această problemă prin transformarea tuturor în grafuri.
În modelul lui Lai, grafurile erau compuse din noduri și muchii. Elemente precum roboții, sarcinile și obstacolele erau tratate ca noduri. Relațiile dintre acestea erau codificate fie ca muchii unidirecționale, fie bidirecționale. Muchiile unidirecționale conectau