Benvinguts a Fossolàndia

Si esteu llegint això és que teniu massa temps lliure... així que ja no tens excusa per no deixar un comentari!!

dijous, 14 de febrer del 2008

La vida, l'amor, un algorisme ple de decisions


A la classe de programació visual en Visual Basic, el meu cervell va començar a rumiar si es podrien modelitzar les situacions quotidianes per a complir els objectius que un es planteja. Així les decisions i les seves conseqüències quedarien recollides en l’algorisme de la vida.
D’aquesta reflexió ha sortit aquest programa.

Programa principal, vida:


Antecedents:
PersonaA=PersonaC+PersonaD
Inici:
For segon=0 to 9E99 [segon=segon+1]
If alimentació=true and salut(PersonaA)=true then
Créixer (PersonaA, any)
Else
Decréixer(PersonaA)
End if
Any=segon/(365*3600)
Next segon


Fi:
‘ PersonaA overflow

Subprogrames:********************************************
Sub Créixer (persona, any)
If any<=10 then Anar a l’escola

If any>10 and any<=19 then Anar a l’institut

If any>18 then
Select case (decisió)
Case 1: Anar a la uni
Case 2: Treballar
Case 3: Any panda
Default: altres
End select
End if

....

End sub



Programa amor:


Antecedents:
PersonaA=false
PersonaB=false
Inici:
Gosub Unió (PersonaA, PersonaB, química, física, altres)
PersonaA= ‘Variable no inicialitzada
PersonaB= ‘Variable no inicialitzada

While relació(PersonaA, PersonaB)=true
felicitat= felicitat +1
If PersonaA=false and PersonaB=true then
PersonaA = currar-s’ho una mica (PersonaB)
RecursosPersonaB= RecursosPersonaB-1
End if
If PersonaA=true and PersonaB=false then
PersonaB = currar-s’ho una mica (PersonaA)
RecursosPersonaA= RecursosPersonaA-1
End if
If (PersonaA=false or PersonaB=false) and (RecursosPersonaA=0 or RecursosPersonaB=0) then
Gosub indeterminació
End if
Wend
Fi
Subprogrames:**********************************
Sub indeterminació
Select case (decisió)
case 1:
PersonaB = currar-s’ho (PersonaA)
PersonaA = currar-s’ho (PersonaB)
RecursosPersonaB= RecursosPersonaB+1
RecursosPersonaA= RecursosPersonaA+1
Goto inici
case 2:
goto Antecedents
default:
End select
End sub
Sub currar-s’ho una mica ( persona )
PetitSacrifici=true
Detalls=true
Petó=true
....
End sub

13 comentaris:

Com sabeu vosaltres ha dit...

Res a dir, només volia ser el 1r a comentar aquest post. Ja veus (no sé qui) quina tonteria.

Anònim ha dit...

Si seguint aquest algorisme es troba la clau de l'amor i de la vida, doncs a executar-lo...

El que passa que crec que s'haurà d'usar un sistema operatiu gratuït, instal·lar un bon firewall per evitar intrusions, també un bon antivirus, fer neteja d'arxius antics per evitar alentir el sistema, desfragmentar el disc dur de tant en tant, establir un protocol de comunicacions que no falli (si pot ser, Wireless), configurar bé tots els drivers...

Ah, i si l'ordinador es queda bloquejat, fer un reset sempre va bé, però en el cas que el valor de les variables PersonaA i PersonaB no hagi canviat d'estat (=true), es torni a executar l'algorisme inicialitzant les variables RecursosPersonaX amb un valor més elevat i reprogramar la funció "currar-s'ho una mica"

End comment

Anònim ha dit...

i no troba vostè que si tot fos tant determinista, les relacions humanes no tindrien cap mena de gràcia?

en fi... continuï donant-li voltes al cap (compte amb les cervicals). Si algun dia arriba a descobrir el "algorisme de la vida" el podria patentar. Podríem construir milers de robots que es comportessin com persones, serien millors que nosaltres, i acabarien per provocar la extinció de la raça humana (i molt abans que ho faci el fotut canvi climàtic!).

Ja ho veuen! molt millor si continuem fent un random i deixem que les coses segueixin el seu curs...




Al menys m'alegro de no ser l'únic al que se li'n va anar la olla en aquella classe de VB...

Anònim ha dit...

Són uns provocadors. Potser que plantegin el disseny d'un bon firewall abans del currar-s'ho una mica, per tal d'evitar arribar a una indeterminació i haver de fer un reset.

Es podria afegir una especificació concreta de les variables Recursos (i definir-ne el tipus i el rang de valors).

Han previst guardar el programa o si hi ha un bloqueig de l'ordinador no es pot tornar a fer servir? Què passa aleshores amb les variables d'entrada?

albus ha dit...

El random mai és del tot random perquè és una equació en funció del temps del rellotge del sistema. Tot hi això, en la detecció dels bits sempre hi ha un rang d'incertesa i, per tant, l'argorisme no és del tot fiable.

Igualment cada sistema operatiu quan compila obté un programa objecte diferent, i tot això sense parlar del linkatge amb les llibreries i els altres arxius vinculats d'on en surt un programa en un llenguatge màquina molt diversificat.

Conclusió,
1010 L 1011 1010
que ja tinc signatura.

Carlos ha dit...

Mi experiencia de programador me dice que un código así sólo podría salir de las entrañas (muy entrañable, por cierto) de Random Bitllenc... a pesar de que ciertamente hay una pseudoaleatoriedad algorísmica en la vida misma.

Sólo citaré a Henry Poincaré:

"El azar es la medida de nuestra ignorancia."

Anònim ha dit...

A no ser que es vulgui l'ordinador només per a l'execució del programa proposat, caldria veure possibles incompatibilitats amb altres programes ja existents per tal que durant la instal·lació no ens passi un "para continuar con la instalación desactive/desinstale la aplicación X".

Caldria veure si el programa utilitza variables i/o arxius comuns amb altres programes i comprovar com els afecta el procés d'instal·lació, per evitar que no quedin completament modificats o s'esborrin i s'hagin de crear de nou.

monЯa Bitllenc ha dit...

Mr. Led's GO!
li haig de dir que no he tingut res a veure amb la programació d'aquest algorisme, però no puc negar que en sóc usuari.
De fet, aquest algorisme està dins d'un bucle encapçalat amb un:

WHILE(PersonaA && PersonaB && RecursosPersonaA>0 && RecursosPersonaB>0){
Aquí hi va el codi de programa
}

Així és com treballen els sistemes en temps real: van repetint l'algorisme contínuament i paren quan ja no es compleixen les condicions que permeten la seva execució.

Per altra part, PersonaN, és cert que abans d'instal·lar actualitzacions de cert programari calgui desinstal·lar les versions anteriors i/o no tenir executat el programa en qüestió, perquè si no, poden sorgir problemes d'incompatibilitats únicament reparables a través del RegEdit, recuperant un punt de restauració anterior o instal·lant algun programa alternatiu que reconfiguri el sistema i solventi aquestes incompatibilitats.

Anònim ha dit...

Si blogger ho permet i no m'ho torna a esborrar, els suggeriria la implementació d'un programa alternatiu que interaccioni amb l'usuari de forma clara.

Anònim ha dit...

despres es queixaran que la gent no enten el nostre blog...

Anònim ha dit...

Emisor, receptor, missatge, canal... si un falla, la informació no arriba. Jo crec que falla el codi del missatge.
D_1111_1100_O_1101_IFI_1100_1010_NT INFORM_1010_1100_IÓ...
1111_RROR 1111_N 1111_L SIST_1111_M_1010!

Anònim ha dit...

i tant que falla el codi!!!

monЯa Bitllenc ha dit...

Per tant, F => "overflow error"