1)Test Turinga to sposób określania zdolności maszyny zaproponowany w 1950 roku przez Alana Turinga. Test wygląda następująco: sędzia - człowiek - prowadzi rozmowę w języku naturalnym z pozostałymi stronami.
Jeśli sędzia nie jest w stanie wiarygodnie określić, czy któraś ze stron jest maszyną czy człowiekiem, wtedy mówi się, że maszyna przeszła test.
Zakłada się, że zarówno człowiek jak maszyna próbują przejść test jako człowiek. Tubing zaproponował ten test w celu zamiany pełnego emocji i w jego pojęciu bezsensownego pytania "Czy maszyny myślą?" na pytanie lepiej zdefiniowane. Spory o to, czy test Turinga definiuje inteligencję maszynową (lub "myślenie maszynowe") we właściwy sposób dotyczyły głównie trzech punktów:
• Maszyna, która przejdzie test Turinga może być w stanie symulować ludzkie zachowanie konwersacyjne, lecz może to być znacznie mniej niż prawdziwa inteligencja.
Maszyna może zwyczajnie używać sprytnie wymyślonych reguł.
• Maszyna może być inteligentna bez ludzkiej
umiejętności gawędzenia.
• wielu ludzi mogłoby nie być w stanie zaliczyć takiego testu. Jak dotąd, żaden komputer nie zaliczył testu Turinga. Proste programy konwersacyjne takie jak ELIZA (program symulujący psychoanalityka, napisany w 1966 r.
przez Josepha Weizenbauma. Program analizuje wzorce w zdaniach, które otrzymuje, a następnie buduje pytania przez przestawienie słów oraz podmianę słów kluczowych.
Mimo prostoty, program jest tak przekonujący, że powstało wiele anegdot o ludziach silnie angażujących się emocjonalnie w trakcie „rozmów” z ELIZĄ.)były w stanie sprawić, że ludzie wierzyli, że rozmawiają z żywym człowiekiem.
2)Rozstrzygalność (decydowalność) problemu matematycznego to następująca jego właściwość: zawsze można określić czy dana odpowiedź na pytanie stawiane przez problem jest poprawna. Na przykład pytanie czy w dziedzinie liczb rzeczywistych dwa wyrażenia złożone z liczb, zmiennych i plusów mają równą wartość jest
rozstrzygalne: np. x + 2 + 3 i 5 + x są równoważne, natomiast 4 + x i 4 + y już nie. Problem może być nierozstrzygalny, jeśli jego rozstrzygalność
prowadziłaby do powstania paradoksów. Przykłady z dziedziny informatyki Nierozstrzygalność problemu stopu Wyobraźmy sobie, że istnieje algorytm pobierający funkcję i argument, i rozstrzygający czy dany algorytm się zatrzyma dla danego argumentu. Zapytamy go więc czy zatrzyma się f dla
argumentu f:
def f(g)
{
if (zatrzyma_się(g,g))
nieskończona_pętla()
else
return
}
Jeśli stwierdzimy, że się zatrzyma to się nie zatrzyma, jeśli natomiast stwierdzimy, że się nie
zatrzyma, to się zatrzyma.
3)Gry o pełnej informacji. Strategie. Możliwości komputera.
Gra to dowolna sytuacja konfliktowa, gracz natomiast to dowolny jej uczestnik. Graczem może być na przykład człowiek, przedsiębiorstwo lub zwierzę. Każda strona wybiera pewną strategię postępowania, po czym zależnie od strategii własnej oraz innych uczestników każdy gracz otrzymuje wypłatę w jednostkach użyteczności.
Zależnie od gry jednostki te mogą reprezentować pieniądze, wzrost szansy na przekazanie własnych genów czy też cokolwiek innego, z czystą satysfakcją
włącznie. Wynikowi gry zwykle przyporządkowuje się pewną
wartość liczbową. Teoria gier bada jakie strategie powinni wybrać gracze żeby osiągnąć najlepsze wyniki. W
grach z pełną informacją gracz zna wszystkie strategie i cel swojego przeciwnika, zaś w grach z informacją niekompletną gracz nie wie jaki cel przyświeca przeciwnikowi (z jakim typem przeciwnika ma do
czynienia).
4)Algorytm genetyczny to rodzaj algorytmu przeszukującego przestrzeń alternatywnych rozwiązań problemu w celu wyszukania rozwiązań najlepszych.
Sposób działania algorytmów genetycznych nieprzypadkowo przypomina zjawisko ewolucji biologicznej, ponieważ ich twórca John Henry Holland właśnie z biologii czerpał
inspiracje do swoich prac. Problem definiuje
środowisko, w którym żyje pewna populacja osobników.
Każdy z osobników ma przypisany pewien zbiór informacji stanowiących jego genotyp, a będących podstawą do utworzenia fenotypu. Fenotyp to zbiór cech
podlegających ocenie funkcji przystosowania modelującej środowisko. Innymi słowy - genotyp opisuje proponowane rozwiązanie problemu, a funkcja przystosowania ocenia, jak dobre jest to rozwiązanie. Genotyp składa się z chromosomów, gdzie zakodowany jest fenotyp i
ewentualnie pewne informacje pomocnicze dla algorytmu genetycznego. Chromosom składa się z genów. Najczęściej działanie algorytmu przebiega następująco:
1. Losowana jest pewna populacja początkowa.
2. Populacja poddawana jest ocenie (selekcja).
Najlepiej przystosowane osobniki biorą udział w procesie reprodukcji.
3. Genotypy najlepszych osobników są ze sobą kojarzone poprzez złączanie genotypów rodziców (krzyżowanie).
4. Przeprowadzana jest mutacja, czyli wprowadzenie drobnych losowych zmian.
5. Rodzi się drugie pokolenie i algorytm powraca do kroku drugiego, jeżeli nie znaleziono dostatecznie dobrego rozwiązania. W przeciwnym wypadku uzyskujemy wynik.
5)Prolog (od francuskiego Programmation en Logique) to język programowania logicznego - program w Prologu to opis reguły wnioskowania oraz celu do którego
zmierzamy, a rola komputera polega na odpowiednim zastosowaniu reguł aby znaleźć rozwiązanie. Prolog został stworzony w 1971 roku przez Alaina Colmeraurera i Phillipe'a Roussela. Używany w wielu programach z zakresu sztucznej inteligencji. Prolog opiera się o rachunek predykatowy pierwszego rzędu, jednak ogranicza się tylko do klauzul Horna(Klauzula Horna (ang. Horn clause) to klauzula, w której co najwyżej jeden element jest niezanegowany.). Programowanie w Prologu bardzo różni się od programowania w językach algorytmicznych.
W Prologu podaje się bazę faktów i reguł. Potem można wykonywać zapytania na tej bazie. Podstawową jednostką w Prologu jest predykat. Predykat składa się z nagłówka i argumentów, na przykład: ojciec(tomasz, agata), gdzie ojciec to nagłówek a tomasz i agata to argumenty.
Predykat może zostać użyty do wyrażenia pewnych faktów o świecie, które są znane dla programu. W tym przypadku programista musi nadać im znaczenie. Jedną z
interpretacji zdania ojciec(tomasz, agata) jest "tomasz to ojciec agaty". Jednak równie dobrze mogło by to znaczyć "ojcem tomasza jest agata". Prolog nie ma
pojęcia, co oznaczają te stwierdzenia. Wszystko co robi to manipulacja symbolami w oparciu o reguły. Dlatego można wybrać dowolny sposób zapisu tego, że "tomasz to ojciec agaty", pod warunkiem konsekwentnego przestrzegania kolejności argumentów w całym programie.
Pewne predykaty mogą oprócz wyrażania faktów mieć skutki uboczne, jak na przykład wbudowany predykat write('Cześć') który wypisuje na ekranie 'Cześć'.
Reguły
Baza danych Prologu może też zawierać reguły. Przykład reguły to:
jest(światło) :- włączony(przycisk).
Zapis :- oznacza "wtedy, gdy" lub "jeśli". Ta reguła oznacza, że zdanie jest(światło) jest prawdziwe wtedy, gdy prawdziwe jest zdanie włączony(przycisk). Reguły mogą używać
zmiennych. Zmienne zapisuje się zaczynając od wielkiej litery, dla odróżnienia od stałych, zaczynających się z małej. Na przykład:
ojciec(X, Y) :- rodzic(X, Y), jest_rodzaju_męskiego(Y).
To oznacza: "dla każdych X i Y, jeśli rodzic(X,Y) i jest_rodzaju_męskiego(Y) to ojciec(X, Y). Przesłanka i wniosek są zapisane w odwrotnej kolejności niż zwykle w logice. Co więcej, reguły muszą mieć predykat jako wniosek. Można umieścić wiele predykatów we wniosku, połączonych koniunkcją, na przykład:
a,b,c :- d.
ale oznacza to tyle samo, co trzy oddzielne reguły: a :- d.
b :- d.
c :- d.
Nie można napisać reguły "a;b :- c", czyli "jeśli c to (a lub b)". Wynika to z ograniczenia zapisudo klauzul Horna.
6)System ekspercki (funkcjonuje też nazwa system ekspertowy) jest to program, lub zestaw programów komputerowych wspomagający korzystanie z wiedzy i ułatwiający podejmowanie decyzji. Systemy ekspertowe mogą wspomagać bądź zastępować ludzkich ekspertów w
danej dziedzinie, mogą dostarczać rad, zaleceń i diagnoz dotyczących problemów tej dziedziny.
Przykładowe obszary zastosowań systemów ekspertowych
• diagnozowanie chorób
• poszukiwanie złóż minerałów
• identyfikacja struktur molekularnych
• udzielanie porad prawniczych
• diagnoza problemu (np. nieprawidłowego działania urządzenia)
Znane systemy ekspertowe
• Dendral
• Prospector
• Mycin
[Edytuj]
Szkielety systemów ekspertowych
Klasycznym językiem używanym przy tworzeniu systemów ekspertowych jest Prolog. Obecnie zamiast tworzyć je od podstaw, używa się gotowych szkieletów systemów ekspertowych (ang. expert system shell). Szkielet taki to właściwie gotowy system ekspertowy pozbawiony wiedzy.