To może być podstawowe pytanie, ale czytałem i próbowałem zrozumieć artykuły na takie tematy, jak obliczenia równowagi Nasha i liniowe testy degeneracji, i nie byłem pewien, jak liczby rzeczywiste są określone jako dane wejściowe. Na przykład, kiedy stwierdzono, że LDT ma pewne dolne granice wielomianu, w jaki sposób określa się liczby rzeczywiste, gdy są one traktowane jako dane wejściowe?
cc.complexity-theory
computability
na.numerical-analysis
computing-over-reals
computable-analysis
Philip White
źródło
źródło
Odpowiedzi:
Nie zgadzam się z Twoją zaakceptowaną odpowiedzią Kaveha. W przypadku programowania liniowego i równowagi Nasha zmiennoprzecinkowa może być dopuszczalna. Ale liczby zmiennoprzecinkowe i geometria obliczeniowa bardzo źle się mieszają: błąd zaokrąglenia unieważnia kombinatoryjne założenia algorytmów, często powodując ich awarię. Mówiąc dokładniej, wiele algorytmów obliczeniowej geometrii zależy od prymitywnych testów, które sprawdzają, czy dana wartość jest dodatnia, ujemna lub zerowa. Jeśli ta wartość jest bardzo bliska zeru, a zaokrąglenie zmiennoprzecinkowe powoduje, że ma zły znak, mogą się zdarzyć złe rzeczy.
Zamiast tego przyjmuje się, że dane wejściowe często mają współrzędne całkowite, a wyniki pośrednie są często przedstawiane dokładnie jako liczby wymierne z wystarczająco dużą dokładnością, aby uniknąć przepełnienia, lub jako liczby algebraiczne. Przybliżenia zmiennoprzecinkowe do tych liczb można wykorzystać do przyspieszenia obliczeń, ale tylko w sytuacjach, w których można zagwarantować, że liczby będą wystarczająco daleko od zera, aby testy znakowe dały prawidłowe odpowiedzi.
W większości prac dotyczących algorytmów teoretycznych w geometrii obliczeniowej problem ten jest pomijany przy założeniu, że dane wejściowe są dokładnymi liczbami rzeczywistymi i że prymitywy są dokładnymi testami znaków pierwiastków wielomianów niskiego stopnia w wartościach wejściowych. Ale jeśli wdrażasz algorytmy geometryczne, to wszystko staje się bardzo ważne.
źródło
Możesz także rzucić okiem na wykład Andreja Bauera na temat roli domeny interwałowej we współczesnej rzeczywistej arytmetyki rzeczywistej , który analizuje niektóre z różnych podejść do określania obliczeń na liczbach rzeczywistych zarówno w teorii, jak i praktyce.
źródło
To nie jest bezpośrednia odpowiedź na twoje pytanie, a raczej odpowiedź na Rafaela . Ostatnio sporo pracy określono przy użyciu obliczeń rzeczywistych. Oto kilka artykułów na ten temat.
Koindukcja dla dokładnego obliczania liczb rzeczywistych , Ulrich Berger i Tie Hou: TEORIA SYSTEMÓW OBLICZENIOWYCH Tom 43, Numery 3-4, 394-409, DOI: 10.1007 / s00224-007-9017-6
Koindukcyjne formalne rozumowanie w dokładnej prawdziwej arytmetyki , Milad Niqui, Logical Methods in Computer Science, 4 (3: 6): 1–40, 2008.
Calculus in Coinductive Form autorstwa Dusko Pavlovica i Martina Escardo, LICS 1998.
Nie obejmują one pełnego spektrum obliczeń liczb rzeczywistych, ale poczyniono postępy w rozwiązywaniu różnych problemów.
źródło
Blum, Cucker, Shub i Smale rozważają złożoność obliczeniową obliczeń w stosunku do liczb rzeczywistych . Oto częściowy opis książki:
Recenzję tej książki możesz znaleźć w ACM SIGACT News .
źródło
Edytowane / poprawione na podstawie komentarzy
Kiedy autorzy mówią o wprowadzaniu liczb rzeczywistych w programowaniu liniowym, obliczeniach równowagi Nasha, ... w większości artykułów (prace, które nie dotyczą obliczeń / złożoności w stosunku do liczb rzeczywistych), tak naprawdę nie oznaczają liczb rzeczywistych. Są to liczby wymierne i liczby, które powstają z nich w wyniku ich manipulacji (liczby algebraiczne). Możesz więc myśleć o nich jako o skończonych ciągach.
Z drugiej strony, jeśli artykuł dotyczy obliczalności i złożoności w analizie , to nie używają zwykłego modelu obliczeń, a istnieją różne niekompatybilne modele obliczeń / złożoności w stosunku do liczb rzeczywistych.
Jeśli artykuł nie określa modelu obliczeń na liczbach rzeczywistych, można bezpiecznie założyć, że jest to pierwszy przypadek, tzn. Są to tylko liczby wymierne.
Geometria obliczeniowa jest inna. W większości artykułów w CG, jeśli autorzy nie określają, jaki jest model, który w odniesieniu do niego omawia poprawność i złożoność algorytmu, można założyć, że jest to model BSS (inaczej RAM-real).
Model nie jest realistyczny i dlatego wdrożenie nie jest proste. (Jest to jeden z powodów, dla których niektórzy ludzie w CCA preferują modele teoretyczne Ko-Friedmana / TTE / Domain , ale problem z tymi modelami polega na tym, że nie są one tak szybkie jak obliczenia zmiennoprzecinkowe w praktyce.) Poprawność i złożoność algorytm w modelu BSS niekoniecznie przechodzi na poprawność zaimplementowanego algorytmu.
Książka Weihraucha zawiera porównanie różnych modeli (rozdział 9.8). To tylko trzy strony i warto je przeczytać.
(Istnieje również trzeci sposób, który może być bardziej odpowiedni dla CG, możesz rzucić okiem na ten artykuł:
gdzie EGC to dokładne obliczenie geometryczne ).
źródło
Nie są i ogólnie nie mogą. Z naszymi modelami obliczeń możemy liczyć tylko policzalną liczbę danych wejściowych (oraz danych wyjściowych i funkcji). W szczególności wszelkie dane wejściowe muszą być skończone, ale nie wszystkie liczby rzeczywiste mają skończone reprezentacje.
Sądzę, że można założyć jakąś wyrocznię, która na żądanie daje następną cyfrę określonej liczby rzeczywistej (coś jak strumień). W przeciwnym razie będziesz musiał żyć z (dowolnie precyzyjnymi) przybliżeniami.
źródło