Hallo,
ich bin auf der Suche nach einer Software welche Zahlenreihen erkennen
kann und die nächste Zahl in der Reihe vorhersagt ähnlich wie bei Excel
1
2
3
4
Das Programm soll dann die nächste Zahl (5) vorhersagen.
Nur eben etwas komplexer
Danke und Grüße
Sebastian
Definiere "etwas komplexer". Konstante Differenzen und Faktoren lassen
sich leicht erkennen, danach landet man Schritt für Schritt entweder bei
einer Sammlung priorisierter Regeln (so arbeitet vermutlich Excel) oder
einem Versuch in künstlicher Intelligenz. Das bekannteste Projekt dazu
dürfte Seek-Whence sein, das Douglas Hofstadter in Fluid Concepts and
Creative Analogies
(https://en.wikipedia.org/wiki/Fluid_Concepts_and_Creative_Analogies)
beschrieben hat.
@wegstaben: welche Informationen fehlen dir denn?
@michael: hier ein Beispiel aus der der Praxis:
0178913
0280314
0381915
0483716
Hoffe es hilft weiter, hier noch die Auflösung
01 789 13
789+01+13 = 803
02 803 14
803+02+14 = 819
etc
Sebastian Herbert schrieb:> Hoffe es hilft weiter, hier noch die Auflösung
Dann programmiere halt die Auflösung.
So ein Programm das auch noch eine Zahl in drei (beliebige?)
unterschiedliche Spalten aufsplitten soll (ohne jegliche Information
über eine Semantik zu besitzen) und dann für die einzelnen Spalten
unterschiedliche verkettete Regeln herzaubern soll wirst du
wahrscheinlich nicht mal von der NSA bekommen.
Hallo zusammen,
Danke für Eure Hilfe, dachte ich mir schon fast
@Michael: dadurch werden temporäre Zugangsdaten zu unseren Anlagen
generiert, anstelle der 01, 02 kommt die Anlagennummer und anstelle der
letzten zwei Zahlen das aktuelle Datum.
Beste Grüße
Michael G. schrieb:> Das ist... hochgradig nichttrivial ;-D>> Nein, da gibt es vermutlich nichts von der Stange.>
Ich würde für völlig beliebige Regeln sogar eine NP-Vollständigkeit
unterstellen.
Ich habe die Aufgaben der form "Setzen sie die Zahlenreihe um die
nächsten n Zahlen fort." immer gehasst und als komplett unsinnig
empfunden. Es gibt nämlich für jede beliebige Fortsetzung immer
unendlich viele Funktionen oder ein Algorithmen, die diese generiert.
z.B. https://en.wikipedia.org/wiki/Polynomial_interpolation
Ohne zusätzliche Einschränkungen gibt es also weder eine Falsche, noch
eine Richtige Lösung, aber akzeptiert wird am ende von den Lehrern nur
eine!!! Und "die Einfachste" ist keine anwendbare Einschränkung, weil
komplett subjektiv und nicht mathematisch definierbar.
Sebastian Herbert schrieb:> @wegstaben: welche Informationen fehlen dir denn?
was brauchst du?
[x] nur eine algorithmische Idee, oder irgendetwas in einer
Programmiersprache, oder gar als ausführbares Programm?
[x] Wenn Programmiersprache: Welche soll es denn sein?
Kannst du selber den Code auf irgendwas implementieren?
[x] Wenn fertiges Programm: Auf welcher Ziel-Hardware und
Betriebs-System soll das denn laufen? Mikrocontroller? Windows- oder
Linux-PC? Android oder Apple-Smartphone/Tablet? Großrechner?
[x] was ist "etwas komplexer"?
[x] Wie vollständig oder unvollständig ist deine Datenbasis? z.B.
a) 1,2,3,4 -> 5 könnte auch so weitergehen:
b) 1,2,3,4 -> 7
zu a): 1 ist Startzahl (s) und vorgegeben. Z2==S+1=2, Z3==2(=Z2)+1=3,
Z4==3(=Z3)+1=4, Z5==4(=Z4)+1=5
Hier ist die Rechenregel also "immer eins drauf"
zu b): 1 und 2 sind Startzahlen (sa, sb) und vorgegeben.
Z3==sa+sb=3, Z4==sb+Z3(=3)-1=4, Z5==3(=Z3)+4(=Z4)=7
hier ist die Rechenregel also: Zg (grade Zahl) = beide Vorgängerzahlen
addieren, sowie eins subtrahieren; sowie Zu (ungrade Zahl) = beide
Vorgängerzahlen addieren.
Wenn also deine Zahlenbasis zu klein ist (hier also: nur 4 Zahlen), dann
ist das Ergebnis "beliebig".
Wegstaben V. schrieb:> Wenn also deine Zahlenbasis zu klein ist (hier also: nur 4 Zahlen), dann> ist das Ergebnis "beliebig".
Nein, das ist es immer. Das ist ja gerade das Problem an solchen
Aufgaben.
Sebastian Herbert schrieb:> dadurch werden temporäre Zugangsdaten zu unseren Anlagen> generiert, anstelle der 01, 02 kommt die Anlagennummer und anstelle der> letzten zwei Zahlen das aktuelle Datum.
Vorschlag: Erzeuge die Zugangsdaten mit bekanntem Algorithmus, dann
musst du den nicht zurück-"raten"...
z.B. OATH-TOTP / https://tools.ietf.org/html/rfc6238
Da kannst du mit der Anlagen-Doku einen QR-Code mitliefern, den kann man
einfach in die "Google Authenticator"-App (oder andOTP, wenn man's
lieber OpenSource mag) laden, und hat ständig wechselnde
Einmalpasswörter.
Statt Anlagennummer hast du ein (beliebig langes) shared secret. Dann
ist auch nicht nach 99 verkauften Anlagen Schluss.
Sebastian Herbert schrieb:> @Michael: dadurch werden temporäre Zugangsdaten zu unseren Anlagen> generiert, anstelle der 01, 02 kommt die Anlagennummer und anstelle der> letzten zwei Zahlen das aktuelle Datum.
musst du den Algorithmus neu erfinden oder willst du einen bestehenden
knacken?
wenn du einen neuen brauchst, wie "sicher" soll der sein? sind das eure
offline Anlagen die der Azubi nicht ungefragt nutzen soll oder euer
Kernreaktor der am Internet hängt?
wenn man nur über ein Keypad 4 Zahlen eintippen soll, reicht es
eventuell Datum + Anlagennummer zu hashen/ in ein LFSR zu jagen.
Wenn es etwas mehr sein sollte eventuell mit shared secret (TOTP wäre da
ein Verfahren), wenn es irgendwie ans Internet angebunden ist wäre das
ber vllt. zu gefährlich (wenn das shared secret rauskommt hast du ein
Problem).
Wenn du einen bestehenden Algorithmus knacken willst, poste mal ein paar
Beispieldaten, damit man eine Vorstellung von dem Ganzen bekommen kann.
das wird dann aber sehr wahrscheinlich mindestend gehasht sein, also
nicht wie du es dir vorstellst zu lösen sein.
Sebastian Herbert schrieb:> Das Programm soll dann die nächste Zahl (5) vorhersagen
Die nächste Zahl ist aber nicht 5, sondern 0. Es ist immer 0.
Disclaimer: das Thema hatten wir hier (mindestens) schon einmal. Diese
Art "Denksport" Aufgabe ist sinnlos. Es gibt immer unendlich viele
Möglichkeiten, eine Folge fortzusetzen und sich für die gewählte
Fortsetzung eine Erklärung aus dem Ar*** zu ziehen. Die einfachste
Variante ist die, daß alle solche Folgen mit Nullen fortgesetzt werden.
Dazu muß man sich nichts - quasi "Null" - merken ;)
Sebastian Herbert schrieb:> Hallo,>> ich bin auf der Suche nach einer Software welche Zahlenreihen erkennen> kann und die nächste Zahl in der Reihe vorhersagt
KI für Dummies? IQ-Test-Löser? MENSA-Crack?
Sebastian Herbert schrieb:> Hallo zusammen,>> Danke für Eure Hilfe, dachte ich mir schon fast>> @Michael: dadurch werden temporäre Zugangsdaten zu unseren Anlagen> generiert, anstelle der 01, 02 kommt die Anlagennummer und anstelle der> letzten zwei Zahlen das aktuelle Datum.>> Beste Grüße
Wenn die Formel bzw. der Algorithmus dafür nicht erraten werden muss,
sondern feststeht, dann sollte das leicht implementiert werden können.
Für dein obiges Beispiel:
0178913
0280314
0381915
0483716
usw.
einen Algorithmus zu erstellen, der dann die nächsten Zahlen ausrechnet
ist jetzt nicht so schwer.
Schwer wird es dann, wenn der Algorithmus sich beliebig ändert und
ermittelt werden soll.
April, April.
Alugiesser schrieb:> Sebastian Herbert schrieb:> Hallo,> ich bin auf der Suche nach einer Software welche Zahlenreihen erkennen> kann und die nächste Zahl in der Reihe vorhersagt>> KI für Dummies? IQ-Test-Löser? MENSA-Crack?
Danke fürs ausgraben eines April Scherzes. Ich hätte vorher aufs Datum
schauen sollen.