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

Added VectorTime and BehavioralObserver class for feedback strategy #799

Merged

Conversation

ChristineZh0u
Copy link
Contributor

Currently the BehavioralObserver calculates the uniqueness score for each schedule's timeline and prints the score out in the console. Next step is to integrate/replace the TimelineObserver with BehavioralObserver.

The uniqueness score is calculated through MinHash. The function randomly chooses 100 elements (each element is a tuple of (vector time, event, SEND/DEQUEUE enum)) from the current timeline and compare them with all past timelines. The final score is the average number of miss-matches between the current timeline and the past timelines. If there is a duplicate timeline int the past, the uniqueness score will be 0.

Copy link
Member

@ankushdesai ankushdesai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is fantastic work!! I am super impressed with this PR!

@ankushdesai ankushdesai merged commit 2eda040 into experimental/feedback Oct 18, 2024
8 checks passed
@ankushdesai ankushdesai deleted the experimental/feedback_vector_clock branch October 18, 2024 05:00
ankushdesai added a commit that referenced this pull request Oct 18, 2024
* Add feedback strategy. (#715)

* Add feedback guided scheduling algorithms.

* Fix tests.

* Add location information to events.

* fix change.

* Improving the code with some cleanup. (#719)

* Disable trace logging to save disk space.

* Update feedback algorithm.

* fix feedback strategy.

* refactor.

* Remove experiment features.

---------

Co-authored-by: Ao Li <[email protected]>

* PR cleanup (#723)

* Added support for generating a warning when spec handles an event but does not add it in its observes list (#716)

* Create custom converter for JSON serialization in .NET8 (#717)

* Create custom converter for JSON serialization in .NET8

* Add check for different dictionary type for null replacement

---------

Co-authored-by: Eric Hua <[email protected]>

---------

Co-authored-by: Ankush Desai <[email protected]>
Co-authored-by: Eric Hua <[email protected]>
Co-authored-by: Eric Hua <[email protected]>

* Merge Recent Bug Fixes (#778)

* Added support for generating a warning when spec handles an event but does not add it in its observes list (#716)

* Create custom converter for JSON serialization in .NET8 (#717)

* Create custom converter for JSON serialization in .NET8

* Add check for different dictionary type for null replacement

---------

Co-authored-by: Eric Hua <[email protected]>

* udpate.

* update.

* update.

---------

Co-authored-by: Eric Hua <[email protected]>
Co-authored-by: Eric Hua <[email protected]>
Co-authored-by: Ao Li <[email protected]>

* Fix feedback strategy and remove experiment features.

* Removing Pattern (#786)

Co-authored-by: Christine Zhou <[email protected]>

* Remove conflict analysis

* Removing compiler changes (#789)

Co-authored-by: Christine Zhou <[email protected]>

* Cleanup.

* Revert changes to Event.

* Revert changes.

* Fix merge conflicts.

* Remove temp file.

* Rename LastSentReceiver to MessageReceiver

* Simplify scheduler implementation.

* Revert changes in QLearning strategy.

* Refactor.

* Added VectorTime and BehavioralObserver class for feedback strategy (#799)

Co-authored-by: Christine Zhou <[email protected]>

* Revert changes in PCTStrategy.

* Revert changes in Probabilistic folder.

* revert change.

---------

Co-authored-by: Ankush Desai <[email protected]>
Co-authored-by: ChristineZh0u <[email protected]>
Co-authored-by: Christine Zhou <[email protected]>
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

Successfully merging this pull request may close these issues.

2 participants