PADLS Total development

Message boards : Code : PADLS Total development
Message board moderation

To post messages, you must log in.

1 · 2 · 3 · 4 · Next

AuthorMessage
Tomáš Brada
Project administrator
Volunteer developer
Avatar

Send message
Joined: 3 Feb 19
Posts: 297
Credit: 107,762
RAC: 57
Message 3265 - Posted: 31 May 2019, 10:41:04 UTC
Last modified: 31 May 2019, 10:45:56 UTC

The task is to feed output of generator_lk into family_mar basically. The generator enumerates all strongly normalized diagonal latin squares (SN DLK) and outputs only such squares that are in canonicial form (CF DLK). Squares in the output of this generator do not repeat, which is a great feature.
Int the ODLK project, CF generated by the mentioned generator are just checked for orthogonality using diagonal transversals. In this project the task is to check with family_mar program.
This program is interesting, because it checks LS faster, but this speedup is archived by checking about 250-500 daughter squares instead for each input square. The downside is that it checks more more than is is told to, so that inevitably means they are going to repeat if we are going to check all CF in a ruler.
The duplicates will be discussed later (some discussion already on progger forum).
The generator is flexible: it is easy to specify start and end of interval to search. But CF are not distributed evenly. There is much more CF at the beginning and very little at the end. It can run hours without finding a single CF. For BOINC it is preferred to have tasks of similar length, or at least length that can be estimated. With this generator it is not possible to estimate. It could run through the interval without checking a single CF dlk for orthogonality, or check every single SN dlk. We do not want tasks that run for months and then time out or be aborted by user without reporting any usable data to server.
One solution is to specify a time limit for each task. So the task will run for (eg) one hour and then upload the results and a checkpoint to the server. Server will then generate next task to continue where the previous one left. Of course it will be arranged so that many tasks are available for crunchers.
What about quorum? I think it would be best to run though the task once and then, if needed, do a quick or precise verification.
Similar (but not the same) computation was done in Gerasim and ODLK projects, so a reports and code from these should be collected and studied to avoid pitfalls and reinvention.

Quick preview of the planned app features:
* it will run for predictable, maybe even configurable time
* checkpoint regularly
* trickle credit
ID: 3265 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Tomáš Brada
Project administrator
Volunteer developer
Avatar

Send message
Joined: 3 Feb 19
Posts: 297
Credit: 107,762
RAC: 57
Message 3269 - Posted: 31 May 2019, 19:51:42 UTC
Last modified: 18 Jun 2019, 19:48:58 UTC

(there were 2 posts by Natailia here, which she deleted)
Thanks for the additions.
I will upload original and modified source code also on my github when it is.
ID: 3269 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Tomáš Brada
Project administrator
Volunteer developer
Avatar

Send message
Joined: 3 Feb 19
Posts: 297
Credit: 107,762
RAC: 57
Message 3271 - Posted: 1 Jun 2019, 7:06:49 UTC

The maximal CF of each group will be found in boinc project.
ID: 3271 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Tomáš Brada
Project administrator
Volunteer developer
Avatar

Send message
Joined: 3 Feb 19
Posts: 297
Credit: 107,762
RAC: 57
Message 3287 - Posted: 7 Jun 2019, 10:53:33 UTC
Last modified: 7 Jun 2019, 10:54:25 UTC

Please write english in this forum. There are better places for discussion than this.
Citerra:
It is not needed to search for maximum CF. The group is over and that's it.

Makarova:
Oh dear, Citerra joined the discussion! It is not necessary to look for a minimum CF either.
Enough minimum CF in the ruler, that is, in the first group. (Yes, and this CF is also not needed.)
Start the Belyshev's generator_kf program from this KF and ... search. Yeah. To the end of the line!
But you would have to search for a year!
Of course, you can send the tasks to clients, let them search :)
See: https://boinc.progger.info/odlk/forum_thread.php?id=115&postid=3834#3834

Citerra: дел (?)
ID: 3287 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Tomáš Brada
Project administrator
Volunteer developer
Avatar

Send message
Joined: 3 Feb 19
Posts: 297
Credit: 107,762
RAC: 57
Message 3288 - Posted: 7 Jun 2019, 10:57:30 UTC

The minimum and maximum CF will be found as a side-product. The boinc app will look for ODLK. Yes, the min/max is not needed, but it is not bad to have it. It will not cost anything. I want to start it already, but I can't, I am busy. Only three days, and I will be available again.
ID: 3288 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
citerra

Send message
Joined: 6 Jun 19
Posts: 3
Credit: 0
RAC: 0
Message 3289 - Posted: 7 Jun 2019, 11:22:23 UTC - in response to Message 3287.  

There are better places for discussion than this.
Unknown
ID: 3289 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Tomáš Brada
Project administrator
Volunteer developer
Avatar

Send message
Joined: 3 Feb 19
Posts: 297
Credit: 107,762
RAC: 57
Message 3290 - Posted: 12 Jun 2019, 11:51:15 UTC

Things did not go as well as I hoped.
ID: 3290 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Tomáš Brada
Project administrator
Volunteer developer
Avatar

Send message
Joined: 3 Feb 19
Posts: 297
Credit: 107,762
RAC: 57
Message 3292 - Posted: 13 Jun 2019, 20:08:23 UTC

Written input/output handling for workunit.
ID: 3292 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Natalia Makarova
Project scientist
Avatar

Send message
Joined: 8 Feb 19
Posts: 169
Credit: 0
RAC: 0
Message 3295 - Posted: 14 Jun 2019, 3:12:11 UTC
Last modified: 14 Jun 2019, 3:13:26 UTC

Tomáš Brada
is your notebook here? :)
ID: 3295 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Tomáš Brada
Project administrator
Volunteer developer
Avatar

Send message
Joined: 3 Feb 19
Posts: 297
Credit: 107,762
RAC: 57
Message 3296 - Posted: 15 Jun 2019, 21:57:19 UTC

There is a progress, but not finished yet.
ID: 3296 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Natalia Makarova
Project scientist
Avatar

Send message
Joined: 8 Feb 19
Posts: 169
Credit: 0
RAC: 0
Message 3297 - Posted: 16 Jun 2019, 4:59:12 UTC - in response to Message 3296.  

Tomáš Brada
if you are working on the PADLS TOTAL rule 51 experiment, I can send you my bank of CF in rule 51.
It can help you.
The bank contains 117314 CF, these are pivot points.
ID: 3297 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Tomáš Brada
Project administrator
Volunteer developer
Avatar

Send message
Joined: 3 Feb 19
Posts: 297
Credit: 107,762
RAC: 57
Message 3298 - Posted: 16 Jun 2019, 10:27:01 UTC

I have a bad habit of needlessly complicating things. I must back off and do it the simple way.

Natalia: I can generate pivot points in 10 minutes. But thanks anyway.
ID: 3298 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Tomáš Brada
Project administrator
Volunteer developer
Avatar

Send message
Joined: 3 Feb 19
Posts: 297
Credit: 107,762
RAC: 57
Message 3300 - Posted: 16 Jun 2019, 18:42:59 UTC

The bulk of the application is done. Input, output, main and even checkpoints. Ensuring consistent size of workunit is not done yet, some benchmarks are needed. And error handling.
ID: 3300 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Natalia Makarova
Project scientist
Avatar

Send message
Joined: 8 Feb 19
Posts: 169
Credit: 0
RAC: 0
Message 3301 - Posted: 17 Jun 2019, 0:57:11 UTC - in response to Message 3298.  
Last modified: 17 Jun 2019, 2:11:01 UTC

I can generate pivot points in 10 minutes.

This is a misconception.
The rule 51 has been checked in the ODLK BOINC project for over a year.
Until now, CFs is not known in all groups of rule.
For example, I have not yet managed to find CF in the 399th group.
Can you show at least the minimal CF in this group?

I could not find the maximal CF in rule 51. Do you have this CF?
This is an important reference point.
ID: 3301 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Tomáš Brada
Project administrator
Volunteer developer
Avatar

Send message
Joined: 3 Feb 19
Posts: 297
Credit: 107,762
RAC: 57
Message 3302 - Posted: 17 Jun 2019, 6:51:59 UTC

Sorry for the misconception, Natalia Makarova. I do not have a maximal CF for the rule 51. But I do not need a CF for splitting the interval - SNDLS is enough.
And: I finished the client application! Next generate some workunits and see if it works.
ID: 3302 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Tomáš Brada
Project administrator
Volunteer developer
Avatar

Send message
Joined: 3 Feb 19
Posts: 297
Credit: 107,762
RAC: 57
Message 3303 - Posted: 17 Jun 2019, 7:24:45 UTC
Last modified: 17 Jun 2019, 7:54:20 UTC

The server will work like this:
First split the rule into segments. Segments are like groups, but more cells are filled (group has first row filled).
For each segment a first sndlk is found. WU is generated for each segment with the sndlk as starting point.
The wu runs for some time. When it finishes, a checkpoint, along with results and stats is uploaded to server.
The server then generates next wu to continue where the previous one ended.
ID: 3303 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Tomáš Brada
Project administrator
Volunteer developer
Avatar

Send message
Joined: 3 Feb 19
Posts: 297
Credit: 107,762
RAC: 57
Message 3304 - Posted: 17 Jun 2019, 7:35:41 UTC

This is the output of one workunit (decoded). Blue colored is input part.
#rule 51
#start T72zxzJs9Hr1gMd5X8xeFJt2B
#min_level 0
#skip_below 0
#skip_fast 0
#skip_rule 0000000000000000000000000000000000000000000000000000000000000000000
#lim_sn 281474976710655
#lim_kf 4294967295

#n_sn 131
#n_kf 131
#n_daugh 37683
#last T72zxzJs9Hr1gMbyB1w57gjc3
#last_kf T72zxzJs9Hr1gMbyB1w57gjc3
#n_kf_skip_below 0
#n_kf_skip_below 0
#max_trans 896
#n_trans 108592
#interval_rsm 0
#ended 0
#userid 0
#n_odlk 0

This sample did not find any odlk (ran only for 10 seconds). ODLK would be written on the end like this:
#n_odlk 3
HNKv5Chy8LiU4eJTV7pk6PLL2 # rule=32 k=02
1g4HtKa27RRrzfRyoDxdXZaVF # rule=02 k=02
ZCmw683qVJa7UFFchAHAuo1aR # rule=63 k=01
ID: 3304 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Natalia Makarova
Project scientist
Avatar

Send message
Joined: 8 Feb 19
Posts: 169
Credit: 0
RAC: 0
Message 3305 - Posted: 17 Jun 2019, 8:08:44 UTC - in response to Message 3302.  

Sorry for the misconception, Natalia Makarova. I do not have a maximal CF for the rule 51. But I do not need a CF for splitting the interval - SNDLS is enough.

There are huge intervals (several billion SN DLS) in which there is not a single CF.
Will these intervals be processed by clients to find CFs in them?
ID: 3305 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Natalia Makarova
Project scientist
Avatar

Send message
Joined: 8 Feb 19
Posts: 169
Credit: 0
RAC: 0
Message 3306 - Posted: 17 Jun 2019, 8:32:20 UTC - in response to Message 3302.  

And: I finished the client application! Next generate some workunits and see if it works.

The server is not yet in operation.
ID: 3306 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
Tomáš Brada
Project administrator
Volunteer developer
Avatar

Send message
Joined: 3 Feb 19
Posts: 297
Credit: 107,762
RAC: 57
Message 3307 - Posted: 17 Jun 2019, 12:56:40 UTC - in response to Message 3306.  
Last modified: 17 Jun 2019, 12:57:13 UTC

The server is not yet in operation.

Yes. And that is because I haven't generated the workunits yet.
Working on program to load the workunits into database.
ID: 3307 · Rating: 0 · rate: Rate + / Rate - Report as offensive     Reply Quote
1 · 2 · 3 · 4 · Next

Message boards : Code : PADLS Total development

©2019 Tomáš Brada