Spigot-алгоритм

Spigot-алгоритм (упоминается также как «алгоритм крана», или, что более точно, «алгоритм затвора», так как его работа похожа на движение затвора автомата, выбрасывающего очередной патрон) — алгоритм вычисления значения математических констант, например или e, который позволяет определить цифры в некоторой заранее выбранной системе счисления (обычно двоичной или с основанием в виде степени двойки) слева направо. Название происходит от английского слова «spigot», означающего кран или вентиль для управления потоком жидкости.

Интерес к Spigot-алгоритму усилился в период раннего развития вычислительной математики из-за жестких ограничений на объёмы памяти. Первый подобный алгоритм вычисления знаков числа e встречается в работе Артура Сейла (Arthur Harry John Sale) 1986 года[1]. Название «Spigot-алгоритм», скорее всего, придумали Стенли Рабинович и Стен Вагон[2].

Алгоритм, предложенный Рабиновичем и Вагоном, — ограниченный в том смысле, что количество вычисляемых знаков должно быть определено заранее. Джереми Гиббонс (Jeremy Gibbons) в 2004 г. вводит обобщение под названием «потоковый алгоритм»[3], в котором вычисления можно проводить бесконечно долго, тем самым убрав ограниченность исходного алгоритма. Ещё одним улучшением Spigot-алгоритма стал алгоритм, позволяющий вычислить конкретный знак без необходимости определения предыдущих знаков числа. Например, Формула Бэйли — Боруэйна — Плаффа для вычисления произвольных знаков в 16-ричной записи числа .

Пример

Продемонстрируем работу Spigot-алгоритма на примере вычисления двоичных знаков натурального логарифма 2 на основе формулы:

Чтобы найти двоичные знаки начиная с 8-го, умножим число на 27 (так как 7=8-1):

Затем разделим бесконечный ряд на «голову», в которой степень двойки больше или равна нулю, и «хвост» с отрицательными степенями:

Нас интересует только дробная часть этого значения, поэтому мы заменяем каждое слагаемое в первой сумме («голове») на:

Вычислим каждое слагаемое отдельно, отбрасывая целую часть:

k A = 27−k B = A (mod k) C = B / k C (mod 1)
1 64 0 0 0
2 32 0 0 0
3 16 1 1/3 1/3
4 8 0 0 1/3
5 4 4 4/5 2/15
6 2 2 1/3 7/15
7 1 1 1/7 64/105

Вычислим несколько первых элементов из «хвоста». Выбираем такую часть этой суммы, чтобы ошибка вычисления была меньше искомого 7-го знака числа.

k D = 1/k2k−7 D Макс. ошибка
8 1/16 1/16 1/16
9 1/36 13/144 1/36
10 1/80 37/360 1/80

Суммируя «голову» и несколько первых элементов «хвоста», мы получим:

таким образом цифрами с 8-й по 11-ю в двоичной записи числа являются 1, 0, 1, 1. Заметьте, что мы не вычисляли значений предыдущих семи цифр. Информация об этих цифрах была умышленно отброшена при использовании модульной арифметики при вычислении «головы».

Данный подход можно использовать для вычисления произвольного n-го знака в двоичной записи числа ln(2). Количество слагаемых в «голове» линейно растёт с увеличением n, но сложность вычисления элементов растёт логарифмически при использовании методов возведения в степень по модулю. Точность вычисления, промежуточные вычисления и количество нужных слагаемых из «хвоста» не зависят от n, а зависят только от количества двоичных знаков, которые нужно вычислить. Используя дробные числа одинарной точности, можно найти около 12 двоичных знаков независимо от начальной позиции.

Примечания

  1. Sale, AHJ. The calculation of e to many significant digits (англ.) // The Computer Journal[англ.] : journal. — 1968. — Vol. 11, no. 2. — P. 229—230. — doi:10.1093/comjnl/11.2.229. Архивировано 19 сентября 2016 года.
  2. Rabinowitz, Stanley; Wagon, Stan. A Spigot Algorithm for the Digits of Pi (англ.) // American Mathematical Monthly : journal. — 1995. — Vol. 102, no. 3. — P. 195—203. — doi:10.2307/2975006. Архивировано 13 июля 2019 года.
  3. Gibbons, Jeremy Unbounded Spigot Algorithms for the Digits of Pi (24 мая 2004). Дата обращения: 9 декабря 2019. Архивировано 29 августа 2008 года.

Ссылки

Read other articles:

Contextual design (CD) is a user-centered design process developed by Hugh Beyer and Karen Holtzblatt. It incorporates ethnographic methods for gathering data relevant to the product via field studies, rationalizing workflows, and designing human–computer interfaces. In practice, this means that researchers aggregate data from customers in the field where people are living and applying these findings into a final product.[1] Contextual design can be seen as an alternative to enginee...

 

MercySingel oleh Duffydari album RockferrySisi-BSave It For Your PrayersTomorrowDirilis11 Februari 2008(see release history)FormatCD, digital downloadDirekam2007, Bookerland studios[1]GenreSoul, popDurasi3:41LabelA&M, Mercury (US)PenciptaDuffy, Steve BookerProduserSteve Booker Mercy adalah lagu soul dari Welsh blue-eyed soul penyanyi Duffy, dirilis sebagai single kedua dari album utamanya yang bertajuk Rockferry (2008). Ditulis oleh Duffy dan Steve Booker dan diproduseri oleh Book...

 

Men's association football team This article is about the men's team. For the women's team, see Portugal women's national football team. PortugalNickname(s)A Seleção das Quinas (The Team of the Escutcheons)[1] Lusos (Lusitanians)AssociationPortuguese Football Federation(Federação Portuguesa de Futebol, FPF)ConfederationUEFA (Europe)Head coachRoberto MartínezCaptainCristiano RonaldoMost capsCristiano Ronaldo (206)Top scorerCristiano Ronaldo (128)Home stadiumEstádio NacionalFIFA c...

Objects and places used by Buddhists to remember Buddha This article is about reminders of the Buddha. For the architectural form, see stupa. For the wider meaning as a shrine in Indic religions, see Chaitya. Phra Pathom Chedi, one of the biggest Chedis in Thailand; in Thai, the term Chedi (cetiya) is used interchangeably with the term Stupa Cetiya, reminders or memorials (Sanskrit caitya), are objects and places used by Buddhists to remember Gautama Buddha.[1] According to Damrong Ra...

 

UFC mixed martial arts event in 2019 UFC on ESPN: Covington vs. LawlerThe poster for UFC on ESPN: Covington vs. LawlerInformationPromotionUltimate Fighting ChampionshipDateAugust 3, 2019 (2019-08-03)VenuePrudential CenterCityNewark, New JerseyAttendance10,427[1]Total gate$687,778[1]Event chronology UFC 240: Holloway vs. Edgar UFC on ESPN: Covington vs. Lawler UFC Fight Night: Shevchenko vs. Carmouche 2 UFC on ESPN: Covington vs. Lawler (also known as UFC on ESPN...

 

Wireless broadband standard This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details. (September 2010) (Learn how and when to remove this message) This article needs to be updated. Please help update this article to reflect recent events ...

Menteri Luar Negeri Republik YunaniLambang Republik YunaniPetahanaNikos Dendiassejak 9 Juli 2019Ditunjuk olehPerdana Menteri YunaniDibentuk16 Januari 1822Situs webhttps://www.mfa.gr/en/ Menteri Luar Negeri Yunani (Yunani: Υπουργός Εξωτερικών, translit. Ypourgós Exoterikón) adalah menteri senior di Kementerian Luar Negeri Yunani. Menteri Luar Negeri yang menjabat saat ini adalah Nikos Dendias dari Demokrasi Baru. Daftar Menteri Luar Negeri sejak 1974 Foto Nama...

 

Former political party in Fiji This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: National Alliance Party of Fiji – news · newspapers · books · scholar · JSTOR (June 2015) (Learn how and when to remove this message) Politics of Fiji Constitution History Executive President (list) Wiliame Katonivere Prime Minist...

 

Questa voce sull'argomento stagioni delle società calcistiche italiane è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Voce principale: Associazione Calcio Cantù Gruppo Sportivo San Paolo. Associazione Calcio CantùStagione 1939-1940Sport calcio SquadraAssociazione Calcio Cantù Gruppo Sportivo San Paolo Allenatore Giovanni Bolzoni Presidente Aldo Maspero Serie C7º posto nel girone eliminatorio C 19...

Державний комітет телебачення і радіомовлення України (Держкомтелерадіо) Приміщення комітетуЗагальна інформаціяКраїна  УкраїнаДата створення 2003Керівне відомство Кабінет Міністрів УкраїниРічний бюджет 1 964 898 500 ₴[1]Голова Олег НаливайкоПідвідомчі ор...

 

جوني ديب (بالإنجليزية: Johnny Depp)‏ جوني ديب في عام 2019 معلومات شخصية اسم الولادة جون كريستوفر ديب الثاني الميلاد 9 يونيو 1963 (العمر 60 سنة)أوينسبورو، كنتاكي، الولايات المتحدة الإقامة لوس أنجلوس  مواطنة الولايات المتحدة  لون الشعر شعر بني  الطول 1.78 م (5 قدم 10 بوصة) اس...

 

هذه المقالة تحتاج للمزيد من الوصلات للمقالات الأخرى للمساعدة في ترابط مقالات الموسوعة. فضلًا ساعد في تحسين هذه المقالة بإضافة وصلات إلى المقالات المتعلقة بها الموجودة في النص الحالي. (نوفمبر 2019) المضايقة هي نشر الإهانات عن طريق الإنترنت، وغالبا ما تكون مصحوبة بالكلمات الن...

Election in Kentucky 1956 United States presidential election in Kentucky ← 1952 November 6, 1956[1] 1960 → All 10 Kentucky votes to the Electoral College   Nominee Dwight D. Eisenhower Adlai Stevenson Party Republican Democratic Home state Pennsylvania[a] Illinois Running mate Richard Nixon Estes Kefauver Electoral vote 10 0 Popular vote 572,192 476,453 Percentage 54.30% 45.21% County Results Eisenhower   40-50%  &...

 

Japanese footballer Kazunari Hosaka Personal informationDate of birth (1983-03-24) 24 March 1983 (age 41)Place of birth Fuchū, Tokyo, JapanHeight 1.72 m (5 ft 8 in)Position(s) MidfielderYouth career1998–2000 Yomiuri Nippon SC2001–2004 Tokyo Gakugei UniversitySenior career*Years Team Apps (Gls)2005–2008 Ventforet Kofu 26 (4)2009 Fagiano Okayama 44 (3)2010–2017 Ventforet Kofu 117 (5)2018–2020 Tokyo United FC 28 (0) *Club domestic league appearances and goals, corr...

 

Supercoppa di Polonia 2019Superpuchar Polski 2019 Competizione Supercoppa di Polonia Sport Calcio Edizione 28ª Organizzatore PZPN Date 13 luglio 2019 Luogo  Polonia Impianto/i Stadion Piasta Gliwice Risultati Vincitore Lechia Danzica(2º titolo) Secondo Piast Gliwice Statistiche Gol segnati 4 Cronologia della competizione 2018 2020 Manuale La 28ª edizione della Supercoppa di Polonia si è svolta il 13 luglio tra il Piast Gliwice, vincitore del campionato, e il Lechia Danzica vincitore...

Gli ultimi fuochiTitolo originaleThe Last Tycoon Altri titoliThe Love of the Last Tycoon. A Western AutoreFrancis Scott Fitzgerald 1ª ed. originale1941 1ª ed. italiana1959 Genereromanzo Lingua originaleinglese ProtagonistiMonroe Stahr Modifica dati su Wikidata · Manuale Gli ultimi fuochi (titolo originale The Last Tycoon) è un romanzo incompiuto dello scrittore americano Francis Scott Fitzgerald, pubblicato postumo con questo titolo dall'amico Edmund Wilson, influente critico le...

 

Nico DenzNico Denz en 2023InformationsNaissance 15 février 1994 (30 ans)Waldshut-TiengenNationalité allemandeÉquipe actuelle Red Bull-Bora-HansgroheÉquipes non-UCI 2006-2012VBC Waldshut-Tiengen2013-7.2014Chambéry CF2015-7.2015Chambéry CFÉquipes UCI 8.2014-2014AG2R La Mondiale (stagiaire)8.2015-2015AG2R La Mondiale (stagiaire)2016-2019AG2R La Mondiale2020Team Sunweb2021-2022Team DSM2023-6.2024Bora-Hansgrohe6.2024-Red Bull-Bora-HansgrohePrincipales victoires 2 étapes de grands tour...

 

Questa voce sull'argomento stagioni delle società calcistiche italiane è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Voce principale: Unione Sportiva Vigor Senigallia. Unione Sportiva Vigor SenigalliaStagione 1982-1983Sport calcio Squadra Vigor Senigallia Allenatore Romolo Camuffo poi Enzo Gerardi Presidente Walter Vignoli Serie C210º posto nel girone C. Maggiori presenzeCampionato: Di Iorio, ...

 polietilenglicol Estructura química del polietilenglicolNombre IUPAC Poli(oxietileno)GeneralOtros nombres Poli(oxi-1,2-etinediil), alfa-hidro-omega-hidroxi, PEG, Carbowax, poli(óxido de etileno), polioxietileno, óxido de polietileno, Macrogol.Fórmula semidesarrollada C2n+2H4n+6On+2Fórmula molecular C2n+2H4n+6On+2IdentificadoresNúmero CAS 25322-68-3[1]​ChEBI 46793ChEMBL CHEMBL1201478DrugBank DB09287UNII ZBR3T82M2V, X83H03O8BZ, VM53EE110J, V46Y6OJ5QB, G2M7P15E5P, OJ4Z5Z32L4, 3...

 

Memorial in Berlin, Germany Memorial to the Murdered Jews of EuropeDenkmal für die ermordeten Juden EuropasGeneral view of the Memorial from the South52°30′50″N 13°22′44″E / 52.51389°N 13.37889°E / 52.51389; 13.37889LocationBerlin, GermanyDesignerPeter EisenmanMaterialConcreteBeginning date1 April 2003Completion date15 December 2004Dedicated date10 May 2005Dedicated toJewish victims of the HolocaustWebsitestiftung-denkmal.de The Memoria...