Дискуссионный математический форумМатематический форум
Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 3 часа [ Летнее время ]
новый онлайн-сервис
число, сумма и дата прописью

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Машина Тьюринга
СообщениеДобавлено: 30 апр 2021, 20:00 
Не в сети
Начинающий
Зарегистрирован:
30 апр 2019, 13:37
Сообщений: 13
Cпасибо сказано: 5
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Приветствую. Написал МТ для вычисления в двоичке логарифма девятки по основанию двойки до n знака после запятой, n вводит пользователь. Программа на 9 знаках уже не вывозит. Проблема в том, что там огромные числа выходят, ведь мы должны считать 9^(2^n), а указатель бегает во время умножения в двоичной системе по всей длине чисел. Вопрос такой: а как вообще можно оптимизировать эту программу, чтобы она хотя бы 10 цифр выдала? Возможен ли вариант адекватный с вычислением log2(3), а потом умножением этого на 10? Суть в том, что у нас иногда будут не верные ответы в таком случае выходить, как я посмотрел в калькуляторе (например, при n=8), и это вполне логично. Как я понимаю, нам в таком случае еще нужна информация про n+1 разряд у log2(3), но в таком случае смысл метода отпадает напрочь, ведь у нас программа ничем эффективнее не будет, чем вариант с вычислениями с девяткой. Если что, умножение в двоичке и так довольно оптимизировано и работает по принципу 9*9, 81*81 и так далее, пока счетчик не закончится (в качестве счетчика 2^n, то есть единица и n количество 0). Заранее благодарю за ответ.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Машина Тьюринга
СообщениеДобавлено: 01 май 2021, 00:20 
Не в сети
Light & Truth
Зарегистрирован:
10 дек 2013, 02:33
Сообщений: 3268
Cпасибо сказано: 263
Спасибо получено:
417 раз в 407 сообщениях
Очков репутации: 51

Добавить очки репутацииУменьшить очки репутации
[math]\log_{2}{9} = \frac{ \ln{9} }{ \ln{2}}[/math]

Используем разложение логарифма девяти по основанию 2 в ряд.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Машина Тьюринга
СообщениеДобавлено: 01 май 2021, 00:23 
Не в сети
Light & Truth
Зарегистрирован:
10 дек 2013, 02:33
Сообщений: 3268
Cпасибо сказано: 263
Спасибо получено:
417 раз в 407 сообщениях
Очков репутации: 51

Добавить очки репутацииУменьшить очки репутации
Cotan писал(а):
Приветствую. Написал МТ для вычисления в двоичке логарифма девятки по основанию двойки до n знака после запятой, n вводит пользователь.


Интересно посмотреть код программы для Машины Тьюринга, вычиляющий log_2(9).

А ты не гонишь?)

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Машина Тьюринга
СообщениеДобавлено: 01 май 2021, 01:23 
Не в сети
Начинающий
Зарегистрирован:
30 апр 2019, 13:37
Сообщений: 13
Cпасибо сказано: 5
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
sergebsl писал(а):
А ты не гонишь?)

А шо там делать? Я ж его в двоичной системе считаю. Могу код в блокноте кинуть куда-то, тут вроде нельзя файлы прикреплять. А по поводу метода предложенного я вообще хз, это на мт нереально вроде посчитать будет.
Если запсевдокодить, то я просто юзаю неравенство 2^x<=9^(2^n), собственно считаю 9^(2^n), после считаю в унарке длину этого числа без одного разряда и перевожу в двоичку, ну и отделяю после этого целую часть от дробной, вот и всё.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Машина Тьюринга
СообщениеДобавлено: 01 май 2021, 12:43 
Не в сети
Начинающий
Зарегистрирован:
30 апр 2019, 13:37
Сообщений: 13
Cпасибо сказано: 5
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Если че, уже в принципе понял как оптимизацию провести. Раскладывать на сумму логарифмов смысла нет, но есть смысл поработать над умножением в двоичке. Из-за того, что у нас там умножаются всегда одинаковые числа, по сути можно не бегать по двум числам указателем, а брать только один множитель, разряды которого будут сразу несколько функций выполнять. Собственно с таким подходом я подозреваю мт и 11 цифр на ура выдаст, но проверять я пожалуй не буду.

Вернуться к началу
 Профиль  
Cпасибо сказано 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему      Страница 1 из 1 [ Сообщений: 5 ]

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Машина Тьюринга и машина Поста

в форуме Дискретная математика, Теория множеств и Логика

Mr_Whoopee

0

363

30 май 2016, 22:19

Машина Тьюринга

в форуме Дискретная математика, Теория множеств и Логика

Eva59

1

482

14 апр 2014, 09:49

Машина Тьюринга

в форуме Дискретная математика, Теория множеств и Логика

nadya2190

0

249

01 мар 2018, 15:43

Машина Тьюринга

в форуме Дискретная математика, Теория множеств и Логика

Sviter

11

705

19 дек 2015, 02:02

Машина Тьюринга

в форуме Дискретная математика, Теория множеств и Логика

Stasya7

0

268

01 окт 2015, 21:12

Машина Тьюринга

в форуме Дискретная математика, Теория множеств и Логика

Aecttann

0

369

22 апр 2015, 22:05

Машина Тьюринга

в форуме Информатика и Компьютерные науки

Anyaaaa

0

551

02 июн 2014, 18:51

Машина Тьюринга

в форуме Дискретная математика, Теория множеств и Логика

sibiryk

3

366

26 май 2017, 09:08

Машина Тьюринга

в форуме Дискретная математика, Теория множеств и Логика

Xterylis

1

205

07 май 2021, 16:09

Машина Тьюринга

в форуме Дискретная математика, Теория множеств и Логика

zagir_q

0

312

02 дек 2020, 18:26


Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Яндекс.Метрика

Copyright © 2010-2023 MathHelpPlanet.com. All rights reserved