Как связаны память и скорость программы в веб-браузере, таком как Chrome?

В последнее время я играл с теоремой Рамси для R (5,5). Вы можете увидеть некоторые примеры предыдущих попыток здесь: http://zacharymaril.com/gotits/constructionGraph.html Суть: найти все k4 на графике / его дополнении, а затем соединить другую точку таким образом, чтобы не образовалось k5 (я знаю, что с одним типом выбора математически маловероятно, что вы пройдете мимо 14. Но есть способы вокруг этого выбора, и я получил его работать до 22-23, не блокируя мой браузер.)

С новыми идеями я начал экспериментировать с хранением информации от партии к партии. Текущий граф построения проходит и ищет все k4 в графе каждый раз, когда видит график. Я подумал, что это перебор, так как k4 останутся такими же на предыдущем графике, и только новые k4 могут появиться в соединениях, созданных добавлением новой точки. Если хранить предыдущий k4 ' s каждый раз, когда вы их находите, а затем выполняете поиск только в только что созданных границах, тогда вы уменьшаете количество сравнений, которые вам нужно сделать, с (n 4) до (n-1 3).

Я попытался реализовать это вчера вечером и заставил его работать без очевидных ошибок. Хотя я собираюсь вернуться после этого и прочесать его на предмет любых проблем, новый метод значительно замедляет работу программы. Раньше программа только вдвое увеличивала время, необходимое для всех сравнений. Теперь он растет за то, что кажется факториальным временем. Я прошел через это и попытался выявить какие-либо очевидные ошибки, но мне интересно, могла ли новая зависимость от памяти вызвать все замедление.

Итак, с этим длинным вступлением, Мой главный вопрос: как связаны память и скорость работы программы в веб-браузере, таком как Chrome? Я замедляю работу программы, сохраняя кучу маленьких графиков в виде объектов JSON? Разве теоретически не имеет значения, сколько памяти я занимаю с точки зрения скорости? Где я могу узнать больше о связи между ними? Есть ли книга, которая могла бы лучше объяснить подобные вещи?

Спасибо за любой совет или ответы. Извините за длину этого: я все еще довольно глубоко погружен в идею, и ее трудно объяснить в ближайшее время.

Изменить: Вот две веб-страницы, на которых показан каждый алгоритм, С хранением предыдущих находок: http://zacharymaril.com/gotits/constructionGraph.html

Без сохранения предыдущей находки: http://zacharymaril.com/gotits/Expanding%20Frontier/expandingFrontier.html

Их обоих лучше всего просматривать в Chrome. Это браузер, который я использовал для этого, и если вы откроете панель разработки с помощью ctrl shift i и наберете «раз», вы сможете увидеть коллекцию всех времен.

12
задан zmaril 19 May 2011 в 17:38
поделиться