• Nie Znaleziono Wyników

Czy istnieje wzór na α ?

N/A
N/A
Protected

Academic year: 2021

Share "Czy istnieje wzór na α ?"

Copied!
38
0
0

Pełen tekst

(1)

Czy istnieje wzór na α ?

Andrzej Odrzywołek

Zakład Teorii Względności i Astrofizyki, Instytut Fizyki UJ

13 stycznia 2020

(2)

Czy istnieje wzór na a ?

Andrzej Odrzywołek

Zakład Teorii Względności i Astrofizyki, Instytut Fizyki UJ

13 stycznia 2020

(3)

Jak znaleźć „najprostszy” wzór na zadaną

zmiennoprzecinkową liczbę a ?

Andrzej Odrzywołek

Zakład Teorii Względności i Astrofizyki, Instytut Fizyki UJ

13 stycznia 2020

(4)

Czy można odtworzyć istniejący jawny wzór na pewną

elementarną liczbę a na podstawie jej rozwinięcia dziesiętnego?

Andrzej Odrzywołek

Zakład Teorii Względności i Astrofizyki, Instytut Fizyki UJ

13 stycznia 2020

(5)

Ćwiczenie z zakresu sztucznej inteligencji: zidentyfikuj/rozpoznaj liczby:

3.141592653589793

2.718281828459045

1.618033988749895

0.6931471805599453

1.444667861009766

(6)

Zadanie wydaje się łatwe...

3.141592653589793 ' π

2.718281828459045 ' e

1.618033988749895 ' φ = 1 +

5

2

0.693147180559945 ' ln 2 = arsinh (3/4)

1.444667861009766 ' e

1/e

(7)

A może jednak nie...

3.141592653589793 ' 3141592653589793

1000000000000000 ' 34

7

r 22

7 + 1

14 + 2

3

2.718281828459045 ' 2718281828459045

1000000000000000 '

s

1 +

 1

3 + 1

2



5

14

5

−1

1.618033988749895 ' 102334155

63245986 ' 1

2



16

10749957122 − 1 

0.693147180559945 ' 49180508

70952475 '

q

157 15

− 1

2 + q

32

1.444667861009766 ' 42680857

29543716 ' 2

78

7 2

× 3

7

4

×  7 + 3

5 

(8)

Kryteria: prostota, brzytwa Ockhama, estetyka . . . ?

34 7

r

22

7 + 1

14 + 2

3 VS π VS 3141592653589793

1000000000000000

r

1 +



1

3+ 1

2



5

14 5

!

−1

VS e VS 2718281828459045

1000000000000000 1

2

16

10749957122 − 1



VS φ VS 102334155

63245986

p

157

15 − 1 2 +

p

3

2

VS ln 2 VS 49180508

70952475

278

7 2 × 3

7

4 × 7 + 3√ 5



VS e1/e VS 42680857

29543716

Jakiego (numerycznego) kryterium należy użyć?

(9)

Kryteria: prostota, brzytwa Ockhama, estetyka . . . ?

34 7

r

22

7 + 1

14 + 2

3 VS π VS 3141592653589793

1000000000000000

r

1 +



1

3+ 1

2



5

14 5

!

−1

VS e VS 2718281828459045

1000000000000000 1

2

16

10749957122 − 1



VS φ VS 102334155

63245986

p

157

15 − 1 2 +

p

3

2

VS ln 2 VS 49180508

70952475

278

7 2 × 3

7

4 × 7 + 3√ 5



VS e1/e VS 42680857

29543716

Jakiego (numerycznego) kryterium należy użyć?

Złożoność Kołmogorowa ( Kolmogorov complexity, algorithmic complexity/entropy )

(10)

Test x ' 3.6457513110645905905016157536393

Zapotrzebowanie na software identyfikujące liczby zmiennoprzecinkowe istnieje, ale jego skuteczność bywa różna:

Wolfram Maple ISC RIES Symbolic

Alpha SymPy mrob.com/pub/ries/ Regression

16645819107519422

4565813103324017 1 +

7 −6 + 2x + x2 log2(x − 1) = log47 2 +

p

1 + 3

1 + sqrt(7) −1 − 71/2 x=sqrt(7)+1

2 + 5

11

3π sin2 639555710703844 (1+1*sqrt(7))/1 x = 2log47+ 1 1 + 7

7531744375π 6490204838

Na czym polega problem?

(11)

Def. zbioru (zespolonych) liczb jawnie elementarnych (tzw. exp − log)

Dowolne wyrażenie utworzone za pomocą:

1 liczb całkowitych: 0, 1, −1, 2, −2, . . .

2 liczb wymiernych: 12,13,32, . . .

3 stałych matematycznych: 0, 1, 2, e, π, i, φ

4 operacji dodawania/odejmowania, mnożenia/dzielenia, potęgowania/logarytmu (o dowolnej podstawie)

5 funkcji elementarnych:

trygonometrycznych: sin, cos, tg, . . . cyklometrycznych: arc sin, arc cos, . . .

hiperbolicznych i ich odwrotnych: sinh, cosh, tgh, . . .

, lg2, ln , exp

funkcji nie posiadających powszechnie akceptowanych nazw lub symboli:

1/x, x + 1, −x, x2, 2x,3x ≡ xxx. . .

6 składania funkcji Trzy uwagi:

większość powyższych stałych, funkcji i operacji jest redundantna, t.j. można je wyrazić przez inne, np:

i =√

−1, x × y = eln x+ln y, sinh x = ex− e−x

2 , x · y = logx((xy)x) . . . zbiory liczb naturalnych i wymiernych są (potencjalnie) nieskończone

operacje typu dodawania są formalnie n-argumentowe, np: x + y + 1 + π + . . .

(12)

Wybór operacji bazowych

Zbiór stałych, funkcji i operacji (klawiszy kalkulatora) musi być skończony, aby możliwe było generowanie wszystkich możliwych wyrażeń (sekwencji klawiszy).

liczba funkcji elementarnych to około 20

liczba operacji, które ograniczamy do dwuargumentowych, wynosi 6 standardowych stałych matematycznych jest 5 ( e+ 1 = 0 ) co zrobić z liczbami naturalnymi:

1 wybrać z pewnego przedziału, powiedzmy 1 . . . 9 (cyfry)

2 wybrać te „ważne”: liczby pierwsze, ciąg Fibonaciego, silnia (?)

3 użyć sukcesora n + 1 oraz odwrotności → ułamki łańcuchowe

4 nic nie robić (pojawią się automatycznie: 1 = ln e, 2 = 1 + 1, 3 = 2 + 1, 9 = 32, . . .)

1 do jakiej liczby powyższy zbiór ∼30 elementów można zredukować, bez utraty ogólności?

2 czy należy i warto to robić?

(13)

Minimalne zbiory funkcji i operatorów podstawowych

x

x · y x + y

x y

x - y

ln

-1 1 1

2 ⅈ

π

log x (y)

exp

Mathematica

up-bottom bottom-up

(14)

Prosty algorytm wypisujący wszystkie wzory

1 przypisujemy kolejne cyfry „klawiszom” kalkulatora RPN, np:

0 → LogLogLog 1 → ExpExpExp 2 → SubtractSubtractSubtract 3 → x=222

2 generujemy kolejne liczby systemu 4-owego, włącznie z zerami na początku, zaczynając od 1-cyfrowych, 2-cyfrowych itd. ( itoa )

3 wygenerowany string (np: ”00000301230123032103”) jest sprawdzany syntaktycznie

4 jeżeli jest poprawny przesyłamy go do maszyny stosowej wykonującej kod

5 wynik jest porównywany z szukaną liczbą

6 jeżeli błąd spełnia pewne ustalone kryteria wynik jest wypisywany

Quasi-zbieżny ciąg kolejnych przybliżeń

Wykresy na kolejnym slajdzie pokazują charakter zbieżności opisanej powyżej procedury.

(15)

Jak wygląda zbieżność opisanej procedury?

(16)

Jak wygląda zbieżność opisanej procedury?

(17)

Jak wygląda zbieżność opisanej procedury?

(18)

Związek z przeszukiwaniem losowym (Monte Carlo)

Przy założeniu, że rozkład losowanych liczb jest eksponencjalny:

P (x) = 1 se−x/s natomiast szukana liczba α jest znana z błędem σ:

x = α ± σ

średnia ilość prób N wymagana aby trafić losowo w przedział (α − σ, α + σ) to:

N = eα/s

2 sinh σ/s∼ eα/s

σ/s =const σ

Skala s ∼ 1 faktycznie jest powiązana z e, π i innymi liczbami występującymi w definicji formuł.

Granice dokładności σ

W praktyce numerycznej limitem jest precyzja sprzętowego typu zmiennoprzecinkowego double:

$MachineEpsilon

$MachineEpsilon$MachineEpsilon = 2−52' 2.22 × 10−16

co przekłada się na długość kodu od 13 (16 instrukcji) do 26 (4 instr.).

(19)

Smoking gun evidence for discovery

(20)

Skutki uboczne niekontrolowanego przeszukiwania

1 Przypadek 1: traktujemy przybliżenie jak wartość dokładną, np: π = 3.14

2 Przypadek 2: traktujemy przybliżenie jako pewien przedział w który celujemy

(21)

Skutki uboczne niekontrolowanego przeszukiwania

1 Przypadek 1: traktujemy przybliżenie jak wartość dokładną, np: π = 3.14

2 Przypadek 2: traktujemy przybliżenie jako pewien przedział w który celujemy

(22)

Histogram „pierwszych” rzeczywistych liczb elementarnych

-10 -5 0 5 10

1 10 100 1000 104 105

log10(x)

Numbercount Fire

Everything Mathematica Core 4 (-1,exp,ln,-)

(23)

Zbiór „pierwszych” liczb elementarnych na płaszczyźnie zespolonej

(24)

Zbiór „pierwszych” liczb elementarnych na płaszczyźnie zespolonej

(25)

Zbiór „pierwszych” liczb elementarnych na płaszczyźnie zespolonej

(26)
(27)

Optymalizacja kodu

0 50 100 150

0.00 0.05 0.10 0.15 0.20 0.25

Valid/Total[k2/k1]

4 8 12 16 20 24 30

6/12 core Xeon

5 10 15 20 Threads

0.02 0.04 0.06 0.08 0.10 0.12 1/runtime

Zagadnienie możliwe do zrównoleglizowania na wiele sposobów

wewnętrzna pętla: pragma omp paralel for wystarczjąca aby wykorzystać architekturę multi-core

de facto procedura generuje funkcje jednej zmiennej zespolonej z – możliwość wektoryzacji dla z = −1, 0, 1, 2, e, π, i, γ, φ, . . .

w wersji operującej na bardzo zredukowanym zbiorze operacji bazowych, np:

exp, ln, − użycie FPGA

(28)

Związek z metodami genetycznymi

1 x X

2 exp x XE

2 ln x XL

3 0 AAS

4 1 AASE

5 e AASEE

8 −1 AASEAASS

10 e1/e AASEAASSEE 10 x + 1 XAASSAASES

12 xx XLLXLXSSXSEE

13 2 AASEAASSAASES

14 x − 1 XAASSAASEAASSS 14 ln 2 AASEAASSAASESL 17 −2 AASEAASSAASESAASS

21 1

2 AASEAASSAASESLAASELSE 22 3 AASEAASSAASEAASSAASESS 24 2x AASEAASSAASESLLXLXSSXSEE 26 −3 AASEAASSAASEAASSAASESSAASS

30 1

3 AASEAASSAASEAASSAASESSLAASELSE 31 4 AASEAASSAASEAASSAASEAASSAASESSS 31 −x XLAASEAASSLAASEAASSSSAASEAASSSE

33 1

x XLLAASEAASSLAASEAASSSSAASEAASSSEE 35 −4 AASEAASSAASEAASSAASEAASSAASESSSAASS 40 5 AASEAASSAASEAASSAASEAASSAASEAASSAASESSSS 46 2x XLAASEAASSAASESLAASEAASSAASESSSAASEAASSAASESSE 48 x2 XLLAASEAASSAASESLAASEAASSAASESSSAASEAASSAASESSEE 58 7 AASEAASSAASEAASSAASEAASSAASEAASSAASEAASSAASEAASSAASESSSSSS

60 1

x2 XLLAASEAASSAASESAASSLAASEAASSAASESAASSSSAASEAASSAASESAASSSEE

70 x

2 XLAASEAASSAASESLAASELSELAASEAASSAASESLAASELSESSAASEAASSAASESLAASELSESE

72

x XLLAASEAASSAASESLAASELSELAASEAASSAASESLAASELSESSAASEAASSAASESLAASELSESEE 76 9 AASEAASSAASEAASSAASEAASSAASEAASSAASEAASSAASEAASSAASEAASSAASEAASSAASESSSSSSSS 79 i AASEAASSLLAASEAASSAASESLAASELSELAASEAASSAASESLAASELSESSAASEAASSAASESLAASELSESEE

84

2 AASEAASSAASESLLAASEAASSAASESLAASELSELAASEAASSAASESLAASELSESSAASEAASSAASESLAASELSESEE

93

3 AASEAASSAASEAASSAASESSLLAASEAASSAASESLAASELSELAASEAASSAASESLAASELSESSAASEAASSAASESLAASELSESEE

3

(29)
(30)

Podsumowanie

potencjalne kryteria definiujące warunek STOP-u dla przeszukiwania metodą brute-force w kolejności rosnącej złożoności Kołmogorowa (długości kodu):

1 w przypadku liczby znanej (potencjalnie) z dowolnie dużą dokładnością:

„smoking gun evidence” czyli natychmiastowy spadek błędu kolejnego przybliżenia do zera zamiast spodziewanego 1/e

2 w przypadku liczby z podanym błędem, trafienie w przedział (a − σ, a + σ) znacznie wcześniej niż metodą Monte Carlo; dla rozkładu exponencjalnego jest to 1/σ prób (przebadanych wzorów)

3 eksponencjalny wzrost liczby kandydatów powyżej pewnej złożoności Kołmogorowa wskazuje na porażkę i wymusza przerwanie szukania pod groźbą wyprodukowania

„matematycznego bełkotu”

wybór funkcji, stałych i operacji nie jest dowolny: MUSI zawierać minimalny zbiór gwarantujący wyczerpujące przeszukiwanie (np: exp, ln, −)

optymalizacja szybkości algorytmu oraz implementacji decyduje o praktycznej skuteczności metody (minuty vs dni); typ double jest i pozostanie standardem na długie lata ( ' 2.2 × 10−16)

użycie dowolnej precyzji numerycznej lub/i f. specjalnych czy obliczeń symbolicznych redukuje wydajność o kilka rzędów wielkości

(31)

Podsumowanie

potencjalne kryteria definiujące warunek STOP-u dla przeszukiwania metodą brute-force w kolejności rosnącej złożoności Kołmogorowa (długości kodu):

1 w przypadku liczby znanej (potencjalnie) z dowolnie dużą dokładnością:

„smoking gun evidence” czyli natychmiastowy spadek błędu kolejnego przybliżenia do zera zamiast spodziewanego 1/e

2 w przypadku liczby z podanym błędem, trafienie w przedział (a − σ, a + σ) znacznie wcześniej niż metodą Monte Carlo; dla rozkładu exponencjalnego jest to 1/σ prób (przebadanych wzorów)

3 eksponencjalny wzrost liczby kandydatów powyżej pewnej złożoności Kołmogorowa wskazuje na porażkę i wymusza przerwanie szukania pod groźbą wyprodukowania

„matematycznego bełkotu”

wybór funkcji, stałych i operacji nie jest dowolny: MUSI zawierać minimalny zbiór gwarantujący wyczerpujące przeszukiwanie (np: exp, ln, −)

optymalizacja szybkości algorytmu oraz implementacji decyduje o praktycznej skuteczności metody (minuty vs dni); typ double jest i pozostanie standardem na długie lata ( ' 2.2 × 10−16)

użycie dowolnej precyzji numerycznej lub/i f. specjalnych czy obliczeń symbolicznych redukuje wydajność o kilka rzędów wielkości

(32)

Podsumowanie

potencjalne kryteria definiujące warunek STOP-u dla przeszukiwania metodą brute-force w kolejności rosnącej złożoności Kołmogorowa (długości kodu):

1 w przypadku liczby znanej (potencjalnie) z dowolnie dużą dokładnością:

„smoking gun evidence” czyli natychmiastowy spadek błędu kolejnego przybliżenia do zera zamiast spodziewanego 1/e

2 w przypadku liczby z podanym błędem, trafienie w przedział (a − σ, a + σ) znacznie wcześniej niż metodą Monte Carlo; dla rozkładu exponencjalnego jest to 1/σ prób (przebadanych wzorów)

3 eksponencjalny wzrost liczby kandydatów powyżej pewnej złożoności Kołmogorowa wskazuje na porażkę i wymusza przerwanie szukania pod groźbą wyprodukowania

„matematycznego bełkotu”

wybór funkcji, stałych i operacji nie jest dowolny: MUSI zawierać minimalny zbiór gwarantujący wyczerpujące przeszukiwanie (np: exp, ln, −)

optymalizacja szybkości algorytmu oraz implementacji decyduje o praktycznej skuteczności metody (minuty vs dni); typ double jest i pozostanie standardem na długie lata ( ' 2.2 × 10−16)

użycie dowolnej precyzji numerycznej lub/i f. specjalnych czy obliczeń symbolicznych redukuje wydajność o kilka rzędów wielkości

(33)

Podsumowanie

potencjalne kryteria definiujące warunek STOP-u dla przeszukiwania metodą brute-force w kolejności rosnącej złożoności Kołmogorowa (długości kodu):

1 w przypadku liczby znanej (potencjalnie) z dowolnie dużą dokładnością:

„smoking gun evidence” czyli natychmiastowy spadek błędu kolejnego przybliżenia do zera zamiast spodziewanego 1/e

2 w przypadku liczby z podanym błędem, trafienie w przedział (a − σ, a + σ) znacznie wcześniej niż metodą Monte Carlo; dla rozkładu exponencjalnego jest to 1/σ prób (przebadanych wzorów)

3 eksponencjalny wzrost liczby kandydatów powyżej pewnej złożoności Kołmogorowa wskazuje na porażkę i wymusza przerwanie szukania pod groźbą wyprodukowania

„matematycznego bełkotu”

wybór funkcji, stałych i operacji nie jest dowolny: MUSI zawierać minimalny zbiór gwarantujący wyczerpujące przeszukiwanie (np: exp, ln, −)

optymalizacja szybkości algorytmu oraz implementacji decyduje o praktycznej skuteczności metody (minuty vs dni); typ double jest i pozostanie standardem na długie lata ( ' 2.2 × 10−16)

użycie dowolnej precyzji numerycznej lub/i f. specjalnych czy obliczeń symbolicznych redukuje wydajność o kilka rzędów wielkości

(2π)2+e

− 12



A

, ee22



π +

ln 2 π



,

3 + 7



π

− 4

√e , 255e− 1e − 2

(34)

Podsumowanie

potencjalne kryteria definiujące warunek STOP-u dla przeszukiwania metodą brute-force w kolejności rosnącej złożoności Kołmogorowa (długości kodu):

1 w przypadku liczby znanej (potencjalnie) z dowolnie dużą dokładnością:

„smoking gun evidence” czyli natychmiastowy spadek błędu kolejnego przybliżenia do zera zamiast spodziewanego 1/e

2 w przypadku liczby z podanym błędem, trafienie w przedział (a − σ, a + σ) znacznie wcześniej niż metodą Monte Carlo; dla rozkładu exponencjalnego jest to 1/σ prób (przebadanych wzorów)

3 eksponencjalny wzrost liczby kandydatów powyżej pewnej złożoności Kołmogorowa wskazuje na porażkę i wymusza przerwanie szukania pod groźbą wyprodukowania

„matematycznego bełkotu”

wybór funkcji, stałych i operacji nie jest dowolny: MUSI zawierać minimalny zbiór gwarantujący wyczerpujące przeszukiwanie (np: exp, ln, −)

optymalizacja szybkości algorytmu oraz implementacji decyduje o praktycznej skuteczności metody (minuty vs dni); typ double jest i pozostanie standardem na długie lata ( ' 2.2 × 10−16)

użycie dowolnej precyzji numerycznej lub/i f. specjalnych czy obliczeń symbolicznych redukuje wydajność o kilka rzędów wielkości

22e2γ +

γ+ ln γ, eππ

γπ5/8, ee

1

2πeln AA+ π

,

q

e

1 π+

e2 +π



2

−e− π2

(35)

Rozpoznawanie stałych: praktyka

1 Maple ( identify )

2 Mathematica (FindFormula, FindSequenceFunction, RootApproximant), WolframAlpha

3 Inverse Symbolic Calculator (https://isc.carma.newcastle.edu.au/), PSLQ

4 RIES (http://mrob.com/pub/ries/ )

5 nsimplify (SymPy)

6 A.O. https://github.com/VA00/SymbolicRegressionPackage

(36)
(37)
(38)

x x

x x

x

x

x

0 5 10 15 20 25 30

0 2 4 6 8 10 12

Liczba stałych, funkcji i operacji

Stałazbieżności

Cytaty

Powiązane dokumenty

PODCZAS KOLOKWIUM NIE WOLNO UŻYWAĆ KALKULATORÓW Zadanie 3. musi być fałszywe). N - może być prawdziwe lub

PODCZAS KOLOKWIUM NIE WOLNO UŻYWAĆ KALKULATORÓW

Załóżmy, że liczba log 90 300 jest wymierna i niech m/n będzie jej przedstawieniem w postaci ilorazu liczb naturalnych (zauważmy, że jest to

PODCZAS KOLOKWIUM NIE WOLNO UŻYWAĆ KALKULATORÓW.

PODCZAS KOLOKWIUM NIE WOLNO UŻYWAĆ KALKULATORÓW

Każdy zbiór przeliczalny jest miary zero (bo zbiory jednopunktowe są miary

Stosownie do wartości napręŜeń zestawionych w tablicy, dobrać wartości znaczników osi pionowych siatek wyk- resów, a następnie – po wpisaniu ołówkiem wartości tych

Stosownie do wartości parametrów zestawionych w tablicy, dobrać wartości znaczników osi pionowych podanych niŜej siatek wykresów, a następnie – po wpisaniu