Магия, Мистика, Религия, Непознанное на AWorld.ru - Иной Мир, центр общения. ~ AWorld.ru ~ Иной Мир ~
Центр общения.
Магия, Мистика, Религия, Непознанное.

podrobnee: u tebu mogut spizdit ideu, mudakov takih more :)
do nih bukvalno rukoi podat
go to www.copyright.ru and read
      пфьук (#167, 2005-12-15, 20:06:58 )

пфьук, глянь приват.
     Dveikut (#168, 2005-12-15, 22:30:05 )

пфьук - понял.
работаю пока сам.

MonZon - тайминг это просто. в топике “ицзин“ есть алгоритм April сборки ПМ в нем карта левее всех выложенных - открывает новую секциб тацминга, внутрь выложенных - удлиняет ту секцию, в которую попадет...
Возможно есть варинты открытия секций при помещеении карты внутрь выложенных - подробно не проверял. Есть идея написать програмку с реализацией этого подхода. И потом она мне поможет в тех делах, где я сейчас окопался... надо только суметь кроме реальных колод научить её работать, так сказать с алгеброй. а может это и не существенно.

Про программу написаную вместе и для многих задач.
_____
Хорошо писать АРМ когда ясно какой круг задач оно решает. Когда есть язык программирования, +WinAPI, и др. У нас пока нет теории и единообразия - и это основной тормох отхода от работы с набором маленьких тузл.

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

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

Каждый модуль получает от оболочки нужные ему указатели из нашего общего массива, и может работать с содержимым.
Оболочка отвечает за обновление, взаимодействие и прочее. Возожно здесь нужна база данных. - кто что посоветует по реализации??

Модули - это 1. ввод ПМ как текста, 2 - нажимая на кнопочки, 3- по методу April и т.д. 4 - проверка сходимости, 5 - рассчет таймингов, 6 - синтез ПМ... , 7 - расчет разностей потенциалов..., 8 - представление гексами, 9 - зеленое сукно и картинки карт...

если удается грамотно спроектировать оболочку - участникам развязаны руки.
Идеал - интерактивность - я меняю порядок карт в колоде в одном окне, на одной форме, а в другом окне (на другой форме) - модуле автоматически пересчитывается сходимость и (или) тайминг...
___

Это все мое ИМХО, сформулированное в течении суток, на основе моего скромного, любительского опыта в программированиии (и забытого двухлетненго обучения теории этого дела). Возможно есть более современные и удобные подходы к таким вещам. Буду рад услышать Ваши мнения!

____
флаговые карты... - ну я думаю, тут скорее ответиить мог бы, например Vigo, или April - кто то из практиков.
Я с такими вопросами лезу в практикум, который вел Саид и читаю, то что там было... И это тоже не догма...
Сейчас я углубился в теорию, и не знаю ответа на такой вопрос. Теория пока на него мне не отвечает... Возможно, когда, будет готова модель с корнями и нитегрирована с “черепашками“ - будет получен естественный ответ. Возможно, прийдется установить связь с гексами... Об этом рано думать. Меня волнует все больше вопрос, который мне уже задавали в этом топике - практическая проверка теории... Сборка заказных видов сходящихся ЦС - это хорошо. Но для чего? :)))
      konste (#169, 2005-12-16, 21:08:25 )

ну короче, до библы с графами пока не дошел, но буду с ней работать обязателно
вот у меня какая примерно колода как класс вырисовывается
---
type
// one card
TPMCardRec = record
Suit: integer;
Nominal: integer;
end; // TPMCardRec record

// card desk chain
TPMCardSet = class
private
Cards: array [0..pmCards - 1] of TPMCardRec;
Validated: Boolean; // right and full cardset
function GetCard(Idx: integer): TPMCardRec;
procedure SetCard(Idx: integer; Value: TPMCardRec);
protected
function NormalCardIndex(Idx: integer): integer;
procedure ImportPrim(PrimStr: WideString; Relative: Boolean = False);
public
property Card[Idx: integer]: TPMCardRec read GetCard write SetCard;
property IsValid: Boolean read Validated;
constructor Create;
procedure Clear; // fill by pmBadCard
procedure Validate; // check to doubles in cardset, and without pmBadCard
procedure NormalizeCard(Idx: integer); // normalize suit and nominal of one card
procedure NormalizeCards; // normalize all cards
function CardName(Idx: integer; Relative: Boolean = False): WideString;
function Name(Relative: Boolean = False): WideString;
function OctavedName(Relative: Boolean = False): WideString;
procedure Sort2Right; // cardset from 6 diamond to ace spade
procedure Sort2Left; // cardset from ace spade to 6 diamond
function Import(CardStr: WideString; Relative: Boolean = False): Boolean;
function Export2CSV(Relative: Boolean = False): WideString;
function TransSuits(Idx1: integer; Idx2: integer = pmBadCard): Boolean;
function TransNominals(Idx1: integer; Idx2: integer = pmBadCard): Boolean;
function Transited(Idx1: integer; Idx2: integer = pmBadCard): Boolean;
function IsReconverging : Boolean;
function TimingString: WideString;
procedure Exchange(Idx1, Idx2: integer; Size: integer = 1);
procedure ShiftHorz(Idx: integer; Size: integer = 1; Left: Boolean = False);
procedure ShiftVert(Value: integer = 1; Suite: Boolean = False);
procedure Normalize;
procedure MakeTransitPath(First: integer = 0; Last: integer = pmCards - 1);
procedure UnTransitPath(First: integer = 0; Last: integer = pmCards - 1);
end; // TPMCardSet class
---
методы конечно не все еще детално прописаны,
и это далеко не окончателный вариант по названиям и функциям.
типа отчёта как бы
вот как пример работы - код
---
procedure TfrmMain.BitBtn2Click(Sender: TObject);
var
pm: TPMCardSet;
S: WideString;
tmp: integer;
begin
pm := TPMCardSet.Create;

// setup transit path
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
S := “9D,9C,9H,9S,AS,KS,JS,7S,6S,6H,8H,10H,QH,AH,KH,JH,“;
//17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
S := S + “JC,JD,10D,10C,8C,6C,6D,7D,8D,8S,10S,QS,QD,QC,AC,KC,7C,7H,KD,AD“;

if pm.Import(S) then
begin
Log(msgImport[LangID] + “: [“ + pm.Name + “]“);
Log(msgTiming[LangID] + “: [“ + pm.TimingString + “]“);
if not pm.IsReconverging then
Log(msgNonReconverging[LangID]);
pm.UnTransitPath(0, 32 - 1);

tmp := LangID;
if tmp <> lngRussian then
LangID := lngRussian;
SetupLanguage;

Log(msgUntransit[LangID] + “: [“ + pm.OctavedName + “]“);
Log(msgTiming[LangID] + “: [“ + pm.TimingString + “]“);
if not pm.IsReconverging then
Log(msgNonReconverging[LangID]);

if tmp <> LangID then
LangID := tmp;
SetupLanguage;
end
else
begin
Log(msgWrongInput[LangID]);
Log(“[“ + S + “]“);
end;

pm.Free;
end;
---
в логе это выглядеть будет вот так
---
---+++ 17 Декабрь 2005 г. 02:09[English] +++---
Import: [9d,9c,9h,9s,As,Ks,Js,7s,6s,6h,8h,10h,Qh,Ah,Kh,Jh,Jc,Jd,10d,10c,8c,6c,6d,7d,8d,8s,10s,Qs,Qd,Qc,Ac,Kc,7c,7h,Kd,Ad]
Timing: [3:1:2:1:1:1:3:1:1:1:1:2:4:3:3:2:2:1:4]
Warning: patience is non-reconverging!
---+++ [Русский] +++---
Ретранзит: [(9б,8ч,6к,9к,10ч,6б,9ч):(Дч,7б,9п,Тч,8б,Тп):(Кч,8п):(Кп):(Вч,10п):(Вп):(Вк,Дп):(7п,Вб,Дб,6п,10б):(Дк,6ч,10к):(Тк,8ч,Кк):(7к,7ч,Кб,Тб,9к)]
Тайминг: [7:6:2:1:2:1:2:5:3:3:5]
Внимание: несходящийся пасьянс!
---
кое чё подправлю, завтра выложу

есть ли у когоньть готовая цепочка 35:1 для отладки?
      пфьук (#170, 2005-12-16, 22:12:55 )

konste
по поводу флаговых карт, кстати
я уже и не помню с чем это связано, постаните сюда цытатку бум разбирацца

“Сборка заказных видов сходящихся ЦС - это хорошо. Но для чего? :)))“
да много для чего,
если поначалу нас интересует тока результат - последнее событие,
то при более качественном подходе, например, мы можем научиться автоматически получать его,
наиболее оптимальным путем.
например мы можем регистрировать цепочку 3:1:1:1:1 ...
последнее событие наступит в результате одного схлопывания
а представь теперь что это же событие получится при автоматическом схлопывании 4-5 транзитов.
тоесть мы получим еще и резонанс хлопков.
дальше, Мася упоминала об использовании нескольких цепочек для достижения эффекта,
тоесть какбы разгоняющаяся, накопительная и результирующая цепочка.

ну и по блокам карт.
например утром просыпаясь мы выполняем как правило однообразные действия,
мы их ваще не регистрируем похоже, на автомате.
а ведь если присмотреться, то готовясь к разным событиям, которые мы ожидаем в течении дня,
мы бессознателно меняем этот порядок (настраимваемся).
а ведь это мона контролировать, делать это наиболее оптимално.
следующий феномен - дежавю
похоже что это результат сложения цепочки, которую мы уже выполняли раньше, но в другом контексте.
тоесть расклад колоды уже такой встречался.
про повторение друг-за-другом я не пишу, это другой интересный эффект :)
      пфьук (#171, 2005-12-17, 18:28:26 )

у меня сейчас комп с архивами не под рукой, цепочек 35:1 не могу представить,
поэтому буду описывать типа на пальцах.

итак, допустим мы нашли по нашему графу непрерывную цепочку из 36 карт (вершин),
причем, есно, без повторений граней-дуг и карт-вершин.
но это ведь путь транзитов!
нам надо теперь превратить эту последовательность в расклад.
так как наш путь непрерывен, то естественно мы ожидаем, что тайминг будет 35:1
(надеюс этот момент понятен)
попрбуем ручками нарисовать-спроектировать этот расклад теперь
1-X-2-X-3-X-4-X ...
где 1,2,3,4 - последовательность карт в нашем пути,
а X - неизвестная карта, служащая разделом между тригоном карт
что мы получим?
а получим мы номерную последовательность только половины нашего пути.
допустим мы типа уже опытные “графоманы“
и при нахождении пути задавали начальную и конечную карту сознателно,
тоесть последняя карта в пути транзитов, должна быть последней и в раскладе.
тогда получется что нам нуна разбить наш путь на две половинки, и чередовать их.
1-2-1-2-1-2-1-2 ... где 1 и 2 - половинки пути транзитов
1-19-2-20-3-21-4-22 ... это уже номера карт в цепочке
ура! получилось!
и жестокий облом када мы начнем реально складывать эту цепочку :(
потому как чередующиеся транзиты будут приводить к немедленному сложению :)
или тайминг будет вот такой 3:1:1:1:1:1 ...
чтож тады делать-то?
надо предотвратить ненужное сложение введением дополнителных вставок карт
1-2-Х-1-2-X-1-2 ...
откудаж их взять?
значит надоть разбить непрерывный путь транзитов не на две, а на три части!
1-2-3-1-2-3-1-2 ...
1-я часть 11 карт, 2-я и 3-я по 12 карт (почему - сами разбирайтесь :)
или в номерах карт нашего непрерывного пути транзитов:
1-12-24-2-13-25-3-14 ... 36
ура! получилось!
чтоже это за алгоритм такой?
123123123123
попробуйте посоединять одинаковые цифры чередуя верх и низ :)
это алгоритм плетения девичьих кос из транзитов!
из этого следует о#$%тельное количество следствий
главное из которых - плетение узоров транзитов,
которые автоматически приводят к сложению на 35-м этапе.
нам не нужно запоминать всю цепочку событий тада,
нужно лишь запомнить правило, по которым плетутся тройка кос транзитов.
тоесть мы типа пробрасывая косы из прошлого в будущее, формируем настоящее :)
и мы можем сложить текущий набор событий, перекинув другую косы какбы,
при этом начинается плетение уже новой косы.
что это за три косы, имеют ли они аналоги с черточками гекс в ицзин,
как с их помощью вплетать другие события и продолжать-подключать другие цепочки ?
целое поле для исследований :)
      пфьук (#172, 2005-12-17, 18:31:51 )

да, еще, в связи с косами,
при нахождении непрерывного пути на графе из 36 вершин,
на 12 и 24 вершине возникают дополнительные ограничения,
чтоб эти карты из кос не транзитировали с “косевыми“ соседями.
я считаю, это даже хорошо.
ибо уменьшает общее число сходящихся раскладов как бы :)
      пфьук (#173, 2005-12-17, 19:26:48 )

вот что на дельфях у меня сейчас - выложил на
http://ypond.narod.ru/pm/PMGraph.sfx.exe
это какбы стихийно сложившийся вариант,
тоисть примерно как хотелось бы видеть реализацию методов.
и, я думаю, без проблем будет и поменять всё :)
в принципе мона туда добавить загрузку опций(каналов),
или приступать к конвертеру из форматов в формат с буфером, экселем, текстом, драгндропом
я пока перейду к AGraph,
надо добиться нахождения пути из 36 вершин.
      пфьук (#174, 2005-12-17, 20:07:48 )

пфьук, спасибо!
В ближайшее время будк разбираться с этим. Delhi дистрибутив и книжка, уже у меня... :)
      konste (#175, 2005-12-18, 09:38:26 )

пфьук.
//из этого следует о#$%тельное количество следствий
главное из которых - плетение узоров транзитов,
//
Это любопытно, что ты ТАК выразился - “плетение узоров транзитов“.
Я потому и заинтересовалась хакерским применением ПМ, потому что пасьянс имеет прямое отношеие к т.н. “практикам плетения“, где “плетение“ понимается очень широко, в том числе и как “плетение узоров судьбы“. Если сделать скидку на специфику терминов, то это очень созвучно твоему, ты не находишь?
      April (#176, 2005-12-20, 08:31:58 )

April
а это я наткнулся на это в книге одной про узлы и косы, математическо-топологической.
первый этап плетения складывается, все отлично,
а со вторым не совсем :(
после складывания получается типа новый узор, который типа вложенный должен быть уже.
сейчас колдую :))
действительно не косы получается, я типа варежки, гы :)
      пфьук (#177, 2005-12-20, 08:50:12 )

вот решил зайти немного с другой строны с “корнями“
взял прогу калькулятора ПМ (pm3112.exe)
поставил **
тоесть лубые сходящиеся расклады.
сгенерил 5000 штук.
написал тулзу которая пытается найти разные корни в уже готовых цс.
http://ypond.narod.ru/pm/PMRoots.sfx.exe
что она делает:
для начала ей надо скормить лог-файл со сгенеренными цепочками.
тоесть надо его скопировать в директорию где лежит моя тулза.
запустить, нажать “прочитать“
затем отметить чекбокс “учитывать разность симпатий“ и опять прочитать.
в результате мы будем иметь файлы с переменами цепочек
первый файл - только по валентностям, второй - плюс по симпатиям.
ну и тоже самое в формате csv (для экселя).
перемен всего 35!
после этого мы настраиваем на нужный поиск корней перемен в картах,
и фильтр отсева по количеству повторов.
ну и учитывать ли разность симпатии.
нажимаем анализировать, и ждем.
алгоритм не оптималный, писалось на гоячую руку, но работает.
корни пишутся в текстовые файли и в csv
формат csv такой:
---
разность по валентности отделной буквы корня
разность по симпатии если выбрано
пустая клетка
встреченное количество при сканировании
пустая клетка
ряд, показывающий встречаемое положение первой буквы в полной цепи перемен встреченной цепочки.
---
сканирование мона прервать в любой момент, но повторный процесс затирает файлы.
я гонял по 500 штук цепочек пока.
нет возможности и времени оставить на полное сканирование.
пока результаты такие -
похоже легко находятся буквы корней:
тоесть учитываются 4 карты с 3-мя переменами и с учетом симпатии, повторов много
дальше хуже :(
а без учета симпатий - 5 карт с 4-мя перменами
в принципе глядя на общую разность и рисунок этих повторов,
что-то смутно прорисовывается как бы :)
      пфьук (#178, 2005-12-24, 21:52:55 )

елки, у меня выдалась совершенно занятая прошлая неделя, да и эта выглядит не лучше... Но я тут, где то рядом...
      konste (#179, 2005-12-26, 17:48:54 )

а смутно прорисовывается вот что на самом деле:

1. порядок карт или событий существенно меняется при сложении.
тоесть перемену (разницу между событиями) надо учитывать уже в сложенном порядке,
а не изначальном!

2. разность по валентности должна быть в границах -4..4, по симпатии 0..3.
другими словами корни не сами события, а порядок перемен при их сложении.

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

следующую карту.
судя по схеме днк, следует еще одно правило, следующие друг-за-другом хлопки с транзитами по сим

патии только (разность валентностей = 0) принимаем тоже как одно событие.
при отрабатывании таких вот ситуаций мы получаем одну гексу события.
другими словами похоже что тайминг типа (3:10:10:10:3) содержит 5 гекс,
тайминг (36) - одну гексу,
максимум 31 гексу.
полная фиксация шара (это следующий уровень сливок) - 64 гексы мона получить за две цепочки как минимум, максимум -64 цепочки.
вот этот уровень сливок уже соответствует полностью физическому эффекту магической работы осознания.

еще раз пдчеркну, порядок событий во времени меняется при сложении!
это оч важно и интересно!
      пфьук (#180, 2005-12-27, 21:14:43 )

Сделайте бэкап на всякий случай. Против нашего форума опять затеяли какую-то интригу. Есть возможность (пусть и маленькая) уничтожения Школы волшебства.
      Эллайна (#181, 2005-12-27, 23:00:04 )

поставил дельфи. впереди выходные - обнадеживает.
сейчас сбекапалю кое - что...
      konste (#182, 2005-12-28, 18:51:54 )

всё чики-чики, камплитли.
      лукреций (#183, 2005-12-28, 19:48:07 )

Провел праздники за чтением документации по СОМ и созданию плагинов в dll библиотеках. Думаю остановиться пока на последнем варианте. Осталось дело за малым - написать действующий пример и выложить - чтобы было что обсуждать.
Соответственно пока отвлекся собственно от ПМ и корней.
      konste (#184, 2006-01-11, 18:28:05 )

подведу маленкий итог здесь.
дальнейший поиск корней требует создать еще один инструмент.
пошаговый дамп сложения расклада.
тоесть вводим любой расклад в виде строчки, жмем кнопку
в результате мы должны получить результаты сложения событий, после каждого хлопка.
с расчетом валентностей, симпатии каждой стопки в ряду и в целом.
тогда мы сможем вявить корни второго рода, которые связывают нас уже с гексами.
возможно это то, что нам и нужно для проектирования блоков.
сейчас меня перестал устраивать формат мессаг здесь, поэтому я решил сосредоточиться
на организации лаборатории, раз ангелы ее рассекретили.
буду делать форум в первую очередь, чтоб мона было приводить каритнки, ссылки, код и т.д.
будет и нормальный обменник.
темы исследований лаборатории - развитие старых и создание новых разработок хс.
если кто горит желанием реально помочь, особенно по администрированию и настройке форумов,
вэлкам в приват.
после этого, буду рисовать вышеописаный тулз.
      пфьук (#185, 2006-01-15, 15:36:32 )

Согласен с пфьук по большинству пунктов.
С конца декабря двигаюсь сам к созданию подобной тулзы.
Да, много медленнее, чем мне бы хотелось, но бросать не собираюсь.
По поводу - лаборатории - удобное место работы - дорогого стоит.
Впрочем эту ветку я бросать совсем не собираюсь, в любом случае - не собирабюсь взять и исчезнуть.
      konste (#186, 2006-01-16, 08:14:03 )
Отправить ссылку другу
Раздел закрыт

Рейтинг@Mail.ru Rambler's Top100 Продвижение сайта