БК-0010 старца

БК-0010 старца

Сообщение Дежаву » Ср окт 31, 2018 5:23 pm

Fouras писал(а):Жаль нет возможности отписаться от тем. И закладка"Ваши сообщения" постепенно захламляется и теряет смысл.

Иной раз загоришься где-то что-то написать, а потом подумаешь: блин, теперь эта ерунда всё время будет светиться в "ваших сообщениях".
А иной раз, импульснёшь, напишешь, и на тебе! Получи очередную ненужность.
Ключи от своей жизни нужно держать при себе.
Аватара пользователя
Дежаву
Вне ТИМов
Вне ТИМов
 
Сообщения: 15727
Зарегистрирован: Пн июл 31, 2017 11:17 pm
Откуда: Кантизм
Медали: 4
Пол: Женский
Профессия: Мандриан

БК-0010 старца

Сообщение TailWind » Ср окт 31, 2018 6:32 pm

Судя по тому, что я нашёл тут
https://github.com/phpbb/area51-phpbb3/blob/master/phpBB/search.php

Первая проблема в том, что используется тот же template, что и для поиска с опцией показывать темы, а не сообщения
То есть если сделать копку, она будет видна и там тоже
Аватара пользователя
TailWind
Гуру
Гуру
 
Сообщения: 10903
Зарегистрирован: Ср апр 15, 2015 1:36 am
Медали: 5
Пол: Мужской

БК-0010 старца

Сообщение TailWind » Ср окт 31, 2018 7:05 pm

А вторая проблема, что я был не прав
И это реально поиск по всей базе постов :shock:

То есть чтобы сделать то, что нам нужно
Нужно...
Нужно...
Где-то хранить какую тему, кто не любит
То есть создать ещё одну таблицу в базе
Потом разобраться как эта куча-мала (какой же гад этот код писал?) работает
Так надо ещё предусмотреть как возвращать темы из бана

Короче действительно малой кровью это не сделаешь
Аватара пользователя
TailWind
Гуру
Гуру
 
Сообщения: 10903
Зарегистрирован: Ср апр 15, 2015 1:36 am
Медали: 5
Пол: Мужской

БК-0010 старца

Сообщение Штушкутуш » Ср окт 31, 2018 7:16 pm

TailWind писал(а):И это реально поиск по всей базе постов

А чего тебя так удивляет? Там так и написано - search.php?search_id=egosearch
Я пару раз пыталась объяснить, что отписаться от неугодных тем не получится, т.к. это не подписки, а поиск. Но чо-т не особо получилось, по-моему.
Изображение
Аватара пользователя
Штушкутуш
Dark side
Dark side
 
Сообщения: 22768
Зарегистрирован: Чт сен 29, 2011 10:38 pm
Откуда: из-под кровати
Медали: 9

БК-0010 старца

Сообщение TailWind » Ср окт 31, 2018 7:24 pm

Меня удивляет, что поиск по всей базе это долго и нагружает сервер
А функция популярная

Хотя работает быстро
Не понятно )
Аватара пользователя
TailWind
Гуру
Гуру
 
Сообщения: 10903
Зарегистрирован: Ср апр 15, 2015 1:36 am
Медали: 5
Пол: Мужской

БК-0010 старца

Сообщение Fouras » Ср окт 31, 2018 7:26 pm

Штушкутуш писал(а):
TailWind писал(а):И это реально поиск по всей базе постов

А чего тебя так удивляет? Там так и написано - search.php?search_id=egosearch
Я пару раз пыталась объяснить, что отписаться от неугодных тем не получится, т.к. это не подписки, а поиск. Но чо-т не особо получилось, по-моему.

В духе форума должно быть также:
search.php?search_id=superegosearch
search.php?search_id=idsearch // поиск по идентификатору, да?
search.php?search_id=superidsearch
Аватара пользователя
Fouras
Старожил
Старожил
 
Сообщения: 7249
Зарегистрирован: Пн июн 12, 2017 1:23 am
Медали: 11
Пол: Мужской

БК-0010 старца

Сообщение TailWind » Чт ноя 01, 2018 2:52 am

Ну почему на форуме нет кнопочки - like

Или там, like, это нереально смешно

Ну потому что, каждый раз писать, текстом, или ставить смайлик :D , как то не удобно )
Аватара пользователя
TailWind
Гуру
Гуру
 
Сообщения: 10903
Зарегистрирован: Ср апр 15, 2015 1:36 am
Медали: 5
Пол: Мужской

БК-0010 старца

Сообщение Fouras » Чт ноя 01, 2018 3:26 am

TailWind писал(а):Ну почему на форуме нет кнопочки - like

Или там, like, это нереально смешно

Ну потому что, каждый раз писать, текстом, или ставить смайлик :D , как то не удобно )

Было нечто подобное, но дико тормозило и Олег это убрал.
Аватара пользователя
Fouras
Старожил
Старожил
 
Сообщения: 7249
Зарегистрирован: Пн июн 12, 2017 1:23 am
Медали: 11
Пол: Мужской

БК-0010 старца

Сообщение Fouras » Ср ноя 14, 2018 8:46 pm

Изображение

Некоторые мысли о программировании решения кубика Рубика

Дисклаймер. Многие фрагменты я делал, кубик крутил, переборы делал, табулировал и все остальное, но вот целиком все это, то что опишу, не делал, так что возможны подводные грабли: гладко было на экране, но забыли про... хмм... мы о кране, что ли?

СНИЖЕНИЕ ГЛУБИНЫ ПЕРЕБОРА ВСТРЕЧНЫМ ПЕРЕБОРОМ

Используется когда известна максимальная глубина перебора.

Поскольку перебор у нас растет как степень, то снижение глубины вдвое полностью меняет дело, она может оказаться вполне достижимой.

Стратегия такая:
а) пусть у нас максимальная глубина 16. будем перебирать 8 поворотов и запоминать все полученные позиции.
б) начинаем с конца, делаем повороты и смотрим вышли ли мы на одну из запомненных позиций. если да, задача решена.

КАК ЗАПОМИНАТЬ ВСЕ ПОЗИЦИИ, ЕСЛИ В ПАМЯТЬ НЕ ПОМЕЩАЮТСЯ

а) Есть такой алгоритм поиска который определяет что данное слово возможно есть в базе и можно точно сказать, что слова нет.

Заводим довольно большой битовый массив из нулей длиной N. Назовем его контрольный массив.

По каждому слову считаем хэш-сумму. В нашем случае будем считать хэш от позиции на кубике.

И получив хэш сумму, используем ее как затравку для генерации 3-х чисел (допустим) от 0 до N-1. В контрольном массиве по данным индексам проставляем 1.

Итак, когда мы получили все возможные слова, у нас в массиве должно быть не более половины 0 и 1 на случайных местах.

***
Как определяем, что данное слово возможно встречалось. Генерим 3 его позиции единиц по хэш сумме. И смотрим в контрольном массиве. Если на указанных местах есть хотя бы один 0, то отказ, слово такое не встречалось.
Если все три 1, то слово возможно встречалось.

б) Нестрогое определение того, что данная позиция нам встречалась будет приводить иногда к ложным срабатываниям, но львиную долю проверок отсечет. При этом память может быть использована более чем разумно.

НЕТОЧНЫЙ ПРОСЧЕТ

в) Как ускорить перебор. Дело в том, что опять же нам не обязательно прослеживать КАЖДЫЙ элемент на кубике. В классическом кубике 3х3х3 у нас 20 подвижных элементов. Но мы можем просчитывать повороты не всех элементов, а, допустим, 4 угла и 4 ребра, так чтобы у нас все это дело влезало в удобное представление в памяти, например в 64-битное число.

И вот только если 4 наших контрольных угла и 4 ребра встали в искомое положение, мы подозреваем, что это хороший набор поворотов и теперь проверяем его уже тщательно, используя проверку всех 20 элементов.
Аватара пользователя
Fouras
Старожил
Старожил
 
Сообщения: 7249
Зарегистрирован: Пн июн 12, 2017 1:23 am
Медали: 11
Пол: Мужской

БК-0010 старца

Сообщение TailWind » Ср ноя 14, 2018 10:40 pm

Интересные алогоритмы

Хотелось бы цифры узнать:
- сколько байт занимает текущее состояние кубика
- сколько вариантов получается всех 8 любых вращений

В std::set столько не влезает?
Аватара пользователя
TailWind
Гуру
Гуру
 
Сообщения: 10903
Зарегистрирован: Ср апр 15, 2015 1:36 am
Медали: 5
Пол: Мужской

БК-0010 старца

Сообщение Fouras » Ср ноя 14, 2018 11:25 pm

TailWind писал(а):Интересные алогоритмы

Хотелось бы цифры узнать:
- сколько байт занимает текущее состояние кубика
- сколько вариантов получается всех 8 любых вращений

В std::set столько не влезает?


  • Число возможных различных состояний кубика Рубика равно (8! 38-1) (12! 212-1) 2 = 43 252 003 274 489 856 000, то есть более 43 квинтиллионов комбинаций. Несмотря на это, доказано, что из любого состояния кубик можно собрать не более чем за 20 ходов.

Просто решить кубик неинтересно. Например есть алгоритм Косиемба.
Интереснее искать оптимальные и удобные формулы под разные задачи и решение нестандартных кубиков.
Аватара пользователя
Fouras
Старожил
Старожил
 
Сообщения: 7249
Зарегистрирован: Пн июн 12, 2017 1:23 am
Медали: 11
Пол: Мужской

БК-0010 старца

Сообщение Fouras » Ср ноя 14, 2018 11:27 pm

Я храню кубик 3x3x3 в программе на JS в 6 интах, но это избыточно, при желании можно компактнее. Я храню не положение и спин, а наборы стикеров.
Аватара пользователя
Fouras
Старожил
Старожил
 
Сообщения: 7249
Зарегистрирован: Пн июн 12, 2017 1:23 am
Медали: 11
Пол: Мужской

БК-0010 старца

Сообщение TailWind » Ср ноя 14, 2018 11:34 pm

Fouras писал(а):
  • Число возможных различных состояний кубика Рубика равно (8! 38-1) (12! 212-1) 2 = 43 252 003 274 489 856 000, то есть более 43 квинтиллионов комбинаций. Несмотря на это, доказано, что из любого состояния кубик можно собрать не более чем за 20 ходов.

Круто
Точно тема для дисертации
Аватара пользователя
TailWind
Гуру
Гуру
 
Сообщения: 10903
Зарегистрирован: Ср апр 15, 2015 1:36 am
Медали: 5
Пол: Мужской

БК-0010 старца

Сообщение /ru/ » Ср ноя 14, 2018 11:48 pm

Fouras писал(а):КАК ЗАПОМИНАТЬ ВСЕ ПОЗИЦИИ, ЕСЛИ В ПАМЯТЬ НЕ ПОМЕЩАЮТСЯ

.

Если в память не лезет, дорога лежит в свиблово.
Там продают сервак по моему со 128 гигами рамы. Нямка стоит 30. Около десятка шестиядерных процев. Авито.
IBM. Красивый :roll: Украсит балкон.

А за пределами ram i/o все испоганит.
Аватара пользователя
/ru/
Старожил
Старожил
 
Сообщения: 6025
Зарегистрирован: Вт фев 04, 2014 12:07 am
Медали: 2
Пол: Мужской
Тип по психе-йоге: Лао-цзы (ЛВФЭ)

БК-0010 старца

Сообщение Fouras » Ср ноя 14, 2018 11:53 pm

/ru/ писал(а):
Fouras писал(а):КАК ЗАПОМИНАТЬ ВСЕ ПОЗИЦИИ, ЕСЛИ В ПАМЯТЬ НЕ ПОМЕЩАЮТСЯ

.

Если в память не лезет, дорога лежит в свиблово.
Там продают сервак по моему со 128 гигами рамы. Нямка стоит 30. Около десятка шестиядерных процев. Авито.
А за пределами ram i/o все испоганит.
IBM. Красивый :roll: Украсит балкон.

Боюсь 128 гигов недостаточно. А если достаточно, поиск по ним придется хэшировать. А тут нам и пригодится алгоритм Бойцова, который я привел. А раз он у нас есть, то и сервак на не нужен.
Аватара пользователя
Fouras
Старожил
Старожил
 
Сообщения: 7249
Зарегистрирован: Пн июн 12, 2017 1:23 am
Медали: 11
Пол: Мужской

Пред.След.

  • { SIMILAR_TOPICS }
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в Башня старца Фура

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

Зарегистрированные пользователи: cooler462, GoGo [Bot], Google [Bot], Yandex 3.0 [Bot], Yandex [Bot], Zevs, на лошади весёлой