Kirjoittaja Aihe: Kuva kuvaajan kuvaajan kuvaajasta mahdotonta saavuttaa?  (Luettu 1573 kertaa)

Jere Sumell

  • Käyttäjä
  • Viestejä: 721
  • Talous, Hallinto ja Markkinointi (AMK, 2017),B.B.A
    • Profiili
    • Tietokone-blogi
Vähän viihteellisempi keskustelusäikeen avaus, mutta mitä tänään seurasin aamupäivällä ja keskipäivällä ja alkuiltapäivästä Olympialaisia, niin tuli mieleen, kun Curling-in kansainvälisessä kuvastreamissa oli teleisiokuvaajan kuvassa toinen Curling-lähetyksessä lähetettävää kuvaa kuvaava kameramies, kun perinteinen heitto on, että "Kuvaajastahan ei ole kuvaa". Sama, mitä Facebookissa on määriteltynä tai rajoitettuna käyttäjien toimintoina, että tykkäyksistä ei voi tykätä.

Jos ajattelee jotain kuvaus-algoritmiä näin
Koodia: [Valitse]
MODULE Kuva kuvaa (Kuvaaja x):
Kuva = RETURN kuvaa(kuvaaja)

Tuonhan suoritus ei koskaan päättyisi, tuolta metodista ei koskaan päästäisi ulos suorittamaan metodin kutsusta seuraavaa ohjelmakoodiriviä. Sama, mitä tuo Facebookin tykkäyksistä tykkäminen on rajattu kokonaan käyttäjälle tarjottavista toiminnoista pois, koska sillehän on täysin mahdotonta mitään lopetusehtoa määritellä, jos ajattelee abstaktilla tasolla? Yleensä noissa rekursiivisissakin funktioissa, tai metodeissa niiden onnistuneen toteuttamisen edellytyksenähän on, että lopetusehto on ennalta tiedossa, ja se lopetusehdon tarkastaminen on tuon metodin otsikkorivin jälkeen heti alussa ennen varsinaista toimintoa, jonka metodin on määritelty toteuttavan.

Kuva Kuvaajasta on mahdollinen, mutta sitten on mahdotonta kuvaa saada kuvaajaa kuvaavasta kuvaajasta olettaen, että jos ei ole määritelty lopetusehtoa, joka voisi olal vaikka jokin lukumäärä niitä kuvia, jotka ovat riittävästi. Jatkuisi iät ja ajat, ja jos Facebookissa ei olisi tuota rajoitusta, ennen pitkää koko järjestelmä kaatuisi resurssipulaan.

Tuossa kuvaaja -esimerkissä, jos kuvaajaa kuvaava kuvaaja ottaa lopulta itsestään nyt some-aikana suositaan paljonkin "Selfien" -ottoa, niin periaatteessa sehän on ehkä ainut poikkeus, mikä katkaisee tuon ketjun, mutta sittenkin kuva siitä selfien ottajasta, niin taas se jatkuisi eikä loppua tulisi.

Tuosta voisi saada hyvänkin valokuvan otettua, jossa on ideaa, jos ottaisi valokuvan jostain aukealta paikalta, jossa on kuvassa paljon edellisen kameramiehen kuvausta kuvaavia kuvaajia kuvassa, ja sitten se lopullinen kuva, joka siitä tulee julkisuuteen, on mahdollisesti selfien-tyylinen tai jollain automatiikalla laukaistu ja valotettu, no, digikamera-aikana nykyisin ei sinänsä valoteta, mitä perinteisesti filmikameralla, mutta kuitenkin se kuva, joka kuvaisi noita kuvaajia kuvaajia.

En epäile, että jossain satiirisarjassa tai viihteellisessä parodiassa tätä ideaa oltaisiin käytetty, Simpsonit voisi olla yksi sarja, jossa voisin kuvitella tätä ideaa joskus käytetty, mutta ei äkkiseltään tule mieleen jaksoa, jossa olisin nähnyt tämän käytännössä, vaikka noita Simpsoneita useaan kertaan niitä edellisiä kausia on nähnytkin niitä jaksoja sen alkamisesta Suomen televisiossa lähtien.

Eli kuvaajaa kuvaavasta kuvaajasta ei ole mahdollista ottaa kuvan siten, että lopetusehtoa ei määriteltäisi, edellyttäen, että se pitää tunnistaa ensin.

Onko joku muu pohtinut tätä, varmaan täälläkin palstalla jonkin verran valokuvakameroiden kanssa omaan arkistoon kuvaavia on, tai miksei muuallekin, niin varmaan olette pohtineet, miksi aina puhutaan, että kuvaajastahan ei ole kuvaa perinteisesti.

Tai miten olette päätelleet tuon, miksi Facebookissa ei voi tykätä tykkäyksistä?

Facebookin tuo tykkäys-toiminto jokin tämänkaltainen tykkäämis-algoritmi siinä on
Koodia: [Valitse]
MODULE Like like(User x, Post y):
y.likes=y.likes + 1
y.wholikes = ADD(x)
RETURN Like = like(x,y)
Tuokin nyt vähän ylimääräistä tuossa, mutta jokin tuon kaltainen yksinkertaisimmillaan se voisi olla, tuo on nyt jonkinlaisella yleisellä pseudokielellä kuvattu siten, että ei tarvitse tietää etukäteen mistään avainsanoista tai määritellä sen enempää, että tuon algoritmin idean käsittää kuka tahansa, mitä tuo moduuli "like" tekee, niin jotain tuon kaltaista voisi kuvitella olevan millä Facebookin ohjelmistokehittäjät ovat sitten ohjelmoineetkaan kielellä, JavaScriptillä millä lie tuon tykkäys-toiminnon, niin tuossa on sama mitä tämän postauksen alussa tuo  kuvaus-algoritmi, että tuosta tykkäämisestä ei tule loppua tuolla määrittelyllä.
« Viimeksi muokattu: 05.02.22 - klo:17.18 kirjoittanut Jere Sumell »
Free Internet and  people for humans all over the globe!

(Profiilikuvassa oma valokuvani GIMPissä editoituna Disney Classic-väripaletin väreihin ja muunnettuna bittikartta-tiedostosta vektorigrafiikaksi.)

AimoE

  • Käyttäjä
  • Viestejä: 2707
    • Profiili
Vs: Kuva kuvaajan kuvaajan kuvaajasta mahdotonta saavuttaa?
« Vastaus #1 : 05.02.22 - klo:17.54 »
Jos nyt viihdelinjalla ollaan, niin tulee mieleen kuinka 30-40 vuotta sitten eräässä työpaikassa päätin käyttää skirptikieltä, joka nyt vaan sattui olemaan käytettävissä, ja ratkaista ongelman, joka vaati rekursiota matemaattisen logiikan mielessä (eli laskenta-aika riippuu täysin syötteestä; käsillä olevan ongelman tapauksessa myöskin tilanvaraus riippui syötteestä, koska päättymättömän silmukan katkaisu vaati kuljetun polun jäljitystä).

Avasin manuaalin ja totesin, että tässä kielessä funktio ei voi kutsua itseään, eikä osoitintyyppiäkään ole. Hetken aikaa mietin, opettelenko C-kielen ihan puhtaalta päydältä vai käytänkö Cobolia. Mutta sitten tuli mieleen, että hei, funktion parametrit välitetään by reference, joten dynaaminen tietorakenne saadaan kyllä aikaan kutsupinon kautta. Sitten kokeilin, salliiko kieli sen, että kaksi funktiota kutsuu toinen toisiaan. Sallihan se. Kieli oli sillä tavalla minimaalinen, että siinä oli mahdollisimman vähän varattuja sanoja, ja muutenkin kieli miellytti silmää, joten en vaihtanut toiseen. Ohjelma olikin lopulta helppo koodata ja se ratkaisi kokoaan paljon isomman ongelman. Loppujen lopuksi sain sen ohjelman avulla ratkottua monta isoa ongelmaa.

Siitä vaan jäi huono omatunto, että kukaan muu työpaikalla ei osannut sitä kieltä kun lähdin sieltä. Ei kelleen ollut tullut mieleenkään käyttää sitä. Vuosia myöhemmin kuulin entiseltä työkaverilta, että kun vakituisesti palkattu "konsultti" oli pantu tekemään joku päivitys siihen ohjelmaan, hän oli kahvipöydässä ylistänyt, että eipä ole ennen nähnyt niin näppärästi koodattua ohjelmaa. Tai jotain sinne päin. Minusta se oli kyllä kielen ansiota eikä koodaajan. Sellaisia kieliä vaan ei juurikaan käytössä näe.

JaniAlander

  • Käyttäjä / moderaattori+
  • Viestejä: 3319
    • Profiili
Vs: Kuva kuvaajan kuvaajan kuvaajasta mahdotonta saavuttaa?
« Vastaus #2 : 05.02.22 - klo:18.04 »
Niin siis yrität ääretöntä rekursiota, ei se varmaan juu onnistu...
Core i5-9400F 2.9ghz 32GB Ram, Nvidia RTX2060 Kubuntu 22.04-64bit, Windows 10 Pro 64-bit Samsung Series 5, AMD A-6 2.1 GHz 4 Gt Ram, Ubuntu 18.04 64-bit.
Lenovo T60 Core2Duo 2GB Ram Ati Mobility Radeon 128 MB Ubuntu Mate 16.04-64bit
Commodore Amiga 500 1MB Ram.

Efraiminpoika

  • Käyttäjä
  • Viestejä: 134
    • Profiili
Vs: Kuva kuvaajan kuvaajan kuvaajasta mahdotonta saavuttaa?
« Vastaus #3 : 06.02.22 - klo:08.25 »
Tämähän on vanha ongelma: https://en.wikipedia.org/wiki/Infinity_mirror ja https://housecaravan.com/what-happens-when-two-mirrors-face-each-other/
Jos yrität samaa ohjelmalla niin minusta, intuitiivisesti, ongelmana on ajan rajallisuus, ainakin tietokoneen ja ohjelmoijan kannalta ;)
Tietoliikenneinsinööriä tulee mieleen lähytysteho, vaimennus ja vastaanottimen herkkyys, joiden takia joko tarvittava teho tai tarvittava herkkyys ei riitä (verrattavissa peilitapaukseen)

Voisiko tietokoneohjelmalla päästä ohi näistä fyysisen maailman rajoitteista?
Epäilen ettei ...

PS. Ikä alkaa jo vaivata vanhuuseläkeiässä, kun unohtui yltä häiriöt, taustakohina ensimmäisenä, vaimennuksen ohesta.
« Viimeksi muokattu: 06.02.22 - klo:08.36 kirjoittanut Efraiminpoika »
tietoliikenneinsinööri vm.1981
current title: senile design engineer (suom. eläkeläisäijä)
previously: senior design engineer
A. Hellaakoski: Tien kulkija tien on vanki. Vapaa on vain umpihanki.

Jere Sumell

  • Käyttäjä
  • Viestejä: 721
  • Talous, Hallinto ja Markkinointi (AMK, 2017),B.B.A
    • Profiili
    • Tietokone-blogi
Vs: Kuva kuvaajan kuvaajan kuvaajasta mahdotonta saavuttaa?
« Vastaus #4 : 06.02.22 - klo:09.18 »
Itse asiassa en ole sen kummemmin miettinyt tuota aihetta sen enempää ohjelmistokehittäjän näkokulmasta, mutta tuo Infinite Mirrors oli uusi minulle, en ole koskaan tormännyt tuohon ennen sinun vastauspostaustasi, "Efraiminpoika".

Millään ohjelmointikurssilla opintojen aikana ei nostettu esiin edes suullisesti kurssin ohjaaja tätä rekursiota käsitellessä. Tuo Infinite Mirrors nyt ei liity suoraan computing/computer science/computer programming -kontekstiin tuo, miten se on esitetty, en tiedä, onko olemassa mitään esitystä nimenomaan tietojenkäsittely-kontekstissa tuohon, ja mitä ratkaisumalleja on olemassa. Jos jotain on, ottaisin tiedon vastaan auliisti.
Free Internet and  people for humans all over the globe!

(Profiilikuvassa oma valokuvani GIMPissä editoituna Disney Classic-väripaletin väreihin ja muunnettuna bittikartta-tiedostosta vektorigrafiikaksi.)

Jere Sumell

  • Käyttäjä
  • Viestejä: 721
  • Talous, Hallinto ja Markkinointi (AMK, 2017),B.B.A
    • Profiili
    • Tietokone-blogi
Vs: Kuva kuvaajan kuvaajan kuvaajasta mahdotonta saavuttaa?
« Vastaus #5 : 06.02.22 - klo:15.33 »
Täytynee kait arkistoida tämä "Päättymätön rekursio"  omassa arkistossani Algoritmit-alaosastoon "Algoritmisesti ratkeamattomat ongelmat", kun ei nykytiedon valossa pysty laatimaan algoritmiä, joka ratkaisisi tuon ongelman?

Ei se nyt mitään ihmeellistä ole, että algoritmia ei ole löydetty vielä ratkaisemaan jotain ongelmaa, niitä on paljon enemmänkin, tunnetuin, jonka olen kuullut, tai eniten jonkun toisen suusta, on tuo aikataulutus, että yhtään yhteentörmäystä ei tapahtuisi suuren populaation joukosta, kun yhteensovittelee aikataulua, mutta tämä nyt on yksi harvoista, ainakin viimeisin, jonka itse äkkäsin. Onhan se totta, että paljon vähemmän niitä ongelmia on olemassa, joihin pystytään esittämään jokin algoritmi, ja sitä kautta tietokoneella kyetään ratkaisemaan ongelma, eli niitä algoritmisesti ratkeamattomia ongelmia on runsaasti paljon enemmän.
Free Internet and  people for humans all over the globe!

(Profiilikuvassa oma valokuvani GIMPissä editoituna Disney Classic-väripaletin väreihin ja muunnettuna bittikartta-tiedostosta vektorigrafiikaksi.)