Категории
Самые читаемые книги
ЧитаемОнлайн » Разная литература » Прочее » Хакеры сновидений: Архив 1-6 - Lokky

Хакеры сновидений: Архив 1-6 - Lokky

Читать онлайн Хакеры сновидений: Архив 1-6 - Lokky

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 419 420 421 422 423 424 425 426 427 ... 895
Перейти на страницу:

Nick, может возмешься реализовать? Или кто нибуть? Если непонятно, готов пояснить еще раз. Алгоритмов готовых к сожалению нет

   shuffle

nick

Depo, спасибо, метод я понял! Я реализовал сейчас алгоритм через массивы, постаравшись оптимизировать его по максимуму. Пишу на Яве (знаю только ее), там есть быстрый метод копирования массивов.

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

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

konste

опять мы пишем програмки под текущие нужды, а не нечто универсальное.

Но думаю, Вы правы коллеги, - тут важен результат, а не метод, пожалуй...

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

Когда то я действовал так (на php) создавал огромный массив - 9*4*36, и искал сложения по признаку нахождения карт с номерами n и n+2 в одном столбце или строке. Начинал от n =1.

Если находил сложение делал N = n, затем копировал весь двумерный массив - расклад на следующий слой Большого массива, при этом для всех номеров  n > N, делал n = n+1.

На старте в слое 0 лежит табличная запись ПМ в виде номеров карт 9 столбцов - это номиналы, 4 строкам карты

пример на http://www.pm.h11.ru/PM1/pm1.php еще жив, нажмите кнопку обработки... (правда там что то не верно работает, уже не помню, не доделал).

Насколько быстрый способ, отимизация - не знаю... Мне было интересно так смоделировать сложение...

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

nick

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

Результативность: 1 цепочка нужного калибра примерно на 50000 оптимизированных вариантов. 7 - 8 цепочек в минуту на моей машине.

За время тестирования нагенерил 600+ штук. Одну сложил вручную. Мое предположение о том, что справа от складывающихся карт не может быть транзитов пока сложение не дойдет до левого края оказалось в корне неверным.

Думаю над статистическим анализом.

nick

konste, а какая функциональность должна быть у универсальной софтины?

konste

nick

в принципе это уже обсуждалось (здесь и аворлд), и если говорить в серьез, то, наверное, - в другой теме...

Если совсем кратко - возможность подключать - отключать плагины-модули с различными функциями.

Возможность взять и написать такой модуль самому, если нужно, за вечер, скажем.

В модулях - такие вещи как ввод цепочек в текстовой форме (видимо, с учетом разных кодировок...), вывод разными способами, проверка на сходимость, генерирование цпочек различными способами (мне видится несколько разных модулей...), хочется иметь графический игровой стол с сукном, и картами... - все это тема большого обсуждения... Поэтому делать по частям было бы разумно.

Впринципе, я по весне накропал нечто вроде ядра и даже писал пару модулей... но интереса было не много к этому и дело у меня заморозилось... Думаю, к осени мне понадобится эта вещь самому и она будет дописана. Демку можно найти где то у нас на форуме...

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

Если интересно - давай заведем тему или перейдем в обмен сообщениями, чтобы не флудить здесь.

nick

konste,

можно и подевелопить   Smiley/Улыбается У меня есть пару идей по графическому интерфейсу.

Проблема в том, что я из языков знаю только Java. C++ для меня темный лес. Немного могу на C#, но это все равно что Java в принципе, и я на нем ничего про GUI не знаю.

По поводу среды с плагинами - для Java есть Eclipse. Изначально IDE, но его переработали именно как фреймворк сейчас. Наверняка для C тоже что-нибудь подобное есть. Это чтобы велосипед не изобретать.

nick

Собственно сорцы и результат. Только я транслитерировал русский буквы, т.к. у меня в консоли русский не пашет.

PMGenerator - генерит цепочки и сваливает их в текстовый файл.

PMChainChecker - отдельный класс для проверки цепочек. Читает их из файла. Для работы генератора он не используется. По сути это 2 независимых класса.

nick

Продолжаю генерить цепочки 36:0. На данный момент их 7000 с гаком. Хочу довести тысяч до пятидесяти, и тогда начать анализ, исключив предварительно повторы.

Вот какие мысли по поводу анализа:

В сходящейся цепочке мы можем поменять местами все группы карт одинаковых мастей и одинакового номинала между собой, при этом в случае номиналов нужно оставить неизменной последовательность мастей, а в случае мастей - номиналов. Тогда это не повлияет на сходимость цепочки. Более того, динамика сложения останется идентичной.

В связи с этим возникает вот такой процесс анализа - берем каждую цепочку, и отмечаем в ней последовательности номиналов и мастей, причем номиналы именуем как A1, A2, A3 ... A9, а масти - B1, B2, B3, B4. При этом цифра группе будет присваиваться не заранее, а исходя из первого вхождения данного номинала или масти вв конкретной цепочке. Таким образом можно будет увидеть паттерны сложения независимо от конкретных мастей и номиналов.

При удачном результате можно будет попытаться применить метод ко всем видам цепочек. Удачный результат для меня - если удасться осмыслить принцип.

konste

nick!   Smiley/Улыбается

Мысль возникшая у Тебя прианализе - это и есть Теорема Масяни в действии.

Мне казалось, что замен можно делать сколько угодно и каких угодно последовательно.

Поэтому, еще на аворде я пытался сводить это к "скелетам" - один скелет на 9!*4! цепочек, кажется...

Так что я советую выбрасывать из анализа приводимые друг к другу цепочки.

Если ты заглянешь в тему  -

"pq и r представление"

(да и вообще в раздел "Алфавит событий"), то наверное разберешся, что в сходящихся ЦС есть еще возможность заменять местами карты с одинаковм, скажем так, pq- рейтингом, без искажения сложения.

Конкретный пример того, о чем говорю - пост номер 8 темыhttp://www.dhlab.ru/forum/index.php/topic,330.msg2433.html#msg2433,

Или пост номер 5 темы http://www.dhlab.ru/forum/index.php/topic,242.0.html "А что если..."

Думаю Тебе будет любопытно это.

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

Если у меня появится время, - попробую предположить, с аргументами, какого общее число цепочек, которые Ты ищешь.

nick

konste, ты как истинный программер отсчитываешь посты с нуля   Smiley/Улыбается

Да, необходимо учесть все особенности, чтобы максимально обобщить паттерны. Таким образом помимо нахождения последовательностий вхождений мастей и номиналов я учту позиции карт, где масть либо номинал не имеют значения для сходимости расклада. Таким образом в результируюущем паттерне мы будем иметь не только вхождения типа [A1,B3], но и [?,B3], где ? - номинал, не играющий роли в раскладе.

Приводимые друг к другу цепочки очевидно надо выкинуть, ты прав, т.к. должны остаться только уникальные паттерны. На их базе попробую сделать общий вывод относительно цепочек 36:0. Неплохо было бы подвести под получиввшиеся паттерны теоретическую базу, так чтобы выявить их все, а не только те, которые получатся из анализа случайной последовательности цепочек.

konste

именно.

на днях свои мысли по теоретической базе оформлю сюда.

Ибо они имеются.

nick

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

Что характерно, при перекодировке цепочек их количество практически не уменьшилось (если уменьшилось, то на несколько штук). Так что возлагаю надежды на неучаствующие масти и номиналы. Либо же придется искать более сложные закономерности, чтобы таки вывести алгоритм.

Класс PMChainAnalyzer перекодирует цепочки и складывает результат в колелкцию с поддержкой уникальности.

36_0_chains_temp.rar - исходные цепочки (17793 штуки, из них ок. 20 повторяющихся).

36_0_chains_temp_converted.rar - те же цепочки, сконвертированные.

Я на несколько дней отъеду. Заодно будет время подумать.

nick

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

1 ... 419 420 421 422 423 424 425 426 427 ... 895
Перейти на страницу:
На этой странице вы можете бесплатно скачать Хакеры сновидений: Архив 1-6 - Lokky торрент бесплатно.
Комментарии
КОММЕНТАРИИ 👉
Комментарии
Аннушка
Аннушка 16.01.2025 - 09:24
Следите за своим здоровьем  книга супер сайт хороший
Татьяна
Татьяна 21.11.2024 - 19:18
Одним словом, Марк Твен!
Без носенко Сергей Михайлович
Без носенко Сергей Михайлович 25.10.2024 - 16:41
Я помню брата моего деда- Без носенко Григория Корнеевича, дядьку Фёдора т тётю Фаню. И много слышал от деда про Загранное, Танцы, Савгу...