Listo de ĉiuj partoj ⇐ Al la antaŭa parto Al la posta parto ⇒
La bazan tekston origine enkomputiligis Rogener Pavinski
Proksimuma verkojaro: 2011-2019
Kreis la Esperantan tekston: diversaj personoj
La artikoloj origine aperis en Kontakto: http://kontakto.tejo.org.
Christian RIVIÈRE — Francio
Ĉu vi scias kio estas kriptoritmoj? Tiu speco de kap-rompa problemo estas relative malnova kaj ĝia iama elpensinto ne estas konata. La nomon kript-aritmetiko (en la franca crypt-arithmétique) proponis la belgo Minos, kiu unuafoje uzis ĝin en majo 1931 en la belga magazino pri matematikaj ludoj Sphinx. En 1955, James Alston Hope Hunter enkondukis la anglan vorton alphametic por la sama ideo.
La lastan jaron, en franclingva libro pri logik-enigmoj, mi malkovris specimenon de kriptoritmo kaj poste malkovris ke tio estas konata en diversaj lingvoj, kaj mi tuj demandis min ĉu tio eblus en Esperanto. Paralele, mi interesiĝas pri lineara programado, kiu estas tekniko de deklar-programado por solvi optimumigajn problemojn (vidu en aparta kadro). Kunliginte la du aferojn, mi decidis pritrakti la problemon pri la kriptoritmoj pretekste de testo kaj ekrego de tiu tekniko, kvankam normale oni solvas tiajn enigmojn ne per komputilo, sed per krajono kaj papero, akcesore al sia propra cerbo. Tial mi fine decidis ke mia programo faru pli. Tion mi prezentos poste ĉar mi ankoraŭ ne diris al vi tion, kio estas sum-enigmo aŭ kriptoritmo.
Por tion klarigi, sufiĉas ke mi prezentu la jenan simplan ekzemplon: TRI+TRI=SES [1,7].
Enestas en ĝi kvin malsamaj literoj: E, I, R, S, T. La enigmo konsistas en trovo de kvin ciferoj (inter 1 kaj 7, kiel menciite), kiuj anstataŭante la literojn konservas la sumon ĝusta. Ekzemple, se oni proponas E=3, I=7, R=1, S=4, T=2, tiel efektive ĝusta estas la rezulto: 217+217=434.
Analoge en la franca:
CINQ+CINQ+VINGT=TRENTE (kvin+kvin+dudek=tridek, kio ne funkcias en Esperanto)
SOLEIL+SABLE=BIKINI (suno+sablo=banvesto)
VIAGRA+VIAGRA=ORGASME
En la angla:
SEVEN+SEVEN+SIX=TWENTY (sep+sep+ses=dudek, kio ankaŭ ne funkcias en Esperanto)
Mia programo (Lineara Programado Sine de C-programo) solvas la bazan problemon submetitan al ĝi. Sed ĝi kapablas ne nur trovi la solvon al la problemo (sumo de du aŭ tri vortoj), sed ankaŭ trovi ĉiujn solvojn, kiam da ili estas pluraj (ĝi simple sin relanĉas rifuzante la antaŭajn solvojn ĝis netrovo de nova solvo, do ĝis fino).
Pri la simplaj operacioj (adicio de du aŭ tri operatoroj aŭ multiplikado de du operatoroj) mi sukcesis starigi kompletan liston de eblaj problemoj (34 rilataj al adicio, kaj 2 rilate al multipliko), kun ĉiukaza precizigo de la necesaj ciferoj kaj de la nombro de solvoj.
Poste mi malkovris ke ĉe Interreto, oni proponas amason da humuraj problemoj en diversaj lingvoj, eĉ foje humure miksante lingvojn. En Esperanto mi proponas por ilustri: TRO+DA+VINO=EBRIO (kvar solvoj), sed oni certe povus trovi pli subtilajn, pli poeziajn, pli amuzajn. Mi ŝatus kolekti amason, kiun proponus kriptoritmemaj esperantistoj. Mia programo en tre mallonga tempo povos trovi la solvo(j)n de submetita problemo, do konfirmi ke la propono estas valida aŭ, ve!, konstati sensolvon. La nomon de sukcesinto mi promesas ĉiam mencii ĉe eventuala publikigo de solvo-katalogo de ĉi problemo. Eble estos sufiĉe multaj por elekti kaj publikigi la plej interesajn en venonta numero de Kontakto.
Ek al viaj krajonoj! Mi esperas ke mi plej rapide povos nutri mian programon. Bonvolu sendi viajn proponojn kaj mi validigos ilin rapide. Notu ke aparta problemo en Esperanto estas la ofta finaĵo O, ĉar ...O + ...O + ...O = ...O sisteme trudas ke O=0 aŭ O=5, kio vere limigas la nombron de la ebloj. Estas do konsilinde diversigi la finaĵojn (per pluralo, akuzativo, verbo...)
Do, por ke vi trovu la solvojn, momente mi proponas la relative simplajn:
UNU+DU=TRI [1,6] (2 solvoj)
TRI+TRI=SES [1,7] (2 solvoj)
La mezsimplan:
NUL+DU+OK=DEK [1,7] (2 solvoj)
La pli malsimplan:
SESDEK+SEPDEK+SEPDEK=DUCENT [0,9]
Kuraĝon!
Sendu la solvojn de la problemoj kaj proponojn al la aŭtoro ĉe:
christian.riviere0324@orange.fr
Lineara programado
Lineara programado situas en la kategorio de la deklaro-programado, kio signifas ke oni priskribas problemon per deklaro de trudoj kaj de celo, kiun oni nomas “kosto-funkcio”. La trudojn oni priskribas per linearaj neegalaĵoj (ekzemple sumo de kostoj estu malsupera al limigita buĝeto). La egalaĵoj eblas sed havas la signifon de du inversaj neegalaĵoj. La celon (ekzemple maksimumon da enspezo, minimumon da konsumo) oni deklaras ankaŭ lineare.
La variabloj estas reelaj (kontinuaj), entjeraj aŭ binaraj (diskretaj). En kutima problemo (ekz. administrado de stoko, optimumizado de liver-itinero), la variabloj estas majoritate reelaj. Ili povas esti relative multnombraj (centoj, miloj, eĉ foje dekmiloj), kaj same la nombro de esprimitaj neegalaĵoj estas foje tre granda, sed tio ne estas katastrofo ĉar kutime en ĉiu aparta neegalaĵo aperas nur kelkaj el la multnombraj variabloj.
Post priskribo de la problemo, oni submetas ĝin al solvilo kiu, post pli-malpli longa digesto (laŭ la speco de problemoj, ĝi bezonas inter sekundo-dekono kaj hor-dekoj), resendas la plej bonan solvon. Vi povas postuli ke ĝi funkciu dum limigita tempo, post kio ĝi resendu la plej bonan solvon dume trovitan, eĉ se tiu ne estas absolute la plej valora rilate al la kosto-funkcio.