Serveur d'exploration sur les dispositifs haptiques

Attention, ce site est en cours de développement !
Attention, site généré par des moyens informatiques à partir de corpus bruts.
Les informations ne sont donc pas validées.

Learning to Estimate Dynamical State with Probabilistic Population Codes

Identifieur interne : 000760 ( Main/Merge ); précédent : 000759; suivant : 000761

Learning to Estimate Dynamical State with Probabilistic Population Codes

Auteurs : Joseph G. Makin [États-Unis] ; Benjamin K. Dichter [États-Unis] ; Philip N. Sabes [États-Unis]

Source :

RBID : PMC:4634970

Abstract

Tracking moving objects, including one’s own body, is a fundamental ability of higher organisms, playing a central role in many perceptual and motor tasks. While it is unknown how the brain learns to follow and predict the dynamics of objects, it is known that this process of state estimation can be learned purely from the statistics of noisy observations. When the dynamics are simply linear with additive Gaussian noise, the optimal solution is the well known Kalman filter (KF), the parameters of which can be learned via latent-variable density estimation (the EM algorithm). The brain does not, however, directly manipulate matrices and vectors, but instead appears to represent probability distributions with the firing rates of population of neurons, “probabilistic population codes.” We show that a recurrent neural network—a modified form of an exponential family harmonium (EFH)—that takes a linear probabilistic population code as input can learn, without supervision, to estimate the state of a linear dynamical system. After observing a series of population responses (spike counts) to the position of a moving object, the network learns to represent the velocity of the object and forms nearly optimal predictions about the position at the next time-step. This result builds on our previous work showing that a similar network can learn to perform multisensory integration and coordinate transformations for static stimuli. The receptive fields of the trained network also make qualitative predictions about the developing and learning brain: tuning gradually emerges for higher-order dynamical states not explicitly present in the inputs, appearing as delayed tuning for the lower-order states.


Url:
DOI: 10.1371/journal.pcbi.1004554
PubMed: 26540152
PubMed Central: 4634970

Links toward previous steps (curation, corpus...)


Links to Exploration step

PMC:4634970

Le document en format XML

<record>
<TEI>
<teiHeader>
<fileDesc>
<titleStmt>
<title xml:lang="en">Learning to Estimate Dynamical State with Probabilistic Population Codes</title>
<author>
<name sortKey="Makin, Joseph G" sort="Makin, Joseph G" uniqKey="Makin J" first="Joseph G." last="Makin">Joseph G. Makin</name>
<affiliation wicri:level="2">
<nlm:aff id="aff001">
<addr-line>Center for Integrative Neuroscience, University of California, San Francisco, San Francisco, California, United States of America</addr-line>
</nlm:aff>
<country xml:lang="fr">États-Unis</country>
<wicri:regionArea>Center for Integrative Neuroscience, University of California, San Francisco, San Francisco, California</wicri:regionArea>
<placeName>
<region type="state">Californie</region>
</placeName>
</affiliation>
<affiliation wicri:level="2">
<nlm:aff id="aff002">
<addr-line>Department of Physiology, University of California, San Francisco, San Francisco, California, United States of America</addr-line>
</nlm:aff>
<country xml:lang="fr">États-Unis</country>
<wicri:regionArea>Department of Physiology, University of California, San Francisco, San Francisco, California</wicri:regionArea>
<placeName>
<region type="state">Californie</region>
</placeName>
</affiliation>
</author>
<author>
<name sortKey="Dichter, Benjamin K" sort="Dichter, Benjamin K" uniqKey="Dichter B" first="Benjamin K." last="Dichter">Benjamin K. Dichter</name>
<affiliation wicri:level="2">
<nlm:aff id="aff001">
<addr-line>Center for Integrative Neuroscience, University of California, San Francisco, San Francisco, California, United States of America</addr-line>
</nlm:aff>
<country xml:lang="fr">États-Unis</country>
<wicri:regionArea>Center for Integrative Neuroscience, University of California, San Francisco, San Francisco, California</wicri:regionArea>
<placeName>
<region type="state">Californie</region>
</placeName>
</affiliation>
<affiliation wicri:level="2">
<nlm:aff id="aff003">
<addr-line>UC Berkeley-UCSF Graduate Program in Bioengineering, University of California, San Francisco, San Francisco, California, United States of America</addr-line>
</nlm:aff>
<country xml:lang="fr">États-Unis</country>
<wicri:regionArea>UC Berkeley-UCSF Graduate Program in Bioengineering, University of California, San Francisco, San Francisco, California</wicri:regionArea>
<placeName>
<region type="state">Californie</region>
</placeName>
</affiliation>
</author>
<author>
<name sortKey="Sabes, Philip N" sort="Sabes, Philip N" uniqKey="Sabes P" first="Philip N." last="Sabes">Philip N. Sabes</name>
<affiliation wicri:level="2">
<nlm:aff id="aff001">
<addr-line>Center for Integrative Neuroscience, University of California, San Francisco, San Francisco, California, United States of America</addr-line>
</nlm:aff>
<country xml:lang="fr">États-Unis</country>
<wicri:regionArea>Center for Integrative Neuroscience, University of California, San Francisco, San Francisco, California</wicri:regionArea>
<placeName>
<region type="state">Californie</region>
</placeName>
</affiliation>
<affiliation wicri:level="2">
<nlm:aff id="aff002">
<addr-line>Department of Physiology, University of California, San Francisco, San Francisco, California, United States of America</addr-line>
</nlm:aff>
<country xml:lang="fr">États-Unis</country>
<wicri:regionArea>Department of Physiology, University of California, San Francisco, San Francisco, California</wicri:regionArea>
<placeName>
<region type="state">Californie</region>
</placeName>
</affiliation>
<affiliation wicri:level="2">
<nlm:aff id="aff003">
<addr-line>UC Berkeley-UCSF Graduate Program in Bioengineering, University of California, San Francisco, San Francisco, California, United States of America</addr-line>
</nlm:aff>
<country xml:lang="fr">États-Unis</country>
<wicri:regionArea>UC Berkeley-UCSF Graduate Program in Bioengineering, University of California, San Francisco, San Francisco, California</wicri:regionArea>
<placeName>
<region type="state">Californie</region>
</placeName>
</affiliation>
</author>
</titleStmt>
<publicationStmt>
<idno type="wicri:source">PMC</idno>
<idno type="pmid">26540152</idno>
<idno type="pmc">4634970</idno>
<idno type="url">http://www.ncbi.nlm.nih.gov/pmc/articles/PMC4634970</idno>
<idno type="RBID">PMC:4634970</idno>
<idno type="doi">10.1371/journal.pcbi.1004554</idno>
<date when="2015">2015</date>
<idno type="wicri:Area/Pmc/Corpus">000262</idno>
<idno type="wicri:Area/Pmc/Curation">000262</idno>
<idno type="wicri:Area/Pmc/Checkpoint">000476</idno>
<idno type="wicri:Area/Ncbi/Merge">003D39</idno>
<idno type="wicri:Area/Ncbi/Curation">003D39</idno>
<idno type="wicri:Area/Ncbi/Checkpoint">003D39</idno>
<idno type="wicri:doubleKey">1553-734X:2015:Makin J:learning:to:estimate</idno>
<idno type="wicri:Area/Main/Merge">000760</idno>
</publicationStmt>
<sourceDesc>
<biblStruct>
<analytic>
<title xml:lang="en" level="a" type="main">Learning to Estimate Dynamical State with Probabilistic Population Codes</title>
<author>
<name sortKey="Makin, Joseph G" sort="Makin, Joseph G" uniqKey="Makin J" first="Joseph G." last="Makin">Joseph G. Makin</name>
<affiliation wicri:level="2">
<nlm:aff id="aff001">
<addr-line>Center for Integrative Neuroscience, University of California, San Francisco, San Francisco, California, United States of America</addr-line>
</nlm:aff>
<country xml:lang="fr">États-Unis</country>
<wicri:regionArea>Center for Integrative Neuroscience, University of California, San Francisco, San Francisco, California</wicri:regionArea>
<placeName>
<region type="state">Californie</region>
</placeName>
</affiliation>
<affiliation wicri:level="2">
<nlm:aff id="aff002">
<addr-line>Department of Physiology, University of California, San Francisco, San Francisco, California, United States of America</addr-line>
</nlm:aff>
<country xml:lang="fr">États-Unis</country>
<wicri:regionArea>Department of Physiology, University of California, San Francisco, San Francisco, California</wicri:regionArea>
<placeName>
<region type="state">Californie</region>
</placeName>
</affiliation>
</author>
<author>
<name sortKey="Dichter, Benjamin K" sort="Dichter, Benjamin K" uniqKey="Dichter B" first="Benjamin K." last="Dichter">Benjamin K. Dichter</name>
<affiliation wicri:level="2">
<nlm:aff id="aff001">
<addr-line>Center for Integrative Neuroscience, University of California, San Francisco, San Francisco, California, United States of America</addr-line>
</nlm:aff>
<country xml:lang="fr">États-Unis</country>
<wicri:regionArea>Center for Integrative Neuroscience, University of California, San Francisco, San Francisco, California</wicri:regionArea>
<placeName>
<region type="state">Californie</region>
</placeName>
</affiliation>
<affiliation wicri:level="2">
<nlm:aff id="aff003">
<addr-line>UC Berkeley-UCSF Graduate Program in Bioengineering, University of California, San Francisco, San Francisco, California, United States of America</addr-line>
</nlm:aff>
<country xml:lang="fr">États-Unis</country>
<wicri:regionArea>UC Berkeley-UCSF Graduate Program in Bioengineering, University of California, San Francisco, San Francisco, California</wicri:regionArea>
<placeName>
<region type="state">Californie</region>
</placeName>
</affiliation>
</author>
<author>
<name sortKey="Sabes, Philip N" sort="Sabes, Philip N" uniqKey="Sabes P" first="Philip N." last="Sabes">Philip N. Sabes</name>
<affiliation wicri:level="2">
<nlm:aff id="aff001">
<addr-line>Center for Integrative Neuroscience, University of California, San Francisco, San Francisco, California, United States of America</addr-line>
</nlm:aff>
<country xml:lang="fr">États-Unis</country>
<wicri:regionArea>Center for Integrative Neuroscience, University of California, San Francisco, San Francisco, California</wicri:regionArea>
<placeName>
<region type="state">Californie</region>
</placeName>
</affiliation>
<affiliation wicri:level="2">
<nlm:aff id="aff002">
<addr-line>Department of Physiology, University of California, San Francisco, San Francisco, California, United States of America</addr-line>
</nlm:aff>
<country xml:lang="fr">États-Unis</country>
<wicri:regionArea>Department of Physiology, University of California, San Francisco, San Francisco, California</wicri:regionArea>
<placeName>
<region type="state">Californie</region>
</placeName>
</affiliation>
<affiliation wicri:level="2">
<nlm:aff id="aff003">
<addr-line>UC Berkeley-UCSF Graduate Program in Bioengineering, University of California, San Francisco, San Francisco, California, United States of America</addr-line>
</nlm:aff>
<country xml:lang="fr">États-Unis</country>
<wicri:regionArea>UC Berkeley-UCSF Graduate Program in Bioengineering, University of California, San Francisco, San Francisco, California</wicri:regionArea>
<placeName>
<region type="state">Californie</region>
</placeName>
</affiliation>
</author>
</analytic>
<series>
<title level="j">PLoS Computational Biology</title>
<idno type="ISSN">1553-734X</idno>
<idno type="eISSN">1553-7358</idno>
<imprint>
<date when="2015">2015</date>
</imprint>
</series>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc>
<textClass></textClass>
</profileDesc>
</teiHeader>
<front>
<div type="abstract" xml:lang="en">
<p>Tracking moving objects, including one’s own body, is a fundamental ability of higher organisms, playing a central role in many perceptual and motor tasks. While it is unknown how the brain learns to follow and predict the dynamics of objects, it is known that this process of state estimation can be learned purely from the statistics of noisy observations. When the dynamics are simply linear with additive Gaussian noise, the optimal solution is the well known Kalman filter (KF), the parameters of which can be learned via latent-variable density estimation (the EM algorithm). The brain does not, however, directly manipulate matrices and vectors, but instead appears to represent probability distributions with the firing rates of population of neurons, “probabilistic population codes.” We show that a recurrent neural network—a modified form of an exponential family harmonium (EFH)—that takes a linear probabilistic population code as input can learn, without supervision, to estimate the state of a linear dynamical system. After observing a series of population responses (spike counts) to the position of a moving object, the network learns to represent the velocity of the object and forms nearly optimal predictions about the position at the next time-step. This result builds on our previous work showing that a similar network can learn to perform multisensory integration and coordinate transformations for static stimuli. The receptive fields of the trained network also make qualitative predictions about the developing and learning brain: tuning gradually emerges for higher-order dynamical states not explicitly present in the inputs, appearing as
<italic>delayed</italic>
tuning for the lower-order states.</p>
</div>
</front>
<back>
<div1 type="bibliography">
<listBibl>
<biblStruct>
<analytic>
<author>
<name sortKey="Foldiak, P" uniqKey="Foldiak P">P Földiák</name>
</author>
<author>
<name sortKey="Eeckman, Fh" uniqKey="Eeckman F">FH Eeckman</name>
</author>
<author>
<name sortKey="Bower, Jm" uniqKey="Bower J">JM Bower</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Ma, Wj" uniqKey="Ma W">WJ Ma</name>
</author>
<author>
<name sortKey="Beck, Jm" uniqKey="Beck J">JM Beck</name>
</author>
<author>
<name sortKey="Latham, Pe" uniqKey="Latham P">PE Latham</name>
</author>
<author>
<name sortKey="Pouget, A" uniqKey="Pouget A">A Pouget</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Makin, Jg" uniqKey="Makin J">JG Makin</name>
</author>
<author>
<name sortKey="Fellows, Mr" uniqKey="Fellows M">MR Fellows</name>
</author>
<author>
<name sortKey="Sabes, Pn" uniqKey="Sabes P">PN Sabes</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Van Beers, Rj" uniqKey="Van Beers R">RJ van Beers</name>
</author>
<author>
<name sortKey="Sittig, A" uniqKey="Sittig A">A Sittig</name>
</author>
<author>
<name sortKey="Van Der Gon, Jjd" uniqKey="Van Der Gon J">JJD van Der Gon</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Ernst, Mo" uniqKey="Ernst M">MO Ernst</name>
</author>
<author>
<name sortKey="Banks, Ms" uniqKey="Banks M">MS Banks</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Beck, Jm" uniqKey="Beck J">JM Beck</name>
</author>
<author>
<name sortKey="Latham, Pe" uniqKey="Latham P">PE Latham</name>
</author>
<author>
<name sortKey="Pouget, A" uniqKey="Pouget A">A Pouget</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Boerlin, M" uniqKey="Boerlin M">M Boerlin</name>
</author>
<author>
<name sortKey="Deneve, S" uniqKey="Deneve S">S Denève</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Wolpert, Dm" uniqKey="Wolpert D">DM Wolpert</name>
</author>
<author>
<name sortKey="Goodbody, Sj" uniqKey="Goodbody S">SJ Goodbody</name>
</author>
<author>
<name sortKey="Husain, M" uniqKey="Husain M">M Husain</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Mulliken, Gh" uniqKey="Mulliken G">GH Mulliken</name>
</author>
<author>
<name sortKey="Musallam, S" uniqKey="Musallam S">S Musallam</name>
</author>
<author>
<name sortKey="Andersen, Ra" uniqKey="Andersen R">RA Andersen</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Hinton, Ge" uniqKey="Hinton G">GE Hinton</name>
</author>
<author>
<name sortKey="Osindero, S" uniqKey="Osindero S">S Osindero</name>
</author>
<author>
<name sortKey="Teh, Yw" uniqKey="Teh Y">YW Teh</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Hinton, Ge" uniqKey="Hinton G">GE Hinton</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Scherpen, Jma" uniqKey="Scherpen J">JMA Scherpen</name>
</author>
<author>
<name sortKey="Levine, Ws" uniqKey="Levine W">WS Levine</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Hinton, Ge" uniqKey="Hinton G">GE Hinton</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Makin, Jg" uniqKey="Makin J">JG Makin</name>
</author>
<author>
<name sortKey="Fellows, Mr" uniqKey="Fellows M">MR Fellows</name>
</author>
<author>
<name sortKey="Sabes, Pn" uniqKey="Sabes P">PN Sabes</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Dayan, P" uniqKey="Dayan P">P Dayan</name>
</author>
<author>
<name sortKey="Abbott, Lf" uniqKey="Abbott L">LF Abbott</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Ghahramani, Z" uniqKey="Ghahramani Z">Z Ghahramani</name>
</author>
<author>
<name sortKey="Hinton, Ge" uniqKey="Hinton G">GE Hinton</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Cover, Tm" uniqKey="Cover T">TM Cover</name>
</author>
<author>
<name sortKey="Thomas, Ja" uniqKey="Thomas J">JA Thomas</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Zar, Jh" uniqKey="Zar J">JH Zar</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Andersen, Ra" uniqKey="Andersen R">RA Andersen</name>
</author>
<author>
<name sortKey="Snyder, Lh" uniqKey="Snyder L">LH Snyder</name>
</author>
<author>
<name sortKey="Bradley, Dc" uniqKey="Bradley D">DC Bradley</name>
</author>
<author>
<name sortKey="Xing, J" uniqKey="Xing J">J Xing</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Egger, Sw" uniqKey="Egger S">SW Egger</name>
</author>
<author>
<name sortKey="Britten, Kh" uniqKey="Britten K">KH Britten</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Kuenzle, H" uniqKey="Kuenzle H">H Kuenzle</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Ghosh, S" uniqKey="Ghosh S">S Ghosh</name>
</author>
<author>
<name sortKey="Brinkman, C" uniqKey="Brinkman C">C Brinkman</name>
</author>
<author>
<name sortKey="Porter, R" uniqKey="Porter R">R Porter</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Burchinskaya, Lf" uniqKey="Burchinskaya L">LF Burchinskaya</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Carracedo, Lm" uniqKey="Carracedo L">LM Carracedo</name>
</author>
<author>
<name sortKey="Kjeldsen, H" uniqKey="Kjeldsen H">H Kjeldsen</name>
</author>
<author>
<name sortKey="Cunnington, L" uniqKey="Cunnington L">L Cunnington</name>
</author>
<author>
<name sortKey="Jenkins, A" uniqKey="Jenkins A">a Jenkins</name>
</author>
<author>
<name sortKey="Schofield, I" uniqKey="Schofield I">I Schofield</name>
</author>
<author>
<name sortKey="Cunningham, Mo" uniqKey="Cunningham M">MO Cunningham</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Rao, Rpn" uniqKey="Rao R">RPN Rao</name>
</author>
<author>
<name sortKey="Ballard, Dh" uniqKey="Ballard D">DH Ballard</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Deneve, S" uniqKey="Deneve S">S Denève</name>
</author>
<author>
<name sortKey="Duhamel, Jr" uniqKey="Duhamel J">JR Duhamel</name>
</author>
<author>
<name sortKey="Pouget, A" uniqKey="Pouget A">A Pouget</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Huys, Qjm" uniqKey="Huys Q">QJM Huys</name>
</author>
<author>
<name sortKey="Zemel, Rs" uniqKey="Zemel R">RS Zemel</name>
</author>
<author>
<name sortKey="Natarajan, R" uniqKey="Natarajan R">R Natarajan</name>
</author>
<author>
<name sortKey="Dayan, P" uniqKey="Dayan P">P Dayan</name>
</author>
</analytic>
</biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Natarajan, R" uniqKey="Natarajan R">R Natarajan</name>
</author>
<author>
<name sortKey="Huys, Qjm" uniqKey="Huys Q">QJM Huys</name>
</author>
<author>
<name sortKey="Dayan, P" uniqKey="Dayan P">P Dayan</name>
</author>
<author>
<name sortKey="Zemel, Rs" uniqKey="Zemel R">RS Zemel</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Sutskever, I" uniqKey="Sutskever I">I Sutskever</name>
</author>
<author>
<name sortKey="Hinton, Ge" uniqKey="Hinton G">GE Hinton</name>
</author>
</analytic>
</biblStruct>
<biblStruct></biblStruct>
<biblStruct>
<analytic>
<author>
<name sortKey="Wolpert, Dm" uniqKey="Wolpert D">DM Wolpert</name>
</author>
<author>
<name sortKey="Ghahramani, Z" uniqKey="Ghahramani Z">Z Ghahramani</name>
</author>
<author>
<name sortKey="Jordan, Mi" uniqKey="Jordan M">MI Jordan</name>
</author>
</analytic>
</biblStruct>
</listBibl>
</div1>
</back>
</TEI>
</record>

Pour manipuler ce document sous Unix (Dilib)

EXPLOR_STEP=$WICRI_ROOT/Ticri/CIDE/explor/HapticV1/Data/Main/Merge
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 000760 | SxmlIndent | more

Ou

HfdSelect -h $EXPLOR_AREA/Data/Main/Merge/biblio.hfd -nk 000760 | SxmlIndent | more

Pour mettre un lien sur cette page dans le réseau Wicri

{{Explor lien
   |wiki=    Ticri/CIDE
   |area=    HapticV1
   |flux=    Main
   |étape=   Merge
   |type=    RBID
   |clé=     PMC:4634970
   |texte=   Learning to Estimate Dynamical State with Probabilistic Population Codes
}}

Pour générer des pages wiki

HfdIndexSelect -h $EXPLOR_AREA/Data/Main/Merge/RBID.i   -Sk "pubmed:26540152" \
       | HfdSelect -Kh $EXPLOR_AREA/Data/Main/Merge/biblio.hfd   \
       | NlmPubMed2Wicri -a HapticV1 

Wicri

This area was generated with Dilib version V0.6.23.
Data generation: Mon Jun 13 01:09:46 2016. Site generation: Wed Mar 6 09:54:07 2024