tastoids
Tastoids (& their ‘Temperate’ Algebra)
It is often said, one can’t compare “apples” to “oranges”, but I daresay.. perhaps you can?
Let me show you how.
On their own, it is hard to figure how one might compare apples to oranges, let alone deign to approach a calculus of taste however, with just enough structure , a Taste can become a Tastoid, along with a curious and powerful Temperate Algebra.
Not unlike a Tropical geometry, where the notion of addition and multiplication are replaced by min(a,b) & add(a,b), I pose that a Temperate Algebra is one whose typical notions of (+,×) are replaced with operations that effectively ‘average’ taste (with commutativity, distributivity and reversibility, no less!)
A Taste (t) Field
“Tastes”, broadly, are any measurable/comparable sentiment about a thing. Something with a unique direction and magnitude. A vector!
Consider if you will, then:
- The set of all Vectors are a field ℝⁿ (aka 𝕍).
- You may partition 𝕍 by some enumerable set of indices (as ⅈ <= countable ∞))
- The ‘Algebraic extension’ of 𝕍/ⅈ, is itself a field (with Algebra)
In the context of large-language- and embedding-models, this idea of mapping things (text or otherwise) into a well-defined set of possible indices and probabilities is referred to as an ‘embedding’.
A Taste -> One Tastoid
We’re almost there, I promise. Lets talk about plain numbers for a bit; say I told you knew the average of some set of values was 42. You also know for a fact there was a 13 in there once, somewhere.
Knowing nothing else, how would you un-average 13 from 42?
Were there two values that averaged to 42? Three? More?
Without the cardinality of the original sampling, its (absolutely) impossible to know. But with it… say n=13, in which case, we can merely remove 1/13th of 13 (i.e. 1) from our combined average to find out the average without that 13 was just 41.
Similarly, on their own Taste vectors are comparable, even averagable in some sense, but without a cardinality, their operations aren’t quite lined up to have solutions to previously impossible questions become possible and yield seemingly ‘free’ results.
Attempting to put some formalism to the above,
-
We can partition a taste-field further, by its cardinality k ∈ 𝕂 (𝕂 ~ ℝ x ℝ₄ ~ ℂ) (As well as a 4-cycle of like -> dislike -> unlike -> undislike)
i.e. someone (or thing) expressing { like ( 1+i ) -> dislike (-1 + i) 𝕒 taste (valued at weight w), k times -> un-like (-1 + -i) -> un-dislike (1 + -i) } A Tastoid, can be arrived at by a person/subject, expressing a taste once (tᵢ, k=1), imbedding (sic) that individuals’ sentiment in a univesal/possibly infinite set of all the tastoid’s that subject could express 𝕥ᵤ↪ᵢ ∈ 𝕋ᵤ
Then, we may define a handful a tiny, tidy, yet supremely powerful (σ/sigma-) Algebra of Taste_
- Brief introduction to operators
Values
pub fn blend(
t: tastoid.Tastoid(index),
with u: tastoid.Tastoid(index),
) -> tastoid.Tastoid(index)
Blend the two tastoids, producing a larger tastoid congruent to
the weighted power mean, aka their average (via squash
)
See also retract
- which yields u’ which unblends when blended,
pub fn equal(
t: tastoid.Tastoid(index),
u: tastoid.Tastoid(index),
) -> Bool
Returns True
iff Tastoids t
& u
are congruent (weakly equivalent)
pub fn retract(
taste: tastoid.Tastoid(index),
) -> tastoid.Tastoid(index)
Return the inverse of a taste (over blend
)
pub fn smash(
t: tastoid.Tastoid(index),
with u: tastoid.Tastoid(index),
) -> tastoid.Tastoid(index)
Combine two tastoids hard, blending them and returing their squashed mean.
pub fn squash(
tastoid: tastoid.Tastoid(index),
) -> tastoid.Tastoid(index)
Reduce k -> 1, yielding the ‘average’/normalized tastoid of all the tastoids blended/present