Fuzzy

Valores probabilísticos e operações de lógica fuzzy

Importar

_ <- fat.extra.Fuzzy

Construtor

Nome Assinatura Breve descrição
Fuzzy (val: Number = 0.5) Cria um valor de probabilidade Fuzzy

a faixa de 0 a 1 é ideal para valores, porém, valores mais altos ainda podem ser significativos em operações específicas como conjunção com valores dentro da faixa padrão

Membros do protótipo

Nome Assinatura Breve descrição
isEmpty (): Boolean Verifica se a probabilidade é zero
nonEmpty (): Boolean Verifica se a probabilidade é maior que zero
size (): Number Converte o valor fuzzy para uma escala percentual
toText (): Text Converte o valor fuzzy para uma porcentagem textual
and (other: Fuzzy): Fuzzy Operação lógica AND com outro valor fuzzy
or (other: Fuzzy): Fuzzy Operação lógica OR com outro valor fuzzy
not (): Fuzzy Operação lógica NOT, invertendo a chance
decide (): Boolean Decide um resultado booleano dentro de sua chance

Uso

_ <- fat.extra.Fuzzy

# Criando instâncias fuzzy
lowChance = Fuzzy(0.25)  # chance de 25%
highChance = Fuzzy(0.75) # chance de 75%

# Aplicando operações lógicas
combinedChance = lowChance.and(highChance)
resolvedChance = combinedChance.decide  # resulta em um booleano

Inspiração

A introdução do tipo Fuzzy no FatScript foi inspirada pela definição humorística da linguagem meme, DreamBerd, que oferece booleanos que podem ser verdadeiro, falso ou talvez. Aqui, a palavra-chave talvez é traduzida para Fuzzy().decide, o que pode ser considerado uma construção incomum para a maioria das linguagens de programação e é análogo a jogar uma moeda.

Embora o FatScript não seja tão esotérico a ponto de armazenar booleanos como "um bit e meio", o conceito de fornecer um tipo "engraçado" que permite modelar incertezas foi um experimento interessante e pode realmente ser útil em muitos cenários. Ele melhora a capacidade da linguagem de lidar com operações envolvendo chances e processos de tomada de decisão onde os resultados não são determinísticos. O tipo Fuzzy é útil para cenários que requerem uma abordagem com nuances da lógica booleana, comumente vista na lógica de jogos e em qualquer lugar onde decisões probabilísticas sejam necessárias.

Veja também

results matching ""

    No results matching ""