veganism.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Veganism Social is a welcoming space on the internet for vegans to connect and engage with the broader decentralized social media community.

Administered by:

Server stats:

297
active users

#evolutionarycomputation

0 posts0 participants0 posts today
AnthonyI wanted to elaborate a bit on this point.<br><br>One thing you can observe in some subfields of computer science is a strong bias towards "inventing" algorithms or performing "novel" demonstrations that improve on the "state of the art". You haven't done anything worth publishing unless you can name it the Such-and-such Algorithm, or you can demonstrate a phenomenon that your (probably incomplete) literature review suggests hasn't been demonstrated before. Taken to an extreme, this kind of bias results in things like the <a href="https://fcampelo.github.io/EC-Bestiary/" rel="nofollow noopener noreferrer" target="_blank">EC Bestiary</a> or the endless claims that LLMs are better than humans at X task.<br><br>But what is all this? I believe it represents a power struggle. Since these subfields do not take account of their own histories nor the histories of their subject matter, they grapple only with and in the present. They've given up any pretense of seeking truth--which demands understanding history--and instead seek dominance here and now. "Better". "Faster". "State of the art". These aren't the aims of truth-seekers, they're the aims of power-seekers, those who seek to dominate.<br><br>And what would dominance look like in this space? A fundamentalist or dogmatic view of the subfield. Bucci's algorithm is the only algorithm to do X. Bucci's algorithm is the fastest algorithm to do X. Bucci's algorithm is the only algorithm producing state of the art performance at X. Don't bother reading or thinking about other algorithms, just use Bucci's algorithm. That's dogmatism.<br><br>Why are you trying to write your learning algorithm from scratch just use PyTorch or TensorFlow. Why are you trying to create a natural language generator just use ChatGPT. Nowadays if you're not working on deep learning you're not really doing machine learning (*). Etc. This is also dogmatism.<br><br><a href="https://buc.ci?t=science" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#Science</a> <a href="https://buc.ci?t=computerscience" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#ComputerScience</a> <a href="https://buc.ci?t=llm" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#LLM</a> <a href="https://buc.ci?t=evolutionarycomputation" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#EvolutionaryComputation</a><br><br>(*) I've heard a computer science professor express this.<br>
AnthonyNot that I have the free time to take on another project, but there's a part of me that wants to do a thorough exploration of argmax and write up what I find, if only as notes. Math-y and science-y people take it for granted; search engines prefer telling you about the numpy function of that name. But it turns out argmax has (what I think are) interesting subtleties.<br><br>Here's one. If you're given a function, you can treat argmax of that function as a set-valued function varying over all subsets of its domain, returning a subset--the argmaxima let's call them--of each subset. argmax x∈S f(x) is a subset of <i>S</i>, for any <i>S</i> that is a subset of the function <i>f</i>'s domain. Another way to think of this is that argmax induces a 2-way partitioning of any such input set <i>S</i> into those elements that are in the argmax, and those that are not.<br><br>Now imagine you have some way of splitting any subset of some given set into two pieces, one piece containing the "preferred" elements and the other piece the rest, separating the chaff from the wheat if you will. It turns out that in a large variety of cases, given only a partitioning scheme like this, you can find a function for which the partitioning is argmax of that function. In fact you can say more: you can find a function whose codomain is (a subset of) some <i>n</i>-dimensional Euclidean space. You might have to relax the definition of argmax slightly (but not fatally) to make this work, but you frequently can (1). It's not obvious this should be true, because the partitioning scheme you started with could be anything at all (as long as it's deterministic--that bit's important). That's one thing that's interesting about this observation.<br><br>Another, deeper reason this is interesting (to me) is that it connects two concepts that superficially look different, one being "local" and the other "global". This notion of partitioning subsets into preferred/not preferred pieces is sometimes called a "solution concept"; the notion shows up in game theory, but is more general than that. You can think of it as a local way of identifying what's good: if you have a solution concept, then given a set of things, you're able to say which are good, regardless of the status of other things you can't see (because they're not in the set you're considering). On the other hand, the notion of argmax of a function is global in nature: the function is globally defined, over its entire domain, and the argmax of it tells you the (arg)maxima over the entire domain.<br><br>In evolutionary computation and artificial life, which is where I'm coming from, such a function is often called an "objective" (or "multiobjective") function, sometimes a "fitness" function. One of the provocative conclusions of what I've said above for these fields is that as soon as you have a deterministic way of discerning "good" from "bad" stuff--aka a solution concept--you automatically have globally-defined objectives. They might be unintelligible, difficult to find, or not very interesting or useful for whatever you're doing, but they are there nevertheless: the math says so. The reason this is provocative is that every few years in the evolutionary computation or artificial life literature there pops up some new variation of "fitnessless" or "objective-free" algorithms that claim to find good stuff of one sort of another without the need to define objective function(s), and/or without the need to explicitly climb them (2). The result I'm alluding to here strongly suggests that this way of thinking lacks a certain incisiveness: if your algorithm has a deterministic solution concept, and the algorithm is finding good stuff according to that solution concept, then it absolutely is ascending objectives. It's just that you've chosen to ignore them (3).<br><br>Anyway, returning to our friend argmax, it looks like it has a kind of inverse: given only the "behavior" of argmax of a function <i>f</i> over a set of subsets, you're often able to derive a function <i>g</i> that would lead to that same behavior. In general <i>g</i> will not be the same as <i>f</i>, but it will be a sibling of sorts. In other words there's an adjoint functor or something of that flavor hiding here! This is almost surely not a novel observation, but I can say that in all my years of math and computer science classes I never learned this. Maybe I slept through that lecture!<br><br><a href="https://buc.ci?t=computerscience" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#ComputerScience</a> <a href="https://buc.ci?t=math" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#math</a> <a href="https://buc.ci?t=argmax" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#argmax</a> <a href="https://buc.ci?t=solutionconcepts" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#SolutionConcepts</a> <a href="https://buc.ci?t=coevolutionaryalgorithms" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#CoevolutionaryAlgorithms</a> <a href="https://buc.ci?t=cooptimizationalgorithms" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#CooptimizationAlgorithms</a> <a href="https://buc.ci?t=optimization" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#optimization</a> <a href="https://buc.ci?t=evolutionarycomputation" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#EvolutionaryComputation</a> <a href="https://buc.ci?t=evolutionaryalgorithms" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#EvolutionaryAlgorithms</a> <a href="https://buc.ci?t=geneticalgorithms" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#GeneticAlgorithms</a> <a href="https://buc.ci?t=artificiallife" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#ArtificialLife</a> <a href="https://buc.ci?t=informativedimensions" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#InformativeDimensions</a><br><br><br> <br>(1) If you're familiar with my work on this stuff then the succinct statement is: partial order decomposition of the weak preference order induced by the solution concept, when possible, yields an embedding of weak preference into ℝ^n for some finite natural number <i>n</i>; the desired function can be read off from this (the proofs about when the solution concept coincides with argmax of this function have some subtleties but aren't especially deep or hard). I skipped this detail, but there's also a "more local" version of this observation, where the domain of applicability of weak preference is itself restricted to a subset, and the objectives found are restricted to that subdomain rather than fully global.<br><br>(2) The latest iteration of "open-endedness" has this quality; other variants include "novelty search" and "complexification".<br><br>(3) Which is fair of course--maybe these mystery objectives legitimately don't matter to whatever you're trying to accomplish. But in the interest of making progress at the level of ideas, I think it's important to be precise about one's commitments and premises, and to be aware of what constitutes an impossible premise.<br><br><br>
Farooq Karimi Zadeh<p>Just checked <a href="https://blackrock.city/tags/EvolutionaryAlgorithms" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>EvolutionaryAlgorithms</span></a> and <a href="https://blackrock.city/tags/EvolutionaryComputation" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>EvolutionaryComputation</span></a> tags. And I found posts from just two: myself and <span class="h-card" translate="no"><a href="https://mastodon.social/@moshesipper" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>moshesipper</span></a></span> </p><p>It's time to feel scientifically lonely :)</p><p>But really, why some people like me are attracted to less or more unpopulated regions of science and engineering?</p><p><a href="https://blackrock.city/tags/science" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>science</span></a></p>
Nate Gaylinn<p>Later this month, I’m going to present my first academic paper at the Genetic and Evolutionary Computing Conference (GECCO) in Melbourne, Australia. I’ll share the full paper once it’s officially published. For now, I wrote a blog post about the journey from experiment to paper, what this work means to me, and where I hope to go from here. If you’re curious about what the heck I’m actually doing with this Evolutionary Computation stuff, check it out!</p><p><a href="https://thinkingwithnate.wordpress.com/2024/07/03/why-the-game-of-life-paper/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">thinkingwithnate.wordpress.com</span><span class="invisible">/2024/07/03/why-the-game-of-life-paper/</span></a></p><p><a href="https://tech.lgbt/tags/science" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>science</span></a> <a href="https://tech.lgbt/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://tech.lgbt/tags/evolutionarycomputation" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>evolutionarycomputation</span></a> <a href="https://tech.lgbt/tags/evolvability" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>evolvability</span></a> <a href="https://tech.lgbt/tags/gecco2024" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gecco2024</span></a></p>