Wie kann ich eine zufällige Zahl von atmosphärischem Rauschen erhalten?

8

Ich hatte kürzlich eine Diskussion über die Suche nach einer Methode, um wirklich zufällige Zahlen zu erzeugen. Die Diskussion endete damit, atmosphärische Geräusche zu verwenden. Hat jemand das getan? Was ist daran beteiligt? Hat jemand einen Webservice erstellt, der Zufallszahlen zurückgibt, die aus Rauschen stammen?

    
DenaliHardtail 27.08.2010, 15:02
quelle

5 Antworten

6

Diese ganze Website basiert auf "wirklich zufälligen" Zahlen, die mit atmosphärischem Rauschen erzeugt werden. Sie haben eine API, in die Sie sich einklinken können, wenn Sie möchten:

Ссылка

    
js1568 27.08.2010, 15:08
quelle
3

Ihre beste Wette für einen Web-Service für Zufälligkeit ist RANDOM.ORG , sie verwenden atmosphärischen Lärm als Quelle von Entropie:

  

RANDOM.ORG ist ein echter Zufallszahlenservice, der Zufälligkeit über atmosphärisches Rauschen erzeugt.

    
fredley 27.08.2010 15:07
quelle
2

Interessanterweise untersucht Intel zurzeit eine Methode zur Einbettung von Zufallszahlen basierend auf Spannungs- und Temperaturschwankungen innerhalb eines Chips a>. Während es möglich ist, Zufälligkeit basierend auf Rauschen außerhalb eines Prozessors als eine externe Einheit zu erzeugen, wenn der Generator außerhalb der CPU ist, ist es möglich, Leistungsbeschränkungen und andere Faktoren für den Generator zu isolieren, wodurch die externe Einheit anfälliger wird . Aus dem Artikel:

  

Die Schaltung in den Hauptprozessor zu bauen, schließt diese Möglichkeit aus, sagt Krishnamurthy, obwohl die Barriere dazu praktisch war. Die am besten etablierten Verfahren zum Erzeugen von Zufallszahlen verwenden analoge Schaltungen, die sich auf thermisches Rauschen als eine Quelle der Zufälligkeit stützen, und diese Schaltungen werden nicht einfach mit den Techniken hergestellt, die verwendet werden, um die digitalen Schaltungen eines Mikroprozessors herzustellen. Sie lassen sich auch nicht einfach auf die Größe von Bauteilen moderner Chips herunterskalieren.

    
Ben McCormack 27.08.2010 15:10
quelle
1

Sie können RANDOM.ORG verwenden, um echte Zufallszahlen zu erhalten. Sie haben sowohl eine Website als auch einen Webservice, die dies unterstützen, und benutzen atmosphärisches Rauschen (IIRC), um die Werte zu erzeugen.

Die API für ihr HTTP-Protokoll ist hier verfügbar .

    
LBushkin 27.08.2010 15:07
quelle
0

Random.org macht das, wenn ich mich richtig erinnere. Sie verwenden atmosphärisches Rauschen, weil es sehr wenig "gemusterten" Rauschen aufweist, das die gewünschte gleichmäßige Verteilung verzerrt.

    
John 27.08.2010 15:06
quelle

Tags und Links

Django: Verwenden von Annotate, Count und Distinct in einem Queryset Was ist das Leistungsgewicht einer API? ___ answer3599379 ___

Ich würde "konzeptionelles Gewicht" als die Anzahl der abstrakten Konzepte interpretieren, die Sie lernen und verstehen müssen, um die API zu verwenden. Konzepte werden normalerweise öffentlichen Klassen zugeordnet, während Klassen, die nicht öffentlich sind, zu der Hauptkomponente, aber nicht zur konzeptionellen Gewichtung hinzugefügt werden.

Wenn Sie es also technisch ausdrücken, hat eine API ein hohes konzeptionelles Gewicht, wenn ein typischer API-Client explizit viele Klassen der API verwenden muss, um damit zu arbeiten.

"Gutes Leistungsgewicht" bedeutet dann, dass die API so wenig öffentliche Klassen wie möglich verwenden sollte, um so viel Funktionalität wie möglich anzubieten. Das bedeutet eine API sollte:

  • Fügen Sie keine Konzepte oder Abstraktionen hinzu, die nicht in der Domäne vorhanden sind
  • Bietet für komplexe Domänen Verknüpfungen zu den am häufigsten benötigten Funktionen, mit denen ein typischer Benutzer die komplexeren Teile der Domäne umgehen kann
___ answer3599062 ___

Ich nehme an, dass eine API mit einem guten Leistungsgewicht eine API ist, die eine Menge Funktionalität (Leistung) bietet, während sie nur wenig Aufwand erfordert, damit sie richtig funktioniert (gewichtet).

Dies kann beispielsweise über "Convention over Configuration" erfolgen. (Beachten Sie, dass dies nur ein Beispiel ist und Sie dies auf verschiedene Arten erreichen können.)

Es wäre hilfreich, einen Link zu Blochs Präsentation zu haben, er könnte sich auf etwas anderes beziehen: -)

    
___ qstntxt ___

In Blochs Präsentation sagte er, dass der Designer nach einem guten Leistungsgewicht für API suchen sollte. Darüber hinaus betonte er, dass konzeptionelles Gewicht wichtiger ist als Bulk . Ich denke, das Gewicht ist für ' konzeptionelles Gewicht ', Masse ist für die Anzahl der Methoden einer Klasse.

Aber ich konnte nicht verstehen, was " konzeptionelles Gewicht " ist, was " Macht-Gewicht-Verhältnis " ist. Willkommen zu jeder Erklärung!

Bloch gab ein Beispiel: %code% hat ein gutes Leistungsgewicht. Wenn Kunden einen Index einer Unterliste wissen wollen, muss er nicht eine niedrige "p2w ratio" -Methode %code% aufrufen, stattdessen könnte er %code% aufrufen. Bloch hielt dies für ein "Leistungsgewicht".

Herkunft:

API sollte so klein wie möglich, aber nicht kleiner sein

  • API sollte seine Anforderungen erfüllen
  • Lassen Sie es im Zweifelsfall aus
    • Funktionalität, Klassen, Methoden, Parameter usw.
    • Sie können immer hinzufügen, aber Sie können
    • niemals entfernen
  • Konzeptionelles Gewicht wichtiger als Bulk
  • Achten Sie auf ein gutes Leistungsgewicht
___ answer3599051 ___

Ich würde das sagen

  • power = der Umfang der von der API bereitgestellten Funktionalität
  • Gewicht = der Aufwand, der zum Erlernen der API erforderlich ist
___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ tag123design ___ Design in der Programmierung ist der Akt, bestimmte Entscheidungen darüber zu treffen, wie man ein Programm am besten strukturiert, um Ziele der Zuverlässigkeit, Wartbarkeit, Korrektheit oder Benutzerfreundlichkeit zu erreichen. ___ tag123api ___ NICHT VERWENDEN: Tag mit der Bibliothek, die Sie meinen, [api-design], oder etwas anderes, das stattdessen geeignet ist. Fragen, die uns auffordern, eine API zu empfehlen oder zu finden, sind off-topic. ___ answer9741132 ___

Ein weiterer wesentlicher Aspekt des Leistungsgewichtes einer API oder gar einer Sprache als Ganzes ist ihre Ausführlichkeit. Das heißt, wie viel Sie eingeben müssen, um eine Aufgabe zu erledigen und die Lesbarkeit des resultierenden Codes. In Java hat %code% ein besseres Leistungsgewicht als %code% , die Schnittstelle, die es ersetzen sollte, weil %code% einen kürzeren Namen und kürzere Methodennamen hat, die nicht länger sind als sie benötigen sei und mache den gleichen Job ohne Verlust an Klarheit (wie auch die zusätzliche Methode %code% ).

    
___ answer3599072 ___

Er bezieht sich auf all die Dinge, die Sie durch die Verwendung einer API erhalten. Sein Beispiel ist das Collections-API, bei dem Sie bei jedem Zugriff nur bestimmte Funktionen erhalten. Auf der anderen Seite werden einige APIs viel mehr laden, nur um Ihnen einige Funktionen zu geben.

    
___