Sztuczna inteligencja (SI) to zdolność maszyn do wykazywania ludzkich umiejętności, takich jak rozumowanie, uczenie się, planowanie i kreatywność.
Sztuczna inteligencja umożliwia systemom technicznym postrzeganie ich otoczenia, radzenie sobie z tym, co postrzegają i rozwiązywanie problemów, działając w kierunku osiągnięcia określonego celu.
Systemy SI są w stanie do pewnego stopnia dostosować swoje zachowanie, analizując skutki wcześniejszych działań i działając autonomicznie.
Golem to istota utworzona z gliny na kształt człowieka, ale pozbawiona duszy. Tworzenie golema przez ludzi wiąże się z powtarzaniem procesu bożej kreacji.
Najbardziej znana legenda na temat golema mówi o stworzeniu go przez rabina Jehudę Löw ben Bezalela z Pragi (urodzonego w Poznaniu), znanego również jako Maharal.
W drugiej połowie XVI w. nasiliły się ataki na praskich Żydów, których posądzano o bezbożne praktyki i okultyzm. Aby obronić siebie i innych, rabin Maharal ulepił z gliny wielką postać człowieka, którą następnie ożywił za pomocą tajemnych rytuałów i modłów, na koniec wypisując na czole lub wkładając do ust Golema pergamin ze słowem Emet (w języku hebrajskim słowo to, oznacza „prawdę”). Wymazanie pierwszej litery powodowało powstanie słowa met (w języku hebrajskim oznacza „śmierć”) co odbierało życie istocie.
Według jednej z wersji legendy, po obronie Żydów przed atakami ludności, Golem wpada w szał i zaczyna mordować tych, którym służył; Maharal wyjmuje mu pergamin z ust i wykreślając pierwszą literę ze słowa Emet sprawia, że istota staje się na powrót glinianym posągiem. W innej wersji legendy, po wykonaniu pracy Maharal unieruchamia Golema zabierając mu pergamin ze słowem, a następnie ukrywa na strychu praskiej synagogi.
Szczątki Golema znajdują się jakoby na strychu synagogi w Pradze (Egon Erwin Kisch, Jarmark sensacji).
Do mitu tego nawiązuje m. in. książka "Golem XIV", która jest zbiorem opowiadań napisanym przez Stanisława Lema.
pierwsze modele sztucznych neuronów
pierwsze sieci neuronowe
programy do gry w warcaby
test Turinga
warsztaty w Dartmouth
matematyczne dowodzenie twierdzeń
systemy logicznego wnioskowania
Lisp
mikroświaty - świat blokowy
Perceptron
problemy skalowania i "eksplozja kombiantoryczna"
ograniczenia Perceptronu
bardziej realne podejście do SI
opracowanie praktycznie użytecznych systemów eksperckich
modele koneksjonistyczne
uczenie się na przykładach
indukcja zamiast dedukcji
praca z danymi niepewnymi
Deep Blue
Internet i dostępność dużej ilości danych
sukcesy komercyjne i medialne SI
dostępność olbrzymiej mocy obliczeniowej
wielowarstwowe i złożone sieci neuronowe
spektakularne sukcesy SI
AlphaZero
ChatGPT
Mamy daną szachownicę kwadratową, której rozmiar dowolnie ustalamy. Na jednym z pól stawiamy skoczka szachowego. Badamy, czy skoczek może przejść całą szachownicę, odwiedzając tylko jeden raz każde z pól. Chcemy skonstruować algorytm, który w przypadku, gdy jest to możliwe, poda nam rozkład ruchów skoczka, a w przypadku, gdy jest to niemożliwe, wypisze odpowiedni komunikat.
Skoczek wykonuje ruchy, które składają się z sumy przesunięć: dwa pola po prostej, na której jest umieszczony oraz jedno pole w kierunku prostopadłym do prostej, na której nastąpiło pierwsze z przesunięć. A zatem skoczek ma maksymalnie osiem możliwości wykonania ruchu.
Do rozwiązania tego problemu możemy wykorzystać rekurencyjny algorytm z powrotami. Idea algorytmu jest taka, że próbujemy kolejno wszystkich możliwych ruchów, albo do uzyskania rozwiązania, albo do momentu, w którym nie możemy wykonać żadnego dozwolonego ruchu. W tej pierwszej sytuacji algorytm kończy działanie i zwraca wynik, w tej drugiej - wycofuje się z ostatniego błędnego ruchu i kontynuuje poszukiwania. Jeśli pomimo wyczerpania zbioru wszystkich możliwych ruchów nie znaleźliśmy rozwiązania, oznacza to, że ono nie istnieje. Działanie algorytmu odpowiada przeszukiwaniu drzewa w głąb. Rozmiar drzewa szybko rośnie wraz ze wzrostem rozmiaru planszy i bardzo szybko okazuje się, że na otrzymanie rozwiązania trzeba czekać zbyt długo.
Skrypt w języku Python demonstrujący działanie algorytmu.
Okazuje się, że możemy znacząco poprawić możliwości algorytmu wykorzystując heurystykę Warnsdorffa, która każdemu polu szachownicy przypisuje wartość równą liczbie ruchów, jakie z tego pola może wykonać skoczek. Zliczając liczbę możliwości ruchu dla każdego "sąsiedniego" pola, bierzemy pod uwagę to, że część "sąsiadujących" z nimi pól mogła zostać już odwiedzona.
Algorytm modyfikujemy w ten sposób, że wykonując każdy ruch skoczka, najpierw odwiedzamy te "sąsiednie" (w sensie praw rządzących ruchem skoczka) pola, z których jest najmniej możliwości ruchu (wartość heurystyki dla tego pola jest najmniejsza). W ten sposób znacząco ograniczamy przestrzeń poszukiwań i algorytm działa dużo szybciej, nawet dla dużo większych rozmiarów planszy.
Skrypt w języku Python prezentujący działanie algorytmu.
Sztuczne sieci neuronowe starają się naśladować działanie ludzkiego mózgu. Pojedynczy sztuczny neuron składa się z wejść, którym przypisane są wagi oraz funkcji aktywacji, która odpowiada za reakcję neuronu na sygnały wejściowe.
Pojedynczy neuron, choć użyteczny, nie ma zbyt dużych możliwości obliczeniowych, dlatego takie sztuczne neurony łączy się w wielowarstwowe sieci, które mogą mieć naprawdę duże rozmiary. Sieci takie uczy się za pomocą różnych algorytmów, np. algorytmu wstecznej propagacji błędu.
Sieci neuronowe można wykorzystywać do wielu zadań. Jednym z nich jest rozpoznawanie obrazów.
Kod w języku Python prezentujący działanie sieci neuronowej rozpoznającej obrazy.
Atlas to dwunożny humanoidalny robot opracowany głównie przez amerykańską firmę robotyczną Boston Dynamics przy finansowaniu i nadzorze amerykańskiej Agencji Zaawansowanych Projektów Badawczych w Obronie (DARPA). Robot został początkowo zaprojektowany do różnych zadań poszukiwawczych i ratowniczych i po raz pierwszy został zaprezentowany publicznie 11 lipca 2013 r. Projekt jest cały czas rozwijany.