Projekt o którym mowa został stworzony przez zespół badaczy z MIT w ramach modelu eksperymentalnego. Jego twórcy chcieli sprawdzić stworzonego przez siebie algorytmu maszynowego uczenia się, którego zadaniem jest zaprojektowanie dwuwymiarowego, wirtualnego robota, który najlepiej poradzi sobie z określonym przez badaczy zadaniem.
Zadania te mają różny poziom skomplikowania: projekt jak najlepszego robota, który chodzi, albo który się wspina, albo który w optymalny sposób jest w stanie transportować wirtualny ładunek. Ogólnie rzecz biorąc: podsuwamy algorytmowi konkretny cel projektu i obserwujemy, jak sobie z nim poradzi.
Sztuczna inteligencja kontra ewolucja
Algorytm następnie bierze się do projektowania. Do jego dyspozycji oddane są klocki o różnych właściwościach – niektóre pozwalają na ruch poziomy, niektóre na ruch pionowy, niektóre zapewniają amortyzację podczas tych ruchów, a jeszcze inne są na tyle sztywne, że można zbudować z nich szkielet cięższego robota.
Z tych elementów następnie tworzona jest pierwsza generacja robotów, z których każdy działa odrobinę inaczej. Algorytm analizuje wydajność swoich konstrukcji, zbiera wspólne cechy tych najlepszych i na tej podstawie tworzy kolejną generację, która znowu różni się między sobą małymi detalami. I tak do skutku, czyli do osiągnięcia najlepszego projektu robota.
Czytaj również: Stworzone przez sztuczną inteligencję układy znacząco przewyższają ludzkie
Jeden z twórców algorytmu, Jagdeep Bhatia poproszony o wskazanie największej zalety tego ewolucyjnego algorytmu stwierdził, że jest on w stanie tworzyć projekty, na które nie wpadłby żaden człowiek. Jego wadą zaś jest to, że nadal nie radzi sobie najlepiej z bardziej skomplikowanymi zadaniami – np. projektowane przez niego roboty, których głównym zadaniem było łapanie obiektów w locie, nie radziły sobie z tym zbyt dobrze. Zdaniem twórców dzieje się tak dlatego, że obecna wersja algorytmu nadal tworzy zbyt mało zróżnicowane generacje robotów, przez co często pomija te najlepsze (czytaj: działające) rozwiązania.
Być może kolejne wersje algorytmu będą radzić sobie w tej kwestii o wiele lepiej. Powinny – tworzenie ogromnej liczby rozwiązań i analiza każdego z nich osobno w celu wyłonienia zwycięzcy to zadanie, w których algorytmy zazwyczaj radzą sobie o wiele lepiej od ludzi. Chociażby dlatego, że żaden człowiek nie jest w stanie analizować danych z taką prędkością jak algorytm. Pozostaje jeszcze kwestia dopracowania samego zmysłu projektowania.
Gdybyście zresztą chcieli sprawdzić sami, jak to działa, cały projekt został udostępniony na licencji open-source i razem z całą dokumentacją udostępniony na tej stronie. Najbardziej wytrwałym życzę miłej zabawy.