Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Serapis

#2292
Bien... ahora te has expresado mejor... Así que sí, si sirvió que te explicaras.

Te voy aclarando cosas, pero no necesariamente por orden si no como me vengan a la cabeza (suelo escribir de corrido).

De entrada te diré que ya te puse en otro hilo que abriste un pseudocódigo, pero nuevamente lo pisaste como una alfombra, sin saber que lo estabas pisando... al final o mañana vuelvo a ello, segúin vea que sale de largo este mensaje.

Lo importante de mis preguntas eran dos o tres cosas:
- 1º para que las necesitabas... esto es, solo querías imprimrlas o bien al final tendrías que aplicarlas. Contestado, al final acabarás aplicándolas...
- 2º cuánto de largas podrían llegar a ser tales expresiones?. Esta te la preguntaba en otro hilo, y olvidé repetirla aquí. La razón que la ustifica es que aveces, si algo es breve, se resuelve más pronto a mano que generando un algoritmo efectivo. También porque si la cantidad es enorme, aplicarlas (o solo escribirlas a disco), podría llegar a tener tantas combinaciones que ni el disco tendría espacio suficiente, ni tu vida para verlas aparecer todas... depende de la cantidad... recuerda que hablamos de combinatoria a fin de cuentas.
- 3º Si no se iban a aplicar no tiene importancia ciertos detalles, si se van a aplicar, en cambio son otros detalles los que no importan.
- 4º El lenguaje en que vayas a programar, generalmente no importa... peor a este caso, creo que sí, porque desconozco realmente hasta que punto 'tu lenguaje' tenga las cosas encesarias o las facilidades para poder programarlas adecuadamente. En generla los lenguajes de script, se diseñan y crean para determinadas cuestiones específicas y siempre como soporte para un tipo de usuario centrado en una materia específica, que necesitan dominar, pero que no precisan se rprogramadores ni complicarse la vida más allá de lo que atañe a tales tareas... es decir viene contracorriente d elo que es un lenguaje "de propósito general"...
Luego al margen de las facilidades que provea 'tu lenguaje', se le puede sumar el problema del rendimiento... Los lenguajes de script, se diseñan como una utilidad añadida, y es raro que se busque en ellos el máximo rendimiento en el desempeño de su tarea. Pero bueno, esto es algo que ya tendrás ocasión de comprobar según lo complejo o largo que vayas a hacerlo... y siempre podrás adquieri un nuevo equipo, añadir memoria, o mejor cambiar de lenguaje. O quizás todo...

Al caso, gran parte de lo que necesitas encaja de pleno en la teoría de compiladores, pero como ya has demostrado tu nivel, será harto complejo explicarte como abordarle de la forma más óptima.

1 - Una forma sencilla de abordarlo y sin requerir paréntesis, es que generes dos operandos y los calcules, el resultado es un operando listo para ser operado con el siguiente operando generado.
Esta es la forma en que funciona una calculadora de mano simple.

A = A op B
A = A op C
A = A op D
'A', puede entenderse como 'acumulador', 'resultado' en una calculadora.
Y 'op' como el operando concreto que a cada momento se precise usar. El orden de ejecución será el que uno precise... aunque yo pongo B,C,D podría ser alterado
A = A op C
A = A op B
A = A op D

2 - Dicho de otro modo habrá tantos modos de órdenes (de ordenar los operandos) de ser ejecutado como el factorial de operandos que haya. El factorial es 1*2*3*4*5 es decir 5 variables pueden ordenarse de 120 maneras distintas, 6 de 720 (1*2*·*4*5*6*7), etc....

3 - Si usamos un solo operador son solo esas 120 expresiones distintas. Pero, nuevamente, aclaramos que la cantidad d eoperadores para n operandos siempre será n-1 operadores (el principio de la valla, cuantos postes se requierne para tender una alamabrada? 2 postes para una alambrada, y luego un poste por cada nueva alambrada, luego siempre hace falta 1 poste más que alambradas).
...con 5 operandos, en medio habrá 4 operadores. Nuevamente estos operadores pueden ser  ordenados de distintas formas... sigue la misma regla del factorial: 1*2*3*4 = 24 formas de ordenar los 4 operadores. Combinándolas con las 120 combinaciones posibles de operandos tendrás 120*24 = 2.880 expresiones.

4 - En este punto hay que observar que es evidente que habrá expresiones equivalentes "A = (B + C)" es equivalente a  "A = (C + B)" (solo hemos cambiado el orden de los operandos, pero el operador no altera el producto.

5 - Sin embargo dada la velocidad de cálculo, es preferible recalcularlas que intentar buscarlas para desecharlas... es menos costoso (creo que estamos hablando de operaciones buleanas... and or, xor... era así, no?).
Natualmente optar por esta solución (que gana en velocidad y ahorra en simpleza), a cambio dará redundancia de resultados (saldrán más resultados 'correctos' pero que son equivalentes).

6 - Bien, de hacer un filtrado de redundancia de expresiones equivalentes, es preferible hacerlo ahora, porque la cantidad de expresiones 'correctas' entre las que buscar equivalentes, será considerablemente menor que al comienzo con todas las combinaciones posibles. Es decir supongamos que de entre esas 2880 expresiones resultantes, 60 dan una respuesta 'correcta', buscar entre ellas las equivalentes entre sí, es considerablemente más breve (en tiempo de cálculo que hacerlo sobre las 2880.

7a - No estamos considerando paréntesis de momento. Y no lo haremos hasta que quede claro todo lo previo y considerar si de verdad los vas a necesitar. Esto es si hay problemas de rendimeinto, por la complejidad de las expresiones que nos lleve a reducir de entrada las expresiones únicas para ejecutar solo esas... mientras no se demuestre que esto sea más rápido que calcularlas, no veo la necesidad de introducir paréntesis... de ahí mi ahínco por preguntarte cuanto de largas (número de operandos) podrían llegar a tener las expresiones)... las buleanas se resuelven muy veloz porque son atómicas (están diseñadas en la UAL, no suelen requerir más de un ciclo de reloj y según el procesador puede ejecutar en paralelo varias instrucciones).
7b - Porque como ya te he dicho antes, si vas operando sobre la marcha y consideras las combinatoria de los operandos y de los operadores, no necesitas paréntesis porque acabas por ejecutar todas las expresiones posibles.

Y de momento lo dejo aquí esperando haberme hecho entender... y si es conforme que haya entendido correctamente tus necesidades dada tu explicación previa de lo que haces (exiges que haga el programa).

Y con lo que me digas si falta algo lo vemos y si no avanzamos derivando por un lado o por otro... Esto es, he puesto 7 puntos espero que todos y cada uno de ellos te hayan quedado claros, por eso los he marcado, para que no lo pises como si fueran invisibles.


#2293
La memoria, solo sirve para almacenar datos... es como un libro. Un libro tiene 100, 200, 300 páginas... puede ser más grande, 500, 800, 1200... y más grande que eso, una biblioteca... pero qué, acaso un libro hace algo por sí solo?. No.

El cálculo... AND, OR, NOT, XOR solo son operaciones que describen la relación entre uno o más operandos... más potencia?. Vale, añade más UAL... un chip de 64 bits, no es mucho más que uno de 4bits... quiero decir que si juntas los suficientes, uno sencillo podrá hacer lo mismo que uno más grande y complejo. La cantidad de cálculos, no se resuelve como inteligencia, como tampoco la cantidad de cálculos por segundo.

Se puede hacer sistemas predictivos, por ejemplo para "el tiempo" (en realidad el clima, el tiempo y el hombre del tiempo, realmente son tonterías como concepto), y funcionan, pero sólo porque evolucionan poco entre un momento dado y el siguiente, y  a pesar de ello, no de tanto en tanto, fracasan estrepitosamente cuando el sistema de repente evolucioona rápido... Si algo solo puede evolucionar hasta 4 estados, es más fácil de 'predecir' que si algo puede evolucionar hasta 1500 estados distintos...

Dado un sistemás más caótico, como por ejemplo la lotería, el mejor programa resulta no ser mejor que el peor programa... porqué, porque al final a la lotería apuestas 1 sola combinación de números (si puedes apostar todas las combinaciones, fijo que aciertas, pero hay no hay predicción, y lo que es peor, no habría beneficios, pués los sistemas están pensados para que el número de combinaciones posibles por el precio de la apuesta unitaria sea siempre menor que el dinero a repartir todos los premios, pués una cantidad del total irá a Hacienda y otra como beneficio de la empresa u organismo que lo gestiona)...

Sin embargo, fíjate que dispones de datos estadísticos que han salido antes... si el sistema al final fuera bueno y acertara, probablemente lo único que estaría demostrando, es que el sistema tiene fallos del tipo "el bombo no es perfectamente redondo", "las bolas del número tal al cual, siempre entran en último lugar", es decir una baja entropía en un sistema estadístico donde se esperaba una elevada entropía refleaja un error en el equilibrió del sistema, etc... en definitiva serviría para descubrir 'vicios' en el diseño... por supuesto si uno, se calla y se aprovecha de ello, ganará dinero, pero su sistema no puede reclamar que sea inteligente, tan solo puede reclamar que encontró un desequilibrio del que se aprovechó. El caso no se rige por la inteligencia, por ello si ni siquiera podemos definir el caos con reglas, es imposible programar a una máquina para predecir el caos... más aún se dedican grandes esfuerzos para simular el caos, simular aleatoriedad...

...y todo porqué, porque ese sistema no está basado en inteligencia, por eso el hombre falla al intentar predecir la lotería, si es adecuadamente aleatorio (bien diseñado el sistema, sin desequilibrios), no depende de la inteligencia, por lo tanto, tampoco puede ser emulado por una máquna, de entrada porque el propio hombre no sabe como funciona el sistema caótico (en realidad asentimos en que es todo física pero con tal cantidad de variables que varian con el tiempo, que resulta imposible seguirles la pista)... y si un programa dispusiera de sensores en cada bola, conociendo su peso, su posición su densidad, etc... para poder calcular rebotes, choques, presiones, roces, atrtacciones gravitarorias o magnéticas, etc... podría adivinar las bolas que van a salir?. No... porque entonces no es adivinar es calcular... básicamente es lo mismo que si introduces una minicámara en la boca del bombo y examinas de las que están por caer, cual tiene más probabilidades de hacerlo, dada la mayor superficie liberada que tiene, etc...
Adivinar, tampoco es inteligencia, por eso los sistemas predictivos, realmente no lo son, calculan en base a datos previos sobre un sistema poco cambiante en el tiempo, cuando algo puede desaparecer al instante y aparecer... si un sistema predictivo fuera bueno, adivinarlo si sería predicción, pero si el sistema cambia poco, es lo mismo que ver una película... que nunca hemos visto... a medida que la vemos, podemos adivinar que pasará en la siguiente escena, o unas pocas después, porque poseemos información previa y sabemos que sigue un curso lógico... luego no es tanta adivinación, ni puede otorgársele más asunto del que tiene. Las posibilidades inútiles que se pueden eliminar de un sistema que evoluciona poco en el tiempo son así muy grandes.

Sucede que cuando los sistemas son muy grandes y/o complejos, unitariamente parecen comportarse de forma inteligente, cuando en realidad es que no lo comprendemos/conocemos bien.

Una máquina capaz de sumar y restar, multiplicar y dividir, y con operaciones buleanas, no puede ser inteligente... un ordenador es una máquina de cálculo, y muchos cálculos por segundo, no confiere inteligencia.
Alcanzar soluciones, es posible, lo conocemos como algoritmia, algo puesto ya en práctica por los griegos... el mismo teorema de Pitágoras es eso, pero no hay inteligencia en ello, si conocimiento, pués soluciona un problema conocido cuando se aplica.
#2294
Pués seguro que sí, pero al parecer lo que a veces falta gratuitamente es la mínima inteligencia para preguntar si algo así existe...

...o quizás era simplemente la excusa que tenía preparada para cuando le pillaran robando, esperanzado con ello en que así la condena fuera menor, después de todo acabó robando una bici (sin wifi).
#2295
Lógicamente... Goggle podrá prohibir en su tienda, tales aplicaciones y lógicamente jamás podrá prohibir que aplicaciones corren en el hardware de un móvil, que a Google, no le compete.

Por otro lado, yo aplaudo su resolución en este caso, porque de permitirlo (que en principio no lo vería mal), al final acabaría ocurriendo que miles de trolls, querrían sabotear otros terminales al acance para aprovecharse y así habría finalmente un problema de seguridad y de rendimiento de los terminales y de fiabilidad respecto de Android y Google... "muerto el perro, se acabó la rabia".
#2296
CitarEs algo raro que hables de bien y mal como algo del propio individuo y de la consciencia cuando no son mas que una mera convencion social, que implica comportamiento dentro del grupo.
No. No es ninguna convencioón social. suelta un niño en una isla y deja que crezca sólo, verás como de adulto, sabrá que hay cosas que son buenas y que otras son malas, sin que nadie le haya enseñado (manipulado), nada.
Creo que tu confundes bien y mal con ética... la etica si parte de una concepción de conjunto de grupo, pero la ética puede aceptar cosas malas, o negar la bondad de otras.

El bien y el mal, te lo enseña en definitiva tu propia alma, sin importar lo que en principio cuando niño alguien te haya dicho que está bien o mal... finalmente tu acabarás cuestionando (juzgando) la veracidad de las mismas. Bien es cierto que hay quien acepta todo sin rechistar y jamás cuestiona nada... Precisamente la población ideal de los absolutistas dictatoriales (no quieren que haya nadie que cuestiones, el sistema ni a ellos mismos).

Naturalmente no la convierte en verdad universal, no se libra del error del juicio propio, pero creo que todos estaríamos de acuerdo en que, poniendo en una bandeja 1000 temas y juzgando 1000 personas esos temas como buenos o malos, vendríamos a coincidir prácticamente en todo, salvo que la intención inicial sea demostrar lo contrario, en cuyo caso, los temas elegidos serían justo aquellos que rozan la frontera del bien y del mal, o la frontera de lo cultural... vamos los típicos trucos 'perrunos', que emplean los políticos para intentar hacer que los individusos se unan a sus causas.

Citar
Ni tu ni yo decidimos realmente lo que eticamente esta bien o mal, es más bien el entorno quien lo dictamina.
Ea... ética. Es algo muy distinto. La ética son reglas sociales de comportamiento. Con las reglas, pasa que uno puede aceptarlas o rechazarlas... Más aún, no existe ninguna obligación respecto de cómo deben ser esas reglas éticas, a menudo simplemente vienen impuestas de antiguo y a lo sumo en cad apresente se 'retocan-actualizan'...

El bien y el mal, están por encima de la ética, tarde o temprano, tu propia conciencia te dice si algo que hiciste está bien o no, y el remordimiento, está para decirte que hiciste algo que estaba mal... el remordimiento, no es un policía (físico) que viene a tu casa a decirte que te saltaste un semáforo en rojo y que por ello te 'regalan' una multa... ¿quién creó en tí el remordimiento?... nadie, está ahí desde que naciste y lo entiendes desde que tienes uso de razón o puede que incluso antes de eso...
Yo recuerdo aún siendo niño haber hecho cosas de las que sentí que no estaba bien y desde luego nadie me dijo nunca antes que hacer eso estaba mal... más aún, me sirvieron para tomar la decisión de cambiar (un otrdenador carece de lógica para esto, se basa en acierto y error, el remordimiento es algo que aunque acabe en acierto, te dice que ESTÁ MAL) ...no pinta nada la sociedad ahí... y cualquiera que tenga buena memoria de edad temprana, podrá recordar igualmente cosas que hizo y que sintió que estaban mal...

Citar
Una máquina no tiene por que llevar las ideas de nadie programadas..
ERROR línea 0 y por ello todas las demás...
Es imposible programar algo que no conoces. Nadie puede programar que un cohete vaya de la Luna a Marte si no tiene pajolera idea de trayectorias, cohetes, control de vuelo, etc...
No podemos programas que no tenga ideas mías, si soy yo quien lo programa, básicamente todo lo que tiene programasdo son ideas mías... para que esto no fuera así, un ordenador tendría que programarse a sí mismo 8o a un tercero), sin intermediación de ningún humano para ello... pero... como (insisto9, no tiene conciencia, desconoce que exista otro ordenador, aparato que puede (o exigimos que programe), es más a lo mejor le diseñamos un módulo para que escaneee el entorno y verifique que existen otras máquinas y que pueda comunicarse con ellas.... ERGO... repito ERGO... le estamos programando todo, C0J0N3X, si las máquinas fueran 'inteligentes', la mitad de un niño... la propia máquina haría lo mínimo que hace un niño, tener curiosidad e investigar: "hola como te llamas", es lo que pregunta un niño pequeño cuandose encuentra con otro niño pequeño... hasta esa simpleza debe ser programada en un ordenador/máquina.

Una báscula pueda pesar todo lo que pongas encima de ella, pero jamás podrá pesarse a sí misma. Será otra quien la pese a ella, pero JAMÁS a sí misma. Esa es la esencia de la consciencia, pesarse a sí misma.

Cuando un ordenador tenga capacidad de decir, "mmm el comparador que tengo es lento, voy a hacer que funciones más rápido... hummm no tengo sufieicnet ememoria, voy a esforzarme por diseñar un algoritmo de compresión mucho más efectivo y recomprimir todo con él, para tener más espacio libre.... hummmm, mis cáculos no bastan para solucionar esto, de hecho no tengo ni p**a idea como funciona aquello, pvoy a 'aprender' como funciona para luego diseñar un programa al efecto...'... no lamentablemente al final solo hace lo que le hemos dicho que haga, aunque ese algo sea muy amplio... ESTÁ LIMITADO POR DISEÑO, nuestro diseño.
#2297
CitarSi alguno cree que por algún motivo las máquinas no pueden tener libre albedrío pero el humano sí, me gustaría escuchar sus razones.
He tachado una frase, que creo no admite discusión...

Una máquina no puede tener libre albedrío, porque no puede pensar. Puede calcular, pero eso no es pensar. carece de consciencia, por lo tanto desconoce lo que es el bien y el mal... tú a lo sumo podrías programar que debe entender un programa por bien y mal, incluso puedes programar que cambie, que no tenga fijo la entrada que tu le diste, pero jamás lo hará por mediación de consciencia de la que carece. ...y siempre será incorrecto, porque cada cual tendremos un juicio algo ligeramente distinto de lo que está bien y mal (es decir si no nos ponemos de acuerdo en ciertas cuestiones, un programa para una máquina implica que porta las 'ideas específicas' de alguien y que el resto tiene que tragar con ellas como si fueran las 'correctas').

Las máquinas... la inteligencia artificial en general, fallan constantemente... las máquinas 'intentan' hacerlo lo mejor posible, pero el detalle está en qué se considera 'lo mejor posible'... típicamente esta cuestión se responde con datos de estadísticas. Un 80%, para una máquina siempre será más aceptable que el 20% restante...

La intuición humana, por ejemplo desdeña contínuamente porcentajes incluso del 99% a favor de ese 1%... y contínuamnete hay aciertos con ese 1%... ...esa era la respuesta correcta, en la que muchos no habían confiado. Un humano sabe equivocarse y no pasa nada, se sigue mejorando... para una máquina, no suele ser aceptable el error, puede costar vidas. Si un humano comete un error puede ser aceptable (porque todos los cometemos), pero para una máquina ciertos errores son intolerables...

Las máquinas pueden ser tan complicadas como quieras, y pueden hacer tantos cálculos como se imagines (en tiempo), y que coincidiendo con una gran velocidad de cálculo, la cantidad de datos procesada puede ser enorme... probablemente incluso supere en órdenes (algún día no muy lejano), un solo ordenador a toda la población del planeta... sin embargo, una sola persona incluso mediocre, 'pensará' más correctamente de lo que una máquina jamás podrá hacer... naturalmente equivaliendo cantidades, es decir, si un hombre genera 100 ideas y 1000 pensamientos, sin duda alguna serán más eficaces que lo que haga una máquina también con 100 ídeas y 1000 pensamientos... la máquina solo supera al hombre cuando se compara las 100 ideas del hombre con 100 millones de ideas de la máquina, y lo supera en el tiempo necesario para hacerlo...

El modo mas sencillo de demostrarlo, es pedirle a una máquina que si es tan lista, que sea ella quien diseñe su próxima versión (en vez de otro grupo de humanos), y que sea más eficaz de forma notable no en un ridículo 1-5%... además deberá exigírsele que incluya novedades jamás vistas hasta ahora como hace el hombre constantemente... no basta con mejorar las capacidades existentes, si no crea otras nuevas...

Esto no quita en nada la enorma utilidad que ofrecen las máquinas, precisamente por su velocidad de cálculo, pero créeme, las máquinas son idiotas... difícilmente superan a un niño de 5 años... pero claro es la suma de millones de niños de 5 años... Es el mismo problema que 'un humano es más fuerte que una hormiga', más fuerte que una hormiga, es, no hay ninguna duda, pero claro si juntas 100 millones de hormigas, por supuesto que todas juntas serán más fuertes que cualquier humano. Luego las comparaciones deben ser sensatas, para no falsificar los conceptos, de 'inteligencia' y capacidades.

Como sólo venía a hechar una ojeada antes de irme a dormir (y se me hace tarde ya)... mañana te respondo en el otro hilo.
#2298
No sé que clase de 61L1P0LL45, escribe estas cosas...

El titular dice: "Facebook gana menos..." (da igual que luego añada que 'lo que esperaba Pepe, o su PU74 M4DR3), la realidad es la que es, no la que sueñe uno u otor...
Para luego decir que "Ganó un 42% más que el año pasado en el mismo período..."

Quién de nosotros se atrevería a decir que gana menos, si realmente ganó un 42% más que el mismo período del año anterior???.

Qué clase de 61L1P0LL45 se necesita para hacer estos titulares????
#2299
En primer lugar, decir que el que tiene gato (y siempre ha tenido gatos, como yo), sabe que eso es una tontería...

Y en segundo lugar, el estudio, no vale para nada. Sacan una conclusión así por las buenas. Los gatos son inteligente, y como tal si eligen a la gente entre esas 4 categorías, podría ser simplemente porque saben que el 'humano', podrá proporcionarles cualquiera de las otras 3, en diferentes momentos... luego la elección que hacen no puede deducirse unívocamente que sea por su 'gusto', si no todavía queda la duda de si la harían por uso de su inteligencia. En fin otro estudio a medias... con conclusiones precipitadas.
#2300
El problema de compartir, es el mismo problema que el de 'no bebas, no fumes', pero el que lo dice, bebe y fuma (incluso médico)...

Es buena costumbre desear buenas cosas. Y si antes lo típico era "dar los buenos días", cuando te encontrabas con un conocido por la calle, ahora se ha remplazado por algo más edulcorado: "toma te mando una noticia que te interesará (si la lees)", quien a su vez, remplazará el reenvío de la misma por sus "buenos días" correspondiente...

En realidad, la gente no hace nada mal, tan solo confiar... y quizás la culpa sea de aquellos que abusan d ela buena fé d elos primeros colando falsas noticias, para sus propios fines.