Page 6 of 7
Re: Bellman
Posted: May 5th, 2016, 4:48 am
by simeks
Scorbie wrote:These were in your sample search file. Does it mean the solution is accepted if "either 1) or 2) happens" or "both 1) and 2) happens"?
I normally use just one of them, but if both "inactive-gens-at-accept" and "sum-of-active-inactive-gens-at-accept" are used, the solution will be accepted as soon as either one of the conditions are true.
Scorbie wrote:Well, I was setting the search to find something similar to the syringe.
That means: 1) Multiple catalysts 2) Block restoration with filter.
But with "#S continue-after-accept 1" the search only seems to continue adding catalysts ONLY IF the bait is restored by the first catalyst.
I can't repeat this behavious. Of course, with the filter it would be very surprising so actually find a solution with just three simple catalysts.
But with this input file, which is your example without the filter, I find a lot more solutions with "continue-after-accept" set to 1, than when set to 0:
Code: Select all
#S min-activation-gen 40
#S max-first-activation-gen 65
#S max-reactivation-gen 100
#S max-active-gens-in-a-row 8
#S inactive-gens-at-accept 6
#S continue-after-accept 1
#S max-added-static-oncells 32
#S max-activated-cells 5
#S max-local-complexity 10
#S max-local-areas 3
#S min-local-area-separation-squared 15
#S max-global-complexity 100
#S old-result-naming 0
#P 19 19
?????????????????????????.
?????????????????????????.
?????????????????????????.
?????????????????????????.
?????????????????????????.
??????????......?????????.
??????????......?????????.
??????????..@@..?????????.
??????????..@@..?????????.
??????????......?????????.
??????????......?????????.
??????????......?????????.
??????????......?????????.
??????????......?????????.
??????????......?????????.
??????????......?????????.
??????????......?????????.
?????????????????????????.
?????????????????????????.
?????????????????????????.
?????????????????????????.
????????????????????????@.
???????????????????????@@.
???????????????????????@.@
Re: Bellman
Posted: May 5th, 2016, 5:34 am
by Scorbie
I wrote:But with "#S continue-after-accept 1" the search only seems to continue adding catalysts ONLY IF the bait is restored by the first catalyst.
simeks wrote:I can't repeat this behavious. Of course, with the filter it would be very surprising so actually find a solution with just three simple catalysts.But with this input file, which is your example without the filter, I find a lot more solutions with "continue-after-accept" set to 1, than when set to 0:
Whoops, I said it wrong... Coming from ptbsearch, I understood wrong how this works. Now I think I got it right. Without the filter, any one catalyst solution is accepted by Bellman, and when it's accepted, Bellman will move on, right? With the filter, Bellman doesn't accept the solution and will add more catalysts until it finds it... And I think setting "continue-after-accept" will lead to minimal solutions that do restore the bait block.
Also, this may be just me, but adding information about the approximate search time would be helpful...
Re: Bellman
Posted: May 8th, 2016, 5:29 am
by simeks
Scorbie wrote:
Without the filter, any one catalyst solution is accepted by Bellman, and when it's accepted, Bellman will move on, right? With the filter, Bellman doesn't accept the solution and will add more catalysts until it finds it... And I think setting "continue-after-accept" will lead to minimal solutions that do restore the bait block.
I rarely use filters myself. Hopefully the result is reasonable both with and without the "continue-after-accept" parameter, but I should think this through properly before a new update.
But the basic idea with "continue-after-accept" is that if a solution with catalyst A is reported, Bellman_szlim will continue to evolve the pattern with catalyst A still in place, and may find solutions with catalyst A+B and A+C for example. Without "continue-after-accept" Bellman will move on to a new search path after reporting catalyst A, and other solutions will not contain catalyst A.
Did you try the "catbellman.py" script in the repository? I think it helps dealing with getting lots of solutions when searching without a filter. It uses hints in the solutions from Bellman_szlim_073 to present a result of the search much faster than "BellmanReport.py" can do. Set "old-result-naming" to 1 in the input file to get the file names the script expects.
Scorbie wrote:
Also, this may be just me, but adding information about the approximate search time would be helpful...
I agree, but it's just very difficult to estimate within the program how far the search has proceeded. My best tip is to incremently increase the search settings (in particular "max-active-cells" and "max-global-complexity") and look for trends in how that affects the search time in each particular search.
Re: Bellman
Posted: May 8th, 2016, 11:07 am
by Scorbie
simeks wrote:Did you try the "catbellman.py" script in the repository? I think it helps dealing with getting lots of solutions when searching without a filter. It uses hints in the solutions from Bellman_szlim_073 to present a result of the search much faster than "BellmanReport.py" can do.
I did. I don't have Bellman right now, but I remember that it filtered results with glider count and pattern population. I made something similar with ptbsearch that supports primitive pattern recognition, but I think some better algo should be introduced to choose "interesting" ones better.
simeks wrote:My best tip is to incremently increase the search settings (in particular "max-active-cells" and "max-global-complexity") and look for trends in how that affects the search time in each particular search.
Ah, I see. I get that it isn't so easy. In ptbsearch one was running small 1 catalyst additions to many partial results, so I was able to present a crude time estimate.
Re: Bellman
Posted: August 19th, 2017, 6:00 pm
by toroidalet
When trying to install Bellman I get the following error:
Code: Select all
AdminisatorsMBP:bellman-code-e21ee33a96f32a97c7c03868a06a4b72ee5881ea [REDACTED]$ make
cc -O3 -c -o test_universe.o test_universe.c
cc -o test_universe universe.o lib.o evolve_simple.o makegif.o evolve_bitwise.o readfile.o findstill.o writefile.o textconv.o test_universe.o -lgd
ld: library not found for -lgd
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [test_universe] Error 1
rm test_universe.o
Re: Bellman
Posted: September 12th, 2017, 10:16 pm
by wildmyron
toroidalet wrote:When trying to install Bellman I get the following error:
Code: Select all
AdminisatorsMBP:bellman-code-e21ee33a96f32a97c7c03868a06a4b72ee5881ea [REDACTED]$ make
cc -O3 -c -o test_universe.o test_universe.c
cc -o test_universe universe.o lib.o evolve_simple.o makegif.o evolve_bitwise.o readfile.o findstill.o writefile.o textconv.o test_universe.o -lgd
ld: library not found for -lgd
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [test_universe] Error 1
rm test_universe.o
Did you manage to compile Bellman?
It looks like you are missing libgd, or the linker can't find it.
Andrew posted a few tips on
building for MacOS early in the thread. You don't need to do step 1 if you have the latest version of the code from sourceforge.
Re: Bellman
Posted: December 27th, 2017, 9:07 am
by Rhombic
Running BellmanWin (in Windows with Cygwin):
Code: Select all
TODO: handle tile wrap! (12, 0, 12)
Dumping 0
000:
001: EXPAND_LEFT DIFFERS_FROM_PREVIOUS DIFFERS_FROM_2PREV IS_LIVE HAS_ON_CELL S
002: EXPAND_LEFT EXPAND_RIGHT DIFFERS_FROM_PREVIOUS DIFFERS_FROM_2PREV IS_LIV E HAS_ON_CELLS
003: EXPAND_LEFT EXPAND_RIGHT DIFFERS_FROM_PREVIOUS DIFFERS_FROM_2PREV IS_LIV E HAS_ON_CELLS
004: EXPAND_LEFT EXPAND_RIGHT DIFFERS_FROM_PREVIOUS DIFFERS_FROM_2PREV IS_LIV E HAS_ON_CELLS
005: EXPAND_LEFT EXPAND_RIGHT DIFFERS_FROM_PREVIOUS DIFFERS_FROM_2PREV IS_LIV E HAS_ON_CELLS
006: EXPAND_LEFT EXPAND_RIGHT DIFFERS_FROM_STABLE DIFFERS_FROM_PREVIOUS DIFFE RS_FROM_2PREV IS_LIVE HAS_ON_CELLS
007: EXPAND_LEFT EXPAND_RIGHT DIFFERS_FROM_STABLE DIFFERS_FROM_PREVIOUS DIFFE RS_FROM_2PREV IS_LIVE HAS_ON_CELLS
008: EXPAND_LEFT EXPAND_RIGHT DIFFERS_FROM_STABLE DIFFERS_FROM_PREVIOUS DIFFE RS_FROM_2PREV IS_LIVE HAS_ON_CELLS
009: EXPAND_LEFT EXPAND_RIGHT DIFFERS_FROM_STABLE DIFFERS_FROM_PREVIOUS DIFFE RS_FROM_2PREV IS_LIVE HAS_ON_CELLS
010: EXPAND_LEFT EXPAND_RIGHT DIFFERS_FROM_STABLE DIFFERS_FROM_PREVIOUS DIFFE RS_FROM_2PREV IS_LIVE HAS_ON_CELLS
011: EXPAND_LEFT DIFFERS_FROM_STABLE IS_DEAD DIFFERS_FROM_PREVIOUS DIFFERS_FR OM_2PREV IS_LIVE HAS_ON_CELLS
012: EXPAND_LEFT DIFFERS_FROM_STABLE HAS_UNKNOWN_CELLS IS_DEAD DIFFERS_FROM_P REVIOUS DIFFERS_FROM_2PREV IS_LIVE HAS_ON_CELLS
013: EXPAND_LEFT DIFFERS_FROM_STABLE HAS_UNKNOWN_CELLS IS_DEAD DIFFERS_FROM_P REVIOUS DIFFERS_FROM_2PREV IS_LIVE HAS_ON_CELLS
014: EXPAND_LEFT EXPAND_RIGHT DIFFERS_FROM_STABLE HAS_UNKNOWN_CELLS IS_DEAD D IFFERS_FROM_PREVIOUS DIFFERS_FROM_2PREV IS_LIVE HAS_ON_CELLS
015: EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT DIFFERS_FROM_STABLE HAS_UNKNOWN_CEL LS IS_DEAD DIFFERS_FROM_PREVIOUS DIFFERS_FROM_2PREV IS_LIVE HAS_ON_CELLS
016: EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS IS_DEAD DIFFERS_F ROM_PREVIOUS DIFFERS_FROM_2PREV IS_LIVE HAS_ON_CELLS
017: EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS IS_DEAD DIFFERS_F ROM_PREVIOUS DIFFERS_FROM_2PREV IS_LIVE HAS_ON_CELLS
018: EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS IS_DEAD DIFFERS_FROM_PREVIOUS DIFFERS_FROM_2PREV IS_LIVE HAS_ON_CELLS
019: EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS IS_DEAD DIFFERS_FROM_PREVIOUS DIFFERS_FROM_2PREV IS_LIVE HAS_ON_CELLS
020: EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS IS_DEAD DIFFERS_F ROM_PREVIOUS DIFFERS_FROM_2PREV IS_LIVE HAS_ON_CELLS
021: EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS IS_DEAD DIFFERS_F ROM_PREVIOUS DIFFERS_FROM_2PREV IS_LIVE HAS_ON_CELLS
022: EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS IS_DEAD
023: EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS IS_DEAD CHANGED
024: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS IS_DEAD
025: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS IS_DEAD
026: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS IS_DEAD
027: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS IS_DEAD
028: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
029: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
030: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
031: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
032: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
033: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
034: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
035: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
036: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
037: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
038: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
039: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
040: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
041: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
042: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
043: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
044: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
045: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
046: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
047: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
048: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
049: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
050: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
051: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
052: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
053: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
054: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
055: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
056: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
057: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
058: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
059: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
060: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
061: EXPAND_UP EXPAND_DOWN EXPAND_LEFT EXPAND_RIGHT HAS_UNKNOWN_CELLS
assertion "0" failed: file "bellman.c", line 866, function: bellman_choose_cells
Aborted
I can't seem to run it at all. Any ideas?
Re: Bellman
Posted: December 28th, 2017, 5:04 am
by Kazyan
Rhombic wrote:Running BellmanWin (in Windows with Cygwin):
I can't seem to run it at all. Any ideas?
This looks like either A) your input file has a "?" cell on one of its edges or one cell from the edge--you need a padding of two blank rows all around for some reason--or B) your input file does not fit in a 64x64 space.
Re: Bellman
Posted: December 29th, 2017, 7:09 am
by Rhombic
Kazyan wrote:This looks like either A) your input file has a "?" cell on one of its edges or one cell from the edge--you need a padding of two blank rows all around for some reason--or B) your input file does not fit in a 64x64 space.
Yes, that was the issue! After attempting to find particularly unlikely catalysts, I am now trying this, which seems to stop calculating or at least, does not dump the statistics any longer:
Code: Select all
#S first-encounter 28
#S last-encounter 31
#S repair-interval 16
#S stable-interval 15
#S max-live 42
#S max-active 15
#P 0 0
....................................
....................................
..................???????????????...
..................???????????????...
..................???????????????...
..................???????????????...
................?????????????????...
.....@..........?????????????????...
...@.@.........??????????????????...
....@@.........??????????????????...
...........@@..?*????????????????...
...........@@..?*????????????????...
...............??????????????????...
...............??????????????????...
...............??????????????????...
...............??????????????????...
...............??????????????????...
....................................
....................................
#F 37 10 9
....
.**.
.**.
....
Have I added something weird or are the parameters all fine?
Re: Bellman
Posted: December 29th, 2017, 9:46 pm
by Kazyan
At max-active 15, that search will probably take weeks. I recommend max-active 6 for a short search or max-active 9 for a long one. If you're using fixed catalyst cells (the "*" cells), increase those thresholds by 3.
Re: Bellman
Posted: December 30th, 2017, 7:23 am
by Rhombic
Kazyan wrote:At max-active 15, that search will probably take weeks. I recommend max-active 6 for a short search or max-active 9 for a long one. If you're using fixed catalyst cells (the "*" cells), increase those thresholds by 3.
Good advice! The search, in this particular case, still stops after 2552 attempts. The problem disappears when I remove the filter. Is the filter correctly placed? Or have I done something wrong with it?
Re: Bellman
Posted: January 9th, 2018, 6:46 pm
by toroidalet
When running Bellman with the input file
Code: Select all
#S first-encounter 1
#S last-encounter 2
#S repair-interval 40
#S stable-interval 20
#S max-live 20
#S max-active 6
............@@.@@
............@@.@@
.
......????....*....????.
......?????????????????.
......?????????????????.
......?????????????????.
......?????????????????.
......?????????????????.
it indicates a solution has been found and generates the following gif (a single pixel)

- result000001-1-full.gif (1.87 KiB) Viewed 25720 times
and this output file:
Code: Select all
#S first-encounter 1
#S last-encounter 2
#S repair-interval 40
#S stable-interval 20
#S max-live 20
#S max-active 6
(the partial looked exactly the same).
What's going on?
Re: Bellman
Posted: March 30th, 2018, 11:10 am
by Rhombic
I posted about the feasibility of a further filtering tool for LLS but, after considering again, I have come to realise that it is so much more well-suited for Bellman.
The filter would involve that "at generation n, there must be N live cells in area (x,y,widthx,widthy) where A<N<B". This would allow so many more X->G or spark catalysts because you would not have to predict where the outcome appears! The filter could be set as follows:
#Z x y widthx widthy A B
(the variables have been described above)
I think this new type of filter is not only exceedingly useful for new discoveries, but should also be very easily implemented.
Re: Bellman
Posted: April 1st, 2018, 11:19 pm
by toroidalet
When running a search with simeks' fork of bellman with the following input pattern, it immediately prunes the entire search tree because it didn't "become active in time":
Code: Select all
#S repair-interval 40
#S max-live 20
#S max-active 6
#S first-encounter 1
............@@.@@
............@@.@@
.
......????....*....????.
......??????.*.*.??????.
......?????????????????.
......?????????????????.
......?????????????????.
......?????????????????.
I know there's a parameter for that, min-first-active-gen (min-first-activation-gen?) but when i use that it claims that the parameter is unknown.
Re: Bellman
Posted: April 3rd, 2018, 1:34 pm
by simeks
toroidalet wrote:When running a search with simeks' fork of bellman with the following input pattern, it immediately prunes the entire search tree because it didn't "become active in time"
When running bellman.exe from
here on Windows with your input, I get this console output:
Code: Select all
=== Bellman_szlim, v0.74 ===
--- Starting search, max generations = 39
Reasons why search space was pruned:
Static pattern is unstable: 59092
Stopped adding new on-cells: 0
Found a solution: 0
First activity too early: 0
Did not become active in time: 0
Activity after last allowed active generation: 84
Too many active generations in a row: 0
Too many added static on-cells: 0
Too many active cells: 20922
Too many local rectangles: 0
Solutions: 0, prunes: 80098
Total time: 00:00:00
Are you trying to compile on MacOS? I have no way of testing that, but if your console output isn't the same, then it seems it doesn't compile correctly.
Re: Bellman
Posted: April 6th, 2018, 1:53 pm
by Rhombic
Rhombic wrote:I posted about the feasibility of a further filtering tool for LLS but, after considering again, I have come to realise that it is so much more well-suited for Bellman.
The filter would involve that "at generation n, there must be N live cells in area (x,y,widthx,widthy) where A<N<B". This would allow so many more X->G or spark catalysts because you would not have to predict where the outcome appears! The filter could be set as follows:
#Z x y widthx widthy A B
(the variables have been described above)
I think this new type of filter is not only exceedingly useful for new discoveries, but should also be very easily implemented.
Sorry to bump without further input, but I think this deserves a closer look.
Re: Bellman
Posted: August 25th, 2018, 6:43 am
by Rhombic
Rhombic wrote:I posted about the feasibility of a further filtering tool for LLS but, after considering again, I have come to realise that it is so much more well-suited for Bellman.
The filter would involve that "at generation n, there must be N live cells in area (x,y,widthx,widthy) where A<N<B". This would allow so many more X->G or spark catalysts because you would not have to predict where the outcome appears! The filter could be set as follows:
#Z x y widthx widthy A B
(the variables have been described above)
I think this new type of filter is not only exceedingly useful for new discoveries, but should also be very easily implemented.
Honestly, I don't want to seem extremely insistent with this but I certainly am. Why? Because it would be one of the most powerful tools for Bellman to have - think of the c/2 signal extractor, or the 5c/9 signal extractor, or so so many other things. You can't "just guess" which lane and especially which tick the glider will appear in one exact position!! You literally prune the search space randomly if you do that.
This tool would honestly find all kinds of conversions that regenerate a catalyst.
Please, please, someone with more programming technique than me DO tackle this! It can be extended to so many problems that need solving, it would find all new catalysts that don't depend on specific pre-arranged transformations that we know happen...
It's the same as when I turned the searchRules.py into Rulesrc.py, I had actually said it quite a few times before I did it myself. Please do take me seriously with this, I might not be a great programmer but I try to keep my ideas consistent and well-supported by arguments

Re: Bellman
Posted: August 25th, 2018, 6:27 pm
by apg
Rhombic wrote:Please, please, someone with more programming technique than me DO tackle this!
Become that someone.
Re: Bellman
Posted: August 30th, 2018, 6:10 am
by Rhombic
calcyman wrote:Become that someone.
I will have another look at the source code, but bearing in mind that I can only code half-confidently in Python and my experience with C is almost zero, I do not think I'll be getting much done.
OK, I've already implemented the variables and put a placeholder on the part where the script should check whether the condition is met (what I have zero clue how to do).
I have marked all additions with " // CXI " and the part that I need help with with "HELP".
I don't really know how to do the equivalent to "g.getpop()" with this, I have tried to look through it but I am having quite a lot of trouble. Some help would be greatly appreciated. I have had another look at it this morning but I can't find the way CGoL is simulated and frankly, I really just need the following in C:
Code: Select all
inhabit_rect=(inhabit_x,inhabit_y,inhabit_wx,inhabit_wy)
g.select(inhabit_rect)
g.copy()
g.new("")
g.paste(0,0,"or")
pop=g.getpop()
if (pop <= inhabit_max) and (pop>= inhabit min):
return 1
else:
return 0
Re: Bellman
Posted: November 24th, 2018, 12:37 am
by Entity Valkyrie
My bellman does not work. It quit immediately after opening.
Re: Bellman
Posted: November 24th, 2018, 5:40 pm
by simeks
Rhombic wrote:
I have marked all additions with " // CXI " and the part that I need help with with "HELP".
I made an attempt with this. It isn't very efficient, but I think it might work.
Would you do some tests and check if it does what you expect it to do?
Note: on line 791 I changed
if((first_active_gen > 0) && (ge->gen > first_active_gen + inhabit_gen)) { //CXI
to
if((first_active_gen > 0) && (ge->gen >= inhabit_gen)) { //CXI
I think that is what you meant, but I'm not sure...
Re: Bellman
Posted: November 26th, 2018, 2:10 am
by Entity Valkyrie
But I still can't use bellman!!!
Re: Bellman
Posted: November 29th, 2018, 5:46 pm
by Rhombic
simeks wrote:Rhombic wrote:
I have marked all additions with " // CXI " and the part that I need help with with "HELP".
I made an attempt with this. It isn't very efficient, but I think it might work.
Would you do some tests and check if it does what you expect it to do?
Note: on line 791 I changed
if((first_active_gen > 0) && (ge->gen > first_active_gen + inhabit_gen)) { //CXI
to
if((first_active_gen > 0) && (ge->gen >= inhabit_gen)) { //CXI
I think that is what you meant, but I'm not sure...
As soon as I get some free time on my hands I will be testing this!
Thank you for having a go at it, I had no clue how the Life API works

Re: Bellman
Posted: November 30th, 2018, 11:49 pm
by Entity Valkyrie
Entity Valkyrie wrote:But I still can't use bellman!!!
WHY DID NOBODY REPLY ME???
Re: Bellman
Posted: December 1st, 2018, 8:40 am
by Rhombic
Entity Valkyrie wrote:Entity Valkyrie wrote:But I still can't use bellman!!!
WHY DID NOBODY REPLY ME???
Can you say what you have done and what error appears?
Go on cygwin, move to the folder with your Bellman and do this:
Code: Select all
gcc bellman.c bitwise.h evolve_bitwise.c evolve_simple.c lib.c lib.h readfile.c readwrite.h textconv.c universe.c universe.h writefile.c -o bellman;
gcc evolve_bitwise.c evolve_simple.c findstill.c lib.c lib.h mkstill.c readfile.c readwrite.h textconv.c universe.c universe.h writefile.c -o mkstill