<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>emre şahin's digital garden 🍃 - algorithms</title>
    <link>https://emresahin.net/tags/algorithms/</link>
    <description>Posts in the algorithms tag</description>
    <language>en</language>
    <managingEditor>contact@emresahin.net (Emre Şahin)</managingEditor>
    <lastBuildDate>Tue, 15 Sep 2026 19:46:32 +0000</lastBuildDate>
    <atom:link href="https://emresahin.net/tags/algorithms/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Representation</title>
      <published>2022-04-17T15:01:40+00:00</published>
      <updated>2022-04-17T15:01:40+00:00</updated>
      <author>Emre Şahin</author>
      <pubDate>Sun, 17 Apr 2022 15:01:40 +0000</pubDate>
      <link>https://emresahin.net/Representation/</link>
      <guid isPermaLink="true">https://emresahin.net/Representation/</guid>
      <description>The programmer at wit’s end for lack of space can often do best by disentangling himself from his code, rearing back, and contemplating his data. Representation is the essence of programming. – Fred Brooks, The Mythical Man-Month As years pass with newer projects, the one thing I notice more is t...</description>
      <category>Software Design</category>
      <category>Data Engineering</category>
      <category>Representation</category>
      <category>Algorithms</category>
      <category>Data Structures</category>
      <category>Software Architecture</category>
      <category>Mythical Man-Month</category>
      <content:encoded><![CDATA[<figure><img src="https://emresahin.net/images/SmartSelect_20220303-212718_Noteshelf.jpg" alt="" style="width: 300px"></figure>
<blockquote>
<p>The programmer at wit’s end for lack of space can often do best by
disentangling himself from his code, rearing back, and contemplating his data.
Representation is <em>the</em> essence of programming. – Fred Brooks, The Mythical Man-Month</p>
</blockquote>
<p>As years pass with newer projects, the one thing I notice more is that <em>data</em>
is more important than algorithms. You can alleviate bad algorithms with better
ones during the course of a project, but to fix bad data design, a full
rewrite is usually necessary.</p>]]></content:encoded>
    </item>
    <item>
      <title>Randomness Course Notes</title>
      <published>2014-02-13T14:00:00+00:00</published>
      <updated>2014-02-13T14:00:00+00:00</updated>
      <author>Emre Şahin</author>
      <pubDate>Thu, 13 Feb 2014 14:00:00 +0000</pubDate>
      <link>https://emresahin.net/randomness-course-notes/</link>
      <guid isPermaLink="true">https://emresahin.net/randomness-course-notes/</guid>
      <description>Definitions of Randomness Kolmogorov Complexity of a sequence = The shortest algorithm that produces it. Martin-Löf A sequence is random if it passes all statistical tests. It cannot be produced by a program shorter than itself. The digits of $\pi$ are not random in this sense. Not just “difficul...</description>
      <category>Computer Science</category>
      <category>Cryptography</category>
      <category>randomness</category>
      <category>algorithms</category>
      <category>complexity</category>
      <content:encoded><![CDATA[<h1 id="definitions-of-randomness">Definitions of Randomness</h1>
<h2 id="kolmogorov">Kolmogorov</h2>
<p>Complexity of a sequence = The shortest algorithm that produces it.</p>
<h3 id="martin-löf">Martin-Löf</h3>
<ul>
<li>A sequence is random if it passes all statistical tests.</li>
<li>It cannot be produced by a program shorter than itself.</li>
</ul>
<p>The digits of $\pi$ are not random in this sense.</p>
<p>Not just “difficult to compute”, there is no consistent way to define the <em>shortest algorithm</em>.</p>
<p>It’s impossible to find a way to ensure that a sequence is random. It’s similar to the halting problem in a way.</p>
<h3 id="my-idea">My Idea</h3>
<p>It might be possible to define an algorithm in terms of a Turing machine. If the instructions of a Turing machine are shorter than the sequence itself, it’s not random.</p>
<h3 id="another-idea">Another idea</h3>
<p>It says $P(b_n | s_{n-1}) = \frac{1}{2}$ for a binary sequence if the random process is ideal. But <em>expecting</em> this might be against randomness.</p>
<h1 id="pseudorandomness">Pseudorandomness</h1>
<p>Producing <em>seemingly</em> random sequences by algorithms, given a <em>secret</em> key.</p>
<p>The sequence is determined and can be inferred with high computing power. But for practical purposes, it’s random.</p>
<h1 id="uses-of-randomness">Uses of Randomness</h1>
<ul>
<li>Randomized Algorithms: When a definite algorithm is too costly, it’s possible to run randomized algorithms for e.g. checking whether a number is prime.</li>
<li>Cryptography: When a message needs to be encrypted with a secure key, the most secure way to produce a key is randomness.</li>
</ul>]]></content:encoded>
    </item>
  </channel>
</rss>
