- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Хакеры сновидений: Архив 1-6 - Lokky
Шрифт:
Интервал:
Закладка:
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
Реализовал проверку на масти и номиналы, не принимающие участия в раскладе. При этом за масть или номинал, не принимающий участия в раскладе, считалась, соответственно, масть или номинал данной карты, которые не участвовали ни в одном сложении. Это было сделано чтобы максимально сократить количество цепочек.

