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

Forgetting learnt uncertainty reduction of liquidity in case of contradictions #7553

Open
renepickhardt opened this issue Mar 30, 2023 · 2 comments · May be fixed by #8330
Open

Forgetting learnt uncertainty reduction of liquidity in case of contradictions #7553

renepickhardt opened this issue Mar 30, 2023 · 2 comments · May be fixed by #8330
Labels
brainstorming Long term ideas/discussion/requests for feedback path finding

Comments

@renepickhardt
Copy link

While doing the information theoretic payment delivery you keep track of two values for each channel in each direction

  1. failAmount is the amount that in your last observation the channel was not able to forward
  2. successAmount is the amount that in your last observation the channel was able to forward

In the follwoing line you make a sanity check:

if failAmount <= successAmount {

if the check triggers you return a 0 probability. However I think it might make sense to just reset the learnt knowledge as it is clearly outdated to successAmount = 0 and failAmount = capacity and compute the probability from there and relearn knowledge by potentially attempting a payment (depending on the result of the probability result). Of course instead of resetting both variables one could only reset the one variable for which the information is older.

btw I didn't say that before but I like the naming failAmount and successAmount better than eclairs naming high and low or my own naming maxLiquidity and minLiquidity.

@bitromortac
Copy link
Collaborator

bitromortac commented Mar 30, 2023

I agree that this may be too exclusionary (thinking about submitting a fix), also see this comment:

// Mission control may have some outdated values, we correct them here.

It won't fail forever however, after a certain time, the failAmount and successAmount should recover back to their default values of successAmount=0 and failAmount=capacity via the exponential decays. And thanks for having a look!

@renepickhardt
Copy link
Author

oh yeah I know that the exponential decay fixes this (: It is also only a minor observation. I just thought in that case one could directly forget the outdated information.

The reason I wanted to emphasize this is in the wider context of weather an exponential decay is necessary at all. (we don't know how strong the decay should be) thus my initial (but not necessarily better) approach would be to continue learning and once we get a contradiction forget everything for that channel and start over with no knowledge. Following that philosophy I thought I pointed out that one could directly forget the knowledge while maintaining the decay that you have.

@Roasbeef Roasbeef added brainstorming Long term ideas/discussion/requests for feedback path finding labels Apr 3, 2023
@bitromortac bitromortac linked a pull request Jan 2, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
brainstorming Long term ideas/discussion/requests for feedback path finding
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants