Wolfram Alpha to dostępny pod adresem http://www.wolframalpha.com/ serwis internetowy, rodzaj wyszukiwarki, która zamiast podawać listę stron internetowych, na których może znajdować się odpowiedź, podaje tę odpowiedź w oparciu o treść tych stron. Jest więc to przedsięwzięcie mające ambicję być rodzajem sztucznej inteligencji, czymś w rodzaju prototypu komputera HAL 9000 z filmu Stanleya Kubricka, z którym można pogadać (póki co – tylko po angielsku) i który będzie podawał informacje oparte na faktach.
Można więc zadać pytania typu „How far is the Moon?” albo „What is Wolfram Alpha”. Pytania nie muszą być formułowane gramatycznie, wystarczy więc wpisać „copper”, by dowiedzieć się, jakie właściwości fizyczne i chemiczne ma miedź.
Jednym ze źródeł wiedzy systemu Wolfram Alpha jest komercyjny program Mathematica. W związku z tym system potrafi wykonywać bardzo złożone obliczenia. W szczególności możemy wykorzystać go do obliczenia dokładnej wartości cosinusa z jednostki urojonej. Po wpisaniu w okienku wyrażenia cos(i)
otrzymujemy szereg ciekawych informacji.
- Program informuje, że założył, iż
i
oznacza jednostkę urojoną; możemy jednak uzyskać informację o wyrażeniucos(i)
przy założeniu, żei
jest nazwą zmiennej. - Uzyskujemy informację, że dokładną wartością wyrażenia
cos(i)
jestcosh(1)
oraz wyjaśnienie, żecosh
oznacza funkcję „cosinus hiperboliczny”. - Jeśli najedziemy kursorem na wyjaśnienie
cosh is the hyperbolic cosine function
, program da nam do wyboru przejście do dokumentacji tej funkcji w języku Mathematica lub do jej opisu w serwisie Wolfram.com, lub dokumentacji w encyklopedii Mathworld. Szczególnie godna polecenia jest trzecia opcja, czyli encyklopedia MathWorld. - Otrzymujemy informację o przybliżonej wartości poszukiwanego wyrażenia, tu:
cos(i) ≈ 1.543 080 634 815 243 778 477 905 620 757 061 682 601 529 112 365 863 7...
Kilkoma kliknięciami możemy powiększyć dokładność obliczeń do kilku tysięcy (!) cyfr znaczących. - Dowiadujemy się, że
cos(i)
jest liczbą przestępną (ang. transcendental number). - Uzyskujemy informację o alternatywnej postaci:
cos(i) = (1+e2)/2e
. - Dowiadujemy się, jak wyglądają początkowe wyrazy rozkładu
cos(i)
na ułamek łańcuchowy (ang. contiued fraction). - Dowiadujemy się, w jaki sposób można wyrazić
cos(i)
jako sumę nieskończonej liczby składników (tzw. szereg liczbowy). Np.cos(i) = 1/2! + 1/4! + 1/6! + 1/8! +...
, gdzien!
oznacza iloczyn1*2*3*...*n
. - Uzyskujemy informację, jakie całki oznaczone mają wartość
cos(i)
.
Wolfram Alpha jest systemem bardzo intuicyjnym w obsłudze. Jedyne, czego potrzeba, by go efektywnie używać, to przyzwoita (lecz niekoniecznie doskonała) znajomość języka angielskiego. W szczególności program potrafi zauważyć literówki czy drobne błędy gramatyczne i w rozsądny sposób próbuje je automatycznie korygować.
Wolfram Alpha ma też oczywiście wady. Pełna jego wersja jest płatna :-(. Poza tym w systemie tym uzyskujemy odpowiedzi na pojedyncze pytania – nie możemy wykorzystywać go do tworzenia złożonych zapytań, w szczególności – nie możemy używać go jako języka skryptowego. Do tak skomplikowanych zadań służą specjalne programy: komercyjne, np. Mathematica lub Maple lub niekomercyjne, np. Maxima lub Octave.
Tak więc Wolfram Alpha góruje nad Octave tym, że potrafi wykonywać obliczenia symboliczne oraz numeryczne z praktycznie dowolną dokładnością, a do działania wystarcza mu smartfon i dostęp do internetu; z kolei program Octave góruje nad Wolfram Alpha tym, że potrafi wykonywać złożone programy oraz działać na dużych zbiorach danych wejściowych; ponadto nie jest ograniczony koniecznością posiadania dostępu do internetu.
Quiz
- Jak się nazywa silnik matematyczny, na którym opiera swoje działanie Wolfram Alpha?
- Czy Wolfram Alpha nadaje się wyłącznie do wykonywania obliczeń matematycznych?
- Czy Wolfram Alpha wymaga od użytkowników doskonałej znajomości języka angielskiego, czy też w pewnym zakresie toleruje niektóre błędy, np. literówki lub błędy gramatyczne?
- Czy Wolfram Alpha posiada wersję płatną?
- Jakie są najpoważniejsze ograniczenia systemu Wolfram Alpha?
Zadania
- Korzystając z systemu Wolfram Alpha podaj wartość:
- tysięcznej cyfry w rozwinięciu dziesiętnym liczby π;
- bieżącej odległości Księżyca od Ziemi;
- względnej częstotliwość występowania liter alfabetu w języku polskim;
- średnicy atomu krzemu, w nanometrach;
- Porównaj średnicę atomu krzemu z wielkością obecnego procesu technologicznego używanego w produkcji mikroprocesorów, 14 nm, oraz grubością bramki tranzystora w procesie 65 nm, 1.2 nm.
- Korzystając z systemu Wolfram Alpha:
- Uprość (ang. simplify) iloraz
(x3-1)/(x-1)
- Narysuj wykres funkcji
sin(x2)/x
- Narysuj wykres funkcji
sin(x2)/x
obejmujący przedział od 10 do 20 - Sprawdź, jak wyrazić
sin(2α)
jako funkcjęsin(α)
icos(α)
- Oblicz sumę (ang.: sum) odwrotności kolejnych liczb naturalnych od 1 do 10000 (czyli 1 + 1/2+ 1/3 + … + 1/10000)
- Oblicz sumę odwrotności kwadratów wszystkich liczb naturalnych, czyli 1 + 1/4 + 1/9 + 1/16 + 1/25 + …
- Rozłóż na czynniki pierwsze (ang. factorize) liczbę 1234567890
- Rozwiń (ang. expand) wyrażenie (x+1)(x-2)
- Znajdź postać iloczynową (ang. factor) wyrażenia 2 – 5 x – 3 x2
- Na ile sposobów można wybrać (ang. choose) 6 różnych liczb z 49?
- Ile jest permutacji zbioru 15-elementowego? Wskazówka: użyj słowa factorial lub symbolu !.
- Załóżmy optymistycznie (i nierealistycznie), że wyznaczenie kolejnej permutacji zbioru 15-elementowego zajmuje zaledwie 40 cykli zegara taktowanego z częstotliwością 4GHz. Ile co najmniej czasu zajmie obliczenie wszystkich permutacji zbioru 15-elementowego? 20-elementowego?
- Narysuj zbiór rozwiązań równania
x2 + y2 = 1
- Narysuj zbiór rozwiązań równania
x2 + y3 = 1
- Znajdź wszystkie asymptoty funkcji
f(x) = (x2 -1)/(x2-4)
- Znajdź wszystkie asymptoty funkcji
f(x) = (x2 -1)/(x-2)
- Rozwiąż (ang. solve) równanie
sin(x) = cos(x)
- Rozwiąż równanie
sin(x) = cos(2x)
- Rozwiąż równanie
cos(x) = x/π
- Narysuj wykres funkcji
i porównaj jakość wykresu z tym, jaki produkuje Octave (w Octave ten wykres generuje polecenie
sombrero
). Który program jest w tym przypadku bardziej elastyczny?
- Uprość (ang. simplify) iloraz