En nasza dostawa Wcześniej opowiadaliśmy, jak Simon, teoretyk politologii, wraz z fizykiem o nazwisku Newell i aktuariuszem, który został programistą o imieniu Shaw, rozpoczęli budowę pierwszego programu sztucznej inteligencji znanego jako Logical Theorist. To wymagało wynalazku pierwszego specyficznego języka programowania dla sztucznej inteligencji
Opuściliśmy tę historię z trio wraz ze współpracownikami i rodziną, symulując zachowanie różnych części programu za pomocą ludzi i odręcznych kart.
Po kilku takich symulacjach program został zaimplementowany na prawdziwym komputerze. Próba wypadła pomyślnie jako oprogramowaniu udało się udowodnić trzydzieści osiem twierdzeń jednego z rozdziałów książki Principia Matemática Russella i Whiteheada. Nawet w jednym przypadku (i nie mając do tego konkretnych instrukcji) znalazł sposób na przetestowanie go o wiele bardziej „elegancko” niż autorzy książki.
Pierwszy język programowania dla sztucznej inteligencji
Fakt, że Simon i jego zespół tak długo pisali swój program, wynika z tego, że potrzebowali konkretnego języka programowania, który miał wystarczającą moc i elastyczność do swoich celów. Język ten nazwano IPL (Information Processing Language) i jako pierwszy wprowadził do programowania technikę przetwarzania list.
Tym różnił się IPL od ówczesnych języków wysokiego poziomu nie wymagał wcześniejszego definiowania symboli i miał możliwość kojarzenia i modyfikowania struktur symboli.
Tak zwana technika przetwarzania list składa się z przechowywanie każdej informacji wraz ze wskazówkami, jak znaleźć powiązane z nią informacje. Zmieniając wskazania, można budować nowe skojarzenia.
„Ogólne narzędzie do rozwiązywania problemów”
Aby stworzyć swoje kolejne oprogramowanie, Simon i Newell postanowili spróbować innego podejścia. W tamtym czasie krążyło badanie psychologiczne, w którym uczestnicy proszeni byli o wyjaśnienie na głos, w jaki sposób rozwiązali problemy logiczne. Duet odkrył, że te formularze były zupełnie inne niż te używane przez ich oprogramowanie, więc postanowili przeprowadzić własną wersję dochodzenia i tworzyć oprogramowanie w oparciu o metody opisane przez uczestników. Program (znany jako GPS od General Problem Solver) został zakodowany w oparciu o organizację informacji i heurystykę niezależną od zadań, które mieli wykonać.
Ta nowa metodologia otrzymała nazwę „Means-to-Ends Analysis” i składa się z porównaj obecną sytuację z idealną i podejmuj działania, które zmniejszają różnicę między nimi, a następnie ponownie oceniaj, aż różnica spadnie do zera. Ta metodologia pozwala programowi reagować na zmiany zmiennych problemu. Programista wskazuje problem oraz tzw. tabelę różnic, w której wskazane są możliwe kierunki działania iw jakich okolicznościach.
GPS był w stanie rozbić problem na podproblemy i zastosować podejście wsteczne, to znaczy, że jeśli jedna ścieżka nie działała, wracał i podążał inną.
W ciągu 11 lat funkcjonowania GPS rozwiązywał zagadki, przeprowadzał integrację symboliczną i łamał tajne kody.
Podczas gdy Simon i Newell bawili się tym, student Robert K. Lindsay opracował program znany jako SAD SAM. delikatny był w stanie wydobyć informacje ze zdań typu „Juan jest synem Pepy” i „Juan jest bratem Alberto” i zbudować drzewo genealogiczneuświadamiając, że Alberto jest także synem Pepy (nie mam pojęcia, jak poradziłby sobie z przybranymi rodzinami w dzisiejszym świecie.
Oczywiście ówczesny gigant branży komputerowej, IBM, nie mógł pozostać z dala od badań nad sztuczną inteligencją, dziedziną, która już w połowie zimnej wojny ujawniała ogromny potencjał zastosowań wojskowych i w następnym artykule opowie o swoim pierwszym wkładzie w tej dziedzinie.