Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Table shrinking bug in non-deterministic learning #30

Closed
emuskardin opened this issue Apr 12, 2022 · 3 comments
Closed

Table shrinking bug in non-deterministic learning #30

emuskardin opened this issue Apr 12, 2022 · 3 comments
Assignees

Comments

@emuskardin
Copy link
Member

emuskardin commented Apr 12, 2022

Onfsm learning still can run into infinite loops, which should not happen with table shrinking! The idea behind is that the table is constantly updated with respect to all seen observations and this avoids infinite closing loops.

Smallest reproducible example

from Examples import onfsm_mealy_paper_example
from random import seed
seed(14)
onfsm_mealy_paper_example()

What happens is the infinite closing loop. Most likely cause is that you do not update properly the cells based on previously seen data.

Originally posted by @emuskardin in #29 (comment)

@emuskardin emuskardin changed the title I have merged it. Looks good :) Table shrinking bug Apr 12, 2022
@emuskardin emuskardin changed the title Table shrinking bug Table shrinking bug in non-deterministic learning Apr 12, 2022
@emuskardin
Copy link
Member Author

Made substantial progress on branch non-det-dev.

Things to note: all cells are resampled during learning, and it seems that setting lower n_resample with this technique leads to less total sampling. We should consider adding a tree and smarter sampling limit.

There is still a bug with such low sampling -> in rare cases even tho table is closed, extended row will not find a representative. This is weird bug. Even assert get_rows_to_close() is not Null did not help...

@emuskardin
Copy link
Member Author

There is still a bug with such low sampling -> in rare cases even tho table is closed, extended row will not find a representative. This is weird bug. Even assert get_rows_to_close() is not Null did not help...

Fixed by computing whole extended S every time it is needed.

@emuskardin
Copy link
Member Author

Solved on branch non-det-dev.
Branch will be merged once abstracted version is adapted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants