Spójrzmy w przyszłość za 30 lat. Bądźmy optymistami i załóżmy, że obszary związane z uczeniem maszynowym rozwijają się tak szybko, jak to, co widzieliśmy w ciągu ostatnich 10 lat. Byłoby świetnie, ale jaka byłaby rola tradycyjnej algorytmiki w takiej przyszłości?
Tutaj przez „tradycyjną algorytmię” odnoszę się do zwykłego procesu, który realizujemy w TCS: sformalizować dobrze zdefiniowany problem obliczeniowy , zaprojektować algorytmy do rozwiązania problemu i udowodnić formalne gwarancje wydajności .
Teraz jakie są obszary zastosowań, w których musimy użyć tradycyjnego projektowania i analizy algorytmów również w przyszłości, i to jest bardzo mało prawdopodobne, że wszelkie zaliczki uczenia maszynowego pozwoli tradycyjne algorytmika przeważnie bez znaczenia?
Na początku może się to wydawać głupim pytaniem: Oczywiście będziemy musieli być w stanie sortować, wyszukiwać, indeksować itp. Również w przyszłości! Oczywiście będziemy musieli być w stanie efektywnie przeprowadzać transformaty Fouriera, mnożyć duże macierze, znajdować najkrótsze ścieżki, rozwiązywać problemy optymalizacji liniowej!
Ale potem znowu, po uruchomieniu szuka głębiej w aplikacjach, w których tradycyjnie korzystają z algorytmów, które projektujemy, to nie jest wcale oczywiste, że tradycyjna konstrukcja i analiza algorytm jest właściwą odpowiedzią na takie problemy: W zastosowaniach związanych z wyszukiwania , zazwyczaj jesteśmy zainteresowani znalezieniem czegoś, co jest ściśle dopasowane do człowieka w jakimś niejasnym, niezdefiniowanym sensie (np. podobieństwo semantyczne), a nie czegoś, co jest optymalne w pewnym sensie matematycznym (np. minimalna odległość edycji). W aplikacjach związanych z planowaniem trasy, zwykle jesteśmy zainteresowani znalezieniem tras, które są dobre na podstawie przykładów (np. inni wolą to), a nie tras, które są optymalne w pewnym sensie matematycznym (np. najkrótsza odległość lub najtańsza cena). A kiedy na obrazie pojawi się jakiś niejasny, źle zdefiniowany komponent ludzki, być może lepiej będzie, jeśli będziemy próbować nauczyć komputer, jak tworzyć dobre odpowiedzi na podstawie przykładów, zamiast pozwolić badaczowi TCS na pojawienie się z formalnym problemem obliczeniowym, który możemy rozwiązać za pomocą tradycyjnego projektowania i analizy algorytmów.
Więc jakie są obszary zastosowań (najlepiej rzeczywiste i bezpośrednie zastosowania przemysłowe), w których absolutnie jasne jest, że to, co robiliśmy w dziedzinie algorytmiki w przeszłości, będzie również właściwą (i jedyną możliwą) drogą do postępu w przyszłość?
Algorytmy stosowane jako podprogramy w technikach uczenia maszynowego wyglądają jak oczywisty kandydat na przyszłość, ale w dużej mierze zależy to od konkretnej techniki uczenia maszynowego, z której korzystamy, i jak widzieliśmy w ciągu ostatnich dziesięciu lat, może to się szybko zmienić .