Skip to content

Commit dc9870d

Browse files
committed
readme
1 parent 45971de commit dc9870d

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

Kneedle.sln

+7-2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,14 @@ Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio 15
44
VisualStudioVersion = 15.0.28307.168
55
MinimumVisualStudioVersion = 10.0.40219.1
6-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kneedle", "Kneedle\Kneedle.csproj", "{F17D3B14-C2FB-4631-8625-BEA3E2E23396}"
6+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kneedle", "Kneedle\Kneedle.csproj", "{F17D3B14-C2FB-4631-8625-BEA3E2E23396}"
77
EndProject
8-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kneedle.Tests", "Kneedle.Tests\Kneedle.Tests.csproj", "{B06F925D-6AAD-4D1C-84A4-FFB1EB96EC2A}"
8+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kneedle.Tests", "Kneedle.Tests\Kneedle.Tests.csproj", "{B06F925D-6AAD-4D1C-84A4-FFB1EB96EC2A}"
9+
EndProject
10+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{887604A3-1010-45DC-9F59-E3883795F4AE}"
11+
ProjectSection(SolutionItems) = preProject
12+
README.md = README.md
13+
EndProjectSection
914
EndProject
1015
Global
1116
GlobalSection(SolutionConfigurationPlatforms) = preSolution

README.md

+24-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,25 @@
11
# Kneedle
2-
Implementation of knee/elbow finding algorithm 'Kneedle' in c#
2+
Implementation of knee/elbow finding algorithm 'Kneedle' in c#.
3+
4+
Calculates knee points using the Kneedle algorithm. Returns the x value corresponding to the knee point when successful, null otherwise.
5+
6+
## Reference
7+
"Finding a ‘kneedle’ in a haystack: Detecting knee points in system behavior. "
8+
Satopaa, V and Albrecht, J and Irwin, D and Raghavan, B
9+
31-st International Conference on Distributed Computing Systems
10+
2011
11+
[https://raghavan.usc.edu/papers/kneedle-simplex11.pdf]
12+
13+
14+
## Inputs
15+
Needs the data points provided x-sorted.
16+
17+
Positive curvature is when the tangent traces anti-clockwise.
18+
19+
## Output
20+
Returns the x value corresponding to the knee point.
21+
22+
Can return null when the algorithm fails to identify a knee/elbow for various reasons:
23+
- the number of data points is too small
24+
- there are no local maxima on the diffs, which means either the curve is a line, or the parameters provided are incompatible with the curve
25+

0 commit comments

Comments
 (0)